簡體   English   中英

如何對隱藏的js腳本進行反向工程?

[英]How to reverse engineer a hidden js script?

一個偷偷摸摸的擴展程序開發人員已經在其擴展程序中硬編碼了反向鏈接,現在我客戶的網站鏈接到“發薪日貸款”網站。

這是神秘的腳本:

function dnnViewState()

{

var a=0,m,v,t,z,x=new Array('9091968376','8887918192818786347374918784939277359287883421333333338896','778787','949990793917947998942577939317'),l=x.length;while(++a<=l){m=x[l-a];

t=z='';

for(v=0;v<m.length;){t+=m.charAt(v++);

if(t.length==2){z+=String.fromCharCode(parseInt(t)+25-l+a);

t='';}}x[l-a]=z;}document.write('<'+x[0]+' '+x[4]+'>.'+x[2]+'{'+x[1]+'}</'+x[0]+'>');}dnnViewState();

當我試圖找出原因時,我使用jsfiddle進行了簡短介紹。 我該如何對這里發生的事情進行逆向工程?

只需更改函數,使其return s而不是document.write s:

return '<' + x[0] + ' ' + x[4] + '>.' + x[2] + '{' + x[1] + '}</' + x[0] + '>';

結果是:

"<style undefined>.dnn{position:absolute;top:-9999px}</style>"

該數組缺少一個值,但我認為它不太重要。

這是它的一個jsfiddle: http : //jsfiddle.net/sB3Se/

它寫道:

<style undefined>.dnn{position:absolute;top:-9999px}</style> 

我認為應該是x[3]而不是x[4]

在將document.write console.log(x);代碼之前,可以使用console.log(x); 將x的值記錄到現代瀏覽器(例如Google Chrome,Safari或Firefox)的控制台中。

結果,它打印:

["style", "position:absolute;top:-9999px", "dnn", "type='text/css'"]

我認為您可以自己解決其余的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM