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






