眾所周知,使用專業工具對JS代碼進行混淆加密時,是要對代碼進行語法、詞法分析、運算加密,并進行AST(抽象語法樹)重建的。代碼量越大,加密過程運算也就越復雜,加密耗時也就越長。
那么,如果遇到很大塊的JS代碼,還能進行混淆加密嗎?
今天,這里就有一個巨大的JS文件,代碼量達7.55MB,我們試試它是否可以被加密成功。
代碼體積,如圖:
行數更是達到了近20萬行!
如下圖所示:
注:這種代碼應該是由某些工具打包生成的代碼,如Webpack或游戲引擎等。
接下來,嘗試用JShaman對其進行混淆加密。
首先,啟動“JShaman本地部署增強版”:
啟動時增加參數是為擴大進程可用內存,因為JS混淆加密對內存有較大需求
訪問:
導入7MB的JS代碼:
混淆加密配置:
這里使用的是默認配置,配置選項越多,加密效果越好,但也需要更長的加密時間。
執行加密:
混淆加密進行中:
等待一會后,加密成功:
保存:
加密后的代碼大小是19.5MB 。
加密后的代碼:
本地化的JS混淆加密,因為有大量的運算,所以是很依賴CPU和內存的。
在這次測試中,JShaman是部署在筆記本電腦上,2019年的華為matebook13,配置是:i5、8核、8G內存。
配置詳情如下:
可見,JShaman作為一款優秀的JS代碼加密產品,是可以處理這種巨無霸代碼的。
而對于體積比較小的JS代碼,使用JShaman官網平臺的在線加密就可以了。