Decoding JJEncode

jjencode – Encode any JavaScript program using only symbols 

这个东西能把Javascript加密成这样:

$=~[];$={___:++$,$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$:({}+"")[$],$_$:($[$]+"")[$],_$:++$,$$_:(!""+"")[$],$__:++$,$_$:++$,$__:({}+"")[$],$_:++$,$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$=($.$+"")[$.__$])+((!$)+"")[$._$]+($.__=$.$_[$.$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$=$.$+(!""+"")[$._$]+$.__+$._+$.$+$.$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$+"""+$.$_$_+(![]+"")[$._$_]+$.$$_+""+$.__$+$.$_+$._$_+$.__+"(""+$.__$+$.__$+$.___+$.$$_+(![]+"")[$._$_]+(![]+"")[$._$_]+$._$+","+$.$__+$.___+""+$.__$+$.__$+$._$_+$.$_$_+""+$.__$+$.$_+$.$_+$.$_$_+""+$.__$+$._$_+$._$+$.$__+""+$.__$+$.$_+$._$_+""+$.__$+$.$_$+$.__$+""+$.__$+$.$_+$.___+$.__+"""+$.$__+$.___+")"+""")())();

看起来很是蛋疼。第一次遇到这个东西是在那个该死的PDF里面。 经过一番观察,发现这个:

$.$($.$(...)())()

改写成

document.write($.$(...)())()

最后,在github上找到一个看起来比较正经的解密脚本:https://github.com/jacobsoo/Decoder-JJEncode

Decoding JJEncode》有5个想法

  1. keykernel

    js加密多层嵌套,字符串一字两字几字分开,名字和全局的相同,或者弄成函数….恶心死了…有啥好方法?

    回复
    1. TheCjw 文章作者

      你说的,有点像JS.Proslikefan。 处理这个的时候,我是手动的,累死了。

      回复
  2. ChiChou

    把结尾最后一对括号改成 toString() 运行一下就好了嘛。

    $=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"\""+$.$_$_+(![]+"")[$._$_]+$.$$$_+"\\"+$.__$+$.$$_+$._$_+$.__+"(\\\"\\"+$.__$+$.__$+$.___+$.$$$_+(![]+"")[$._$_]+(![]+"")[$._$_]+$._$+",\\"+$.$__+$.___+"\\"+$.__$+$.__$+$._$_+$.$_$_+"\\"+$.__$+$.$$_+$.$$_+$.$_$_+"\\"+$.__$+$._$_+$._$$+$.$$__+"\\"+$.__$+$.$$_+$._$_+"\\"+$.__$+$.$_$+$.__$+"\\"+$.__$+$.$$_+$.___+$.__+"\\\"\\"+$.$__+$.___+")"+"\"")()).toString()
    
    回复

发表评论