這幾年,小程序、小游戲,非常火。
業(yè)內人都知道,小程序或小游戲,就是H5應用,就是html+JS。這類應用,反編譯很容易,網(wǎng)上就有很多方法教程。
對小程序反編譯之后,可輕松獲得源碼。稍加修改,便可出現(xiàn)一款“新”產(chǎn)品。
因此,雷同的應用非常非常多。
本文,親測反編譯一個測試用微信小程序,并給出防止被破解、被反編譯的辦法。
小程序反編譯
在電腦安裝夜神模擬器,并在其中裝好微信、RE管理器(rootexplorer)。
打開微信,任意使用一個小程序。
此時,該小程序文件便會緩存到本地。
使用rootexplorer找到其對應的wxapkg文件,并復制到電腦。如下圖:
然后在Node環(huán)境中使用unwxapkg進行解包操作,如下圖:
這時,小程序的JS源碼、資源等,便都被反編譯了出來,如下圖:
所有的文件,都可任意編輯。
JS源碼,可任意修改。
那么,出現(xiàn)雷同的應用也就不足為奇了。
小程序防破解
反編譯出的文件中重要的是js代碼,而JS代碼是可以進行加密防護的。加密后,即使得到了源碼,也無法修改。
例如使用JShaman加密一段JS代碼:
JS源碼:
透明的js代碼,功能非常清晰。
混淆加密后,代碼變的面目全非,邏輯不可理解、字符也全被加密:
除了JShaman,還可以使用Ty2y,也是專業(yè)的JS代碼混淆加密工具。
如此,即使小程序被反編譯、即使他人拿到了代碼,也無法對功能進行任何修改。小程序整體的安全性可得到極大的提升。
加密了JS源碼,即保護了產(chǎn)品、保護了版權。