[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
window["eval"]("XXX") 其實(shí)就是 window.eval("XXX")的另一種寫法。
我們要關(guān)心的是作為eval()方法的參數(shù)的代碼的結(jié)構(gòu)。
把這些代碼稍微整理一下(可用帶語(yǔ)法高亮的編輯器,也可通過(guò)批量替換字符進(jìn)行代碼的格式化,使成對(duì)的{}、''和""顯得突出),這樣就能夠看出代碼的大致結(jié)構(gòu)如下。
復(fù)制代碼 代碼如下:
function(j1,J2,picknick,La4,oddver,outputver)
{
oddver=function(picknick)
{
return(picknick<J2?"":oddver(parseInt(picknick/J2)))+((picknick=picknick%J2)>35?String.fromCharCode(picknick+29):picknick.toString(36))
}
if(true)
{
while(picknick--)outputver[oddver(picknick)]=La4[picknick]||oddver(picknick);
La4=[function(oddver){return outputver[oddver]}];
oddver=function()
{
return '/w+'
}
picknick=1
}
while(picknick--)if(La4[picknick])j1=j1.replace(new RegExp('/b'+oddver(picknick)+'/b','g'),La4[picknick]);
return j1
}(……)
那么整個(gè)代碼的結(jié)構(gòu)就相當(dāng)于這個(gè)樣子:
復(fù)制代碼 代碼如下:
<script>eval(function(a,b,c){alert(a);alert(b);alert(c)}(1,2,3))</script>
JavaScript技術(shù):javascript又一解密過(guò)程,推薦的,會(huì)這個(gè)基本上好多都能解決了第1/2頁(yè),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。