Dep*_*ami 5 javascript obfuscation
我在我的网站源代码中找到了这段代码:
var _0xd28d=["\x5F\x30\x78\x33\x32\x6C\x73\x6A\x39","\x5F\x78\x6C\x74","\x5F\x78\x38\x66\x6B\x63\x33","\x66\x6C\x6F\x6F\x72","\x72\x61\x6E\x64\x6F\x6D","\x6C\x65\x6E\x67\x74\x68"];
var _0x9ae4=[_0xd28d[0],12,_0xd28d[1],_0xd28d[2],2,31,Math,_0xd28d[3]];
var _0xcd6e=[_0x9ae4[5],_0x9ae4[0],_0x9ae4[_0x9ae4[4]],_0x9ae4[3],4,_0xd28d[4]];
var _0xr6g0={};
_0xr6g0[_0xcd6e[2]]=0;
_0xr6g0[_0x9ae4[4]]=function (){
var _0x4c68x4={};
_0x4c68x4[_0xd28d[0]]=_0x9ae4[0];
do{
_0x4c68x4[_0x9ae4[0]]+=_0x4c68x4[_0xd28d[0]][_0x9ae4[6][_0x9ae4[7]](_0x9ae4[6][_0xcd6e[5]]()*_0x4c68x4[_0xd28d[0]][_0xd28d[5]])];
}while(_0x4c68x4[_0xd28d[0]][_0xd28d[5]]<_0xcd6e[0]);
_0x4c68x4[_0x4c68x4[_0x9ae4[0]]]=function (){
_0xr6g0[_0xcd6e[2]]++;
_0xr6g0[_0xcd6e[2]]%=_0x9ae4[1];
return _0x4c68x4[_0x4c68x4[_0x9ae4[0]]];
};
return _0x4c68x4[_0x4c68x4[_0xcd6e[1]]];
};
_0xr6g0[_0x9ae4[_0xcd6e[4]]]()()()()()()()()()()()()()()()();
Run Code Online (Sandbox Code Playgroud)
我在想,这是什么?它有什么作用?
代码本身没有任何用处也没有危险.
手动反混淆后:
count = 0;
func_a = function() {
func_b = function() {
count++;
count %= 12;
return func_b;
};
return func_b;
};
func_a()()()()()()()()()()()()()()()();
Run Code Online (Sandbox Code Playgroud)
看起来更像是保持浏览器忙碌的无效尝试.但非常有效,让人们好奇.
更新:修复了反混淆.
此代码中的十六进制正在创建一个带有文本“_0x32lsj9_xlt_x8fkc3floorrandomlength”的字符串
剩下的就是解析它以运行某种 JavaScript。
| 归档时间: |
|
| 查看次数: |
659 次 |
| 最近记录: |