求神人给我解释下这段js是怎么执行的!!!为什么只能发22分的帖子啊,以前不是这样的

caziyo 2012-06-23 11:59:28

<script type="text/javascript">
eval(function(p, r, o, x, y, s) {
y = function(c) {
return (c < r ? '': y(parseInt(c / r))) + ((c = c % r) > 35 ? String.fromCharCode(c + 29) : c.toString(36))
};
if (!''.replace(/^/, String)) {
while (o--) {
s[y(o)] = x[o] || y(o)
}
x = [function(y) {
return s[y]
}];
y = function() {
return '\\w+'
};
o = 1
};
while (o--) {
if (x[o]) {
p = p.replace(new RegExp('\\b' + y(o) + '\\b', 'g'), x[o])
}
}
return p
} ('a=D^C;p=9;l=B^E;i=F^A;s=H^G;r=7;q=J^y;e=5;c=4;j=0;b=3;t=6;h=1;o=u^x;f=z^w;g=v^I;m=O^T;k=2;d=U^V;n=8;K=j^l;P=h^i;R=k^g;X=b^a;N=c^d;L=e^m;M=t^s;Q=r^q;W=n^o;S=p^f;', 60, 60, '^^^^^^^^^^ThreeSevenEight^Eight^One^Four4One^Seven^Five5Nine^NineSevenZero^Three^FiveFiveFour^Five^Six^OneZeroThree^FourOneFive^Two^SevenFiveSeven^Four^TwoOneSix^Zero^ThreeFiveTwo^Nine^3653^7117^8090^8909^9090^640^1337^5333^1080^6411^3129^5198^8085^6586^8118^4024^OneThreeOneTwo^Eight0SevenFour^EightSevenZeroOne^NineTwoFiveSeven^10852^NineOneTwoFive^Three3NineNine^ThreeNineSixThree^EightZeroEightEight^8000^6783^8088^Five0FourZero^Two2ThreeSix'.split('\u005e'), 0, {}))
</script>



然后再代码中是这样调用的

(Five0FourZero^SevenFiveSeven)

小弟初涉js,完全搞晕了。。。
求大神们指点一二 !
原始页面在这里http://spys.ru/en/
...全文
184 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanshikao 2012-06-25
  • 打赏
  • 举报
回复
js的语法是很麻烦
caziyo 2012-06-24
  • 打赏
  • 举报
回复
啊 还没有,版主删了一楼吧
在贴贴

<script type="text/javascript">
eval(function(p, r, o, x, y, s) {
y = function(c) {
return (c < r ? '': y(parseInt(c / r))) + ((c = c % r) > 35 ? String.fromCharCode(c + 29) : c.toString(36))
};
if (!''.replace(/^/, String)) {
while (o--) {
s[y(o)] = x[o] || y(o)
}
x = [function(y) {
return s[y]
}];
y = function() {
return '\\w+'
};
o = 1
};
while (o--) {
if (x[o]) {
p = p.replace(new RegExp('\\b' + y(o) + '\\b', 'g'), x[o])
}
}
return p
}
//调用function(p, r, o, x, y, s)开始
('a=D^C;p=9;l=B^E;i=F^A;s=H^G;r=7;q=J^y;e=5;c=4;j=0;b=3;t=6;h=1;o=u^x;f=z^w;g=v^I;m=O^T;k=2;d=U^V;n=8;K=j^l;P=h^i;R=k^g;X=b^a;N=c^d;L=e^m;M=t^s;Q=r^q;W=n^o;S=p^f;',
60,
60,
'^^^^^^^^^^ThreeSevenEight^Eight^One^Four4One^Seven^Five5Nine^NineSevenZero^Three^FiveFiveFour^Five^Six^OneZeroThree^FourOneFive^Two^SevenFiveSeven^Four^TwoOneSix^Zero^ThreeFiveTwo^Nine^3653^7117^8090^8909^9090^640^1337^5333^1080^6411^3129^5198^8085^6586^8118^4024^OneThreeOneTwo^Eight0SevenFour^EightSevenZeroOne^NineTwoFiveSeven^10852^NineOneTwoFive^Three3NineNine^ThreeNineSixThree^EightZeroEightEight^8000^6783^8088^Five0FourZero^Two2ThreeSix'.split('\u005e'),
0,
{})
//调用function(p, r, o, x, y, s)结束
) //eval函数结束
</script>
caziyo 2012-06-24
  • 打赏
  • 举报
回复
晕第一段js代码的最后一行没换行,重贴下

('a=D^C;p=9;l=B^E;i=F^A;s=H^G;r=7;q=J^y;e=5;c=4;j=0;b=3;t=6;h=1;o=u^x;f=z^w;g=v^I;m=O^T;k=2;d=U^V;n=8;K=j^l;P=h^i;R=k^g;X=b^a;N=c^d;L=e^m;M=t^s;Q=r^q;W=n^o;S=p^f;', 60, 60, '^^^^^^^^^^ThreeSevenEight^Eight^One^Four4One^Seven^Five5Nine^NineSevenZero^Three^FiveFiveFour^Five^Six^OneZeroThree^FourOneFive^Two^SevenFiveSeven^Four^TwoOneSix^Zero^ThreeFiveTwo^Nine^3653^7117^8090^8909^9090^640^1337^5333^1080^6411^3129^5198^8085^6586^8118^4024^OneThreeOneTwo^Eight0SevenFour^EightSevenZeroOne^NineTwoFiveSeven^10852^NineOneTwoFive^Three3NineNine^ThreeNineSixThree^EightZeroEightEight^8000^6783^8088^Five0FourZero^Two2ThreeSix'.split('\u005e'), 0, {}))
p2227 2012-06-24
  • 打赏
  • 举报
回复
就4楼而言,这个结构不难理解啊
function(p) {}是定义一个函数
function(p) {}('xxx') 是执行这个定义的函数
eval(function(p) {}('xxx')) 这个是把函数的返回值(应该是字符串)当作语句来执行
caziyo 2012-06-24
  • 打赏
  • 举报
回复
NND,js的语法真是蛋疼
caziyo 2012-06-24
  • 打赏
  • 举报
回复
(Five0FourZero^SevenFiveSeven)

这又算神马东东?就一个括号,
我确定这调用了函数,而不是普通的优先级括号
默认调用的是eval??
caziyo 2012-06-24
  • 打赏
  • 举报
回复
不是混淆的问题
关键是eval的调用问题

eval(function(p) {}('xxx'))

这算神马结构?
而且代码最后一个参数是{},这是啥东东??
  • 打赏
  • 举报
回复
你这代码是混淆过的吧?

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧