小程序|破解vs防护:打造不怕反编译的小程序

小程序|破解vs防护:打造不怕反编译的小程序

文章图片

小程序|破解vs防护:打造不怕反编译的小程序

文章图片

小程序|破解vs防护:打造不怕反编译的小程序

文章图片


当下 , 小程序、小游戏 , 非常火 。
业内人都知道 , 小程序或小游戏 , 就是H5应用 , 就是html+JS 。 这类应用 , 反编译很容易 , 网上有很多方案 。
反编译之后 , 可轻松获得源码 。 稍加修改 , 便可出现一款“新”产品 。
因此 , 雷同的应用非常非常多 。
本文 , 亲测反编译微信小程序 , 并给出防止被破解的办法 。



反编译:
在电脑安装夜神模拟器 , 并在其中装好微信、RE管理器(rootexplorer) 。
打开微信 , 任意使用一个小程序 。
此时 , 该小程序文件便会缓存到本地 。
使用rootexplorer找到其对应的wxapkg文件 , 并复制到电脑 。 如下图:



【小程序|破解vs防护:打造不怕反编译的小程序】然后在Node环境中使用unwxapkg之类的工具进行解包操作 , 如下图:



这时 , 小程序的源码、资源等 , 便都被反编译了出来 , 如下图:



所有的文件 , 都可任意编辑 。
源码 , 可任意修改 。
那么 , 出现雷同的应用也就不足为奇了 。
防破解:
反编译出的文件中 , 图片、音频、视频 , 无法采取保护手段 , 只能任人宰割 。
但最重要的js码 , 却是可以进行防护的 。
方法是:对js代码进行混淆加密 。
加密后的代码 , 即使他人得到 , 也无法进行分析、修改、盗用 。 以此达到防止小程序被克隆的目标 。
例如使用JShaman处理一段JS代码:
JS源码:



透明的js代码 , 功能非常清晰 。
混淆加密后 , 代码变的面目全非 , 逻辑不可理解、字符也全被加密:



如此 , 即使小程序被反编译、即使他人拿到了代码 , 也无法对功能进行任何修改 。 小程序整体的安全性可得到极大的提升 。
保护了源码 , 即保护了产品、保护了版权、保护了赚钱手段 。