JavaScript 混淆器(混亂器、加密)

JavaScript 的程式於頁面可以一覽無遺, 通常都是把 JavaScript code 抓下來, 最多加上 Formatter 就可以開始看(註: 某些 Compiler 會將變數名字取成短名字, 但是, 只要把那些變數名字猜出來, 還是不會太難)

Java 也有遇到同樣的問題 (將 Java 的 *.class decompile, 出來的 code 有些比原來排得還漂亮. XD), 於是就有 Java 的 Obfuscator(混淆器) 出現, 讓程式被 Decompile 後, 看起來是混亂成一團, 很難理解.

那 JavaScript 是否也有 混淆器 可以用呢?

JavaScript 混淆器(混亂器、加密) - jjencode

JavaScript 的 Hello World


alert("Hello, JavaScript")

JavaScript 經過 jjencode 的 Hello World


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

雖然混亂了, 但是容量也成長了N倍, 不過, 這混亂完的 code, 確實是完全都看不懂阿. XD

相關網頁


關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 News-Technology。將永久鏈結加入書籤。

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料