javascript deobfuscation - 这段代码的作用是什么?

时间:2015-02-19 17:03:50

标签: javascript malware deobfuscation

我知道一点JS,但在某些阶段'我无法理解这段代码在做什么:

代码:

<script>
n="3.5#3.5#51.5#50#15#19#49#54.5#48.5#57.5#53.5(...)"[((e)?"s":"")+"p"+"lit"]("a#"[((e)?"su":"")+"bstr"](1));

当然&#39; n&#39;是var,但是内部的字符串(稍后为eval()做准备)是如何编码的?#39; 我的意思是:真正的问题可能是:在这个字符串之后意味着什么:

[((e)?"s":"")+"p"+"lit"]("a#"[((e)?"su":"")+"bstr"](1));

感谢StackOverflow的任何建议。

1 个答案:

答案 0 :(得分:2)

如果e真实(并且我确定必须如此),那么

((e)?"s":"")+"p"+"lit"

变为

"split"

((e)?"su":"")+"bstr"

变为

"substr"

给我们

n="3.5#3.5#51.5#50#15#19#49#54.5#48.5#57.5#53.5(...)"["split"]("a#"["substr"](1));

...与

相同
n="3.5#3.5#51.5#50#15#19#49#54.5#48.5#57.5#53.5(...)".split("a#".substr(1));

...与

相同
n="3.5#3.5#51.5#50#15#19#49#54.5#48.5#57.5#53.5(...)".split("#");

...这给了我们n =

["3.5", "3.5", "51.5", "50", "15", "19", "49", "54.5", "48.5", "57.5", "53.5(...)"]