我正在尝试扭转恶意js脚本以找出它的作用。剧本很长,但有一部分我不完全理解,希望你能帮忙。我只会向相关部分显示脚本的一小部分,以帮助解决此问题,以避免任何人意外地运行它。
以下行多次调用函数UU:
ib[0] = O(Arw,UU(1017-980)+UU(19+81)+UU(32*3)+UU(51+25)+UU(4508/98+0)+UU(671-606)+UU(1677/43+0)+UU(631-522)+UU(5*23)+UU(7719/83-0)+UU(6+93)+UU(4*23));
功能UU具有以下设置:
function UU(s)
{
var Ea = ",!)Q ;Zrvz2^@HgS{I~1(O`ba'&l%$mqVCXG9#w0]d.-8W_34[kA5<n/RBDLsFN\\tpY6E7fy?oi|+\"xJ>ThUc=uKjeM:}*P";
var h=30090;
var yz=h+29060;
var mm=yz/650;
var PF=mm-60; 31
var i = Ea[L(s)](s-PF);
return i;
}
获得返回值的部分操作&#34; i&#34;调用函数L:
function L(R)
{
return "\x63\x68\x61\x72A\x74";
}
问题:什么是函数L返回?
我认为函数L试图模糊其返回值,以使分析更难。我不确定是否需要将其转换为ASCII或Decimal以准确完成函数UU中的字符串查找
答案 0 :(得分:1)
这些是转义字符。查找ASCII表中的值相当容易,但您也可以console.log
字符串查看结果值。
console.log("\x63\x68\x61\x72A\x74");
&#13;
评估为charAt
。