Javascript 理解恶意js文件
我正在尝试我的手扭转一个恶意的js脚本,以找出它做什么。剧本很长,但有一部分我不完全理解,希望你能帮忙。我将只展示脚本的一小部分以及相关部分,以帮助解决此问题,从而避免任何人意外地运行它 以下行多次调用函数UU:Javascript 理解恶意js文件,javascript,reverse-engineering,Javascript,Reverse Engineering,我正在尝试我的手扭转一个恶意的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(
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;
}
问题:什么是函数L返回
我相信函数L试图混淆它的返回值,以便使分析更困难。我不确定是否需要将其转换为ASCII或十进制以准确完成函数UU中的字符串查找,这些是转义字符。在ASCII表中查找值相当容易,但您也可以
console.log
字符串以查看结果值
console.log(“\x63\x68\x61\x72A\x74”)代码>您是否查看了未混淆的“\x63\x68\x61\x72A\x74”
?因为这样做很简单:只需将“\x63\x68\x61\x72A\x74”
粘贴到您的控制台中,您就会看到它只不过是“charAt”
。在您的注释之后,我现在清楚地看到它正在调用字符串函数charAt!有时需要轻推才能看到显而易见的东西,谢谢你:)
function L(R)
{
return "\x63\x68\x61\x72A\x74";
}