jjencode – Encode any JavaScript program using only symbols
这个东西能把Javascript加密成这样:
$=~[];$={___:++$,$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$:({}+"")[$],$_$:($[$]+"")[$],_$:++$,$$_:(!""+"")[$],$__:++$,$_$:++$,$__:({}+"")[$],$_:++$,$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$=($.$+"")[$.__$])+((!$)+"")[$._$]+($.__=$.$_[$.$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$=$.$+(!""+"")[$._$]+$.__+$._+$.$+$.$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$+"""+$.$_$_+(![]+"")[$._$_]+$.$$_+""+$.__$+$.$_+$._$_+$.__+"(""+$.__$+$.__$+$.___+$.$$_+(![]+"")[$._$_]+(![]+"")[$._$_]+$._$+","+$.$__+$.___+""+$.__$+$.__$+$._$_+$.$_$_+""+$.__$+$.$_+$.$_+$.$_$_+""+$.__$+$._$_+$._$+$.$__+""+$.__$+$.$_+$._$_+""+$.__$+$.$_$+$.__$+""+$.__$+$.$_+$.___+$.__+"""+$.$__+$.___+")"+""")())();
看起来很是蛋疼。第一次遇到这个东西是在那个该死的PDF里面。 经过一番观察,发现这个:
$.$($.$(...)())()
改写成
document.write($.$(...)())()
最后,在github上找到一个看起来比较正经的解密脚本:https://github.com/jacobsoo/Decoder-JJEncode。
js加密多层嵌套,字符串一字两字几字分开,名字和全局的相同,或者弄成函数….恶心死了…有啥好方法?
你说的,有点像JS.Proslikefan。 处理这个的时候,我是手动的,累死了。
我也是手动的,一个js9k行,累到爆。。
如果方便,样本可以给我发一个吗?
把结尾最后一对括号改成 toString() 运行一下就好了嘛。