JS混淆簡單參考:幾個實用的JS混淆工具。

1、 基本原理

混淆主要涉及兩種思路:安全

a.經過正則替換實現的混淆器;ide

b.經過語法樹替換實現的混淆器。工具

第一種實現成本低,可是效果也通常,適合對混淆要求不高的場景。第二種實現成本較高,可是更靈活,並且更安全,更適合對抗場景。網站

2、 工具

2.1 jascriptobfascator
包含在線版和桌面版,試用了下效果還行。編碼

桌面版:spa

v2-6501b0fff23a7af97dadc75885619520_hd.jpg

2.2  Uglifyjs(開源)blog

uglifyjs是一個開源的js 壓縮工具,主要用於壓縮,混淆功能並不強。這ip

Uglify混淆主要使用瞭如下方法(AST指抽象語法樹):
字符串解析成AST
解析AST,計算出做用域、變量名等
提供遍歷AST的方法,找到你想要修改的節點
提供把AST打印成源代碼的功能
提供美化代碼的功能
提供定位某個word位置的功能作用域

2.3  jshsman字符串

jshaman是一個商業級工具,看了不少社區的評論,這個目前是最好的,能夠在線無償使用,也能夠購買商業版。

地址:jshaman.com/
網站很乾淨,沒什麼煩人的廣告,用起來挺清爽。

v2-a3e6b00f4736f29beb5acfec30551981_hd.jpg

2.4  jsfuck

jsfuck 是一個開源的js 混淆工具,原理比較簡單,其實就是經過特定的字符串加上下標定位字符,再由這些字符替換源代碼,從而實現混淆。
官網:jsfuck.com/,混淆功能看上去比較強大,可是本質上我認爲是一種編碼,並且它讓會文件體積增大不少。對於太多的代碼不能混淆,混淆後會出錯。

3、 總結

建議:若是要作代碼壓縮,建議使用Uglifyjs,若是是爲了安全性,作js代碼混淆,建議使用jshaman。

相關文章
相關標籤/搜索