原理簡單的不能再簡單,就是替換變量,用轉義字符替換你的字符串,把整個js變成一個字符串,然后隨便加密替換,最后用eval來解釋他。最后把整個js文件壓縮下,沒有注釋,沒有換行,沒有空格,一般人都會看到吐血。
說了半天不夠爽,總不能讓大家手動加密和替換吧,以下是我的御用在線加密工具,jQuery就是用其中一個加密和壓縮的:
http://www.javascriptobfuscator.com/Default.aspx
http://dean.edwards.name/packer/
這2網站只提供加密,不提供解密,其實你解密了看得人也很痛苦,沒有注釋,沒有格式,全是abcd這樣無意義的變量,真有心想學你js的人,那就讓他學吧。你如果真的變態,那你不妨兩邊混合加密幾次,保準沒人看得懂,不過估計瀏覽器解釋起來也挺費勁的。
特別友情提醒:meebe.net
1.加密后記著留住你原本的js文件,不要到時候改bug都改不了了。
2.加密后如果出現運行不了,請把你加密前的文件每次函數結束都加上";",因為去除換行后,瀏覽器解釋器沒碰到";"有時候會報錯。如果加密后有錯,請務必多加幾個";"在每個語句結束或者定義結束的時候。
轉自 meebe.net