[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
window["eval"]("XXX") 其實就是 window.eval("XXX")的另一種寫法。
我們要關心的是作為eval()方法的參數的代碼的結構。
把這些代碼稍微整理一下(可用帶語法高亮的編輯器,也可通過批量替換字符進行代碼的格式化,使成對的{}、''和""顯得突出),這樣就能夠看出代碼的大致結構如下。
復制代碼 代碼如下:
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
}(……)
那么整個代碼的結構就相當于這個樣子:
復制代碼 代碼如下:
<script>eval(function(a,b,c){alert(a);alert(b);alert(c)}(1,2,3))</script>
JavaScript技術:javascript又一解密過程,推薦的,會這個基本上好多都能解決了第1/2頁,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。