首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对隐藏的js脚本进行逆向工程?

如何对隐藏的js脚本进行逆向工程?
EN

Stack Overflow用户
提问于 2013-03-06 10:15:45
回答 3查看 2K关注 0票数 2

一个偷偷摸摸的扩展开发人员在他的扩展中硬编码了一个反向链接,现在我客户的网站链接到了一个“发薪日贷款”网站。

这是一个神秘的脚本:

代码语言:javascript
复制
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找不到答案。我怎样才能对这里发生的事情进行逆向工程呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-06 10:19:10

只需更改函数,使其returns而不是document.writes:

代码语言:javascript
复制
return '<' + x[0] + ' ' + x[4] + '>.' + x[2] + '{' + x[1] + '}</' + x[0] + '>';

结果是:

代码语言:javascript
复制
"<style undefined>.dnn{position:absolute;top:-9999px}</style>"

该数组缺少一个值,但我不认为它太重要。

票数 5
EN

Stack Overflow用户

发布于 2013-03-06 10:20:08

下面是它的一个jsfiddle:http://jsfiddle.net/sB3Se/

它写道:

代码语言:javascript
复制
<style undefined>.dnn{position:absolute;top:-9999px}</style> 
票数 1
EN

Stack Overflow用户

发布于 2013-03-06 10:24:10

我认为应该是x[3]而不是x[4]

在代码中使用document.write之前,您可以使用console.log(x);将x的值记录到现代浏览器的控制台中,例如Google Chrome、Safari或Firefox。

因此,它会打印:

代码语言:javascript
复制
["style", "position:absolute;top:-9999px", "dnn", "type='text/css'"]

我想你可以自己想出剩下的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15237789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档