优化 uniapp 发行操作:一键打包、混淆代码
优化 uniapp 发行操作:一键打包、混淆代码
第一步.在项目根目录下安装插件
安装完成后,javascript-obfuscator 就是一个独立的可执行命令了。
第二步:HbuilderX 点击发行按钮,打包代码到 dist 文件中
小程序发行后代码会自动打包到 unpackage/dist/build 文件中(生产环境)unpackage/dist/dev 文件是发行旁边的运行按钮打包出来的文件(开发环境)
第三步:创建一个运行脚本 1.在自己项目根目录下创建一个 build.bat 脚本文件(最好是在 unpackage/dist 文件根目录下创建)文件内容为:
D:javascript-obfuscator D:/work-project/zycx/zycx-develop/eam-weapp/eam-weapp/unpackage/dist/build/mp-weixin/pages/user --output D:/work-project/zycx/zycx-develop/eam-weapp/eam-weapp/unpackage/dist/build/mp-weixin/pages/user && javascript-obfuscator D:/work-project/zycx/zycx-develop/eam-weapp/eam-weapp/unpackage/dist/build/mp-weixin/pages/devicePages/common --output D:/work-project/zycx/zycx-develop/eam-weapp/eam-weapp/unpackage/dist/build/mp-weixin/pages/devicePages/common 以上代码表示混淆本地文件
D:/work-project/zycx/zycx-develop/eam-weapp/eam-weapp/unpackage/dist/build/mp-weixin/pages/user 输出到本地文件 D:/work-project/zycx/zycx-develop/eam-weapp/eam-weapp/unpackage/dist/build/mp-weixin/pages/user 并且混淆本地文件 D:/work-project/zycx/zycx-develop/eam-weapp/eam-weapp/unpackage/dist/build/mp-weixin/pages/devicePages/common 输出到本地文件 D:/work-project/zycx/zycx-develop/eam-weapp/eam-weapp/unpackage/dist/build/mp-weixin/pages/devicePages/common
ps:如果输入文件和混淆文件为同一个文件代表把混淆后的文件覆盖原本的文件
第四步:双击这个 build.bat 文件,输出混淆文件表示混淆成功。
混淆完成弹窗会自动关闭,查看混淆后的文件和混淆前的样子还是有区别的哦~
第五步:在 HbuilderX 点击发行后可以直接点击混淆,不需要执行文件以上的方法已经可以完成代码混淆了,但是是不是觉得有点麻烦呢,每次点完发行还要再去找到.bat 文件去执行。直接把执行.bat 文件代码写入 HbuilderX 中。点击【工具】=>【外部命令】=>【自定义外部命令】
把.bat 文件写入 command 中,保存
以上步骤完成后,你右击文件目录就可以看到混淆的命令拉,点击【混淆】。黑窗口就自动弹出混淆拉~,到这里就完成拉,然后你就可以看到微信开发者工具中你即将要上传的代码中部分被混淆了!
可以看出上述混淆工具混淆还是很繁琐的,我们推荐另外一个好用简单方便的小工具-ipaguard。
二、使用
class-dump 在 dump 从 appstore 上下载下来的 app 的时候,首先是需要对 app 进行砸壳处理的,具体的砸壳工具是 ipaguard、clutch 等等。
以 ipaguar 为例,
使用 ipaguard 来对程序进行加固
代码加固是进一步保护应用的一种方式,通常通过特定平台来对应用进行加固处理。
这边以 ipaguard 为例,目前还在免费阶段,想薅羊毛的快快试试。
Ipa Guard 是一款功能强大的 ipa 混淆工具,不需要 ios app 源码,直接对 ipa 文件进行混淆加密。可对 IOS ipa 文件的代码,代码库,资源文件等进行混淆保护。 可以根据设置对函数名、变量名、类名等关键代码进行重命名和混淆处理,降低代码的可读性,增加 ipa 破解反编译难度。可以对图片,资源,配置等进行修改名称,修改 md5。只要是 ipa 都可以,不限制 OC,Swift,Flutter,React Native,H5 类 app。
所以就要使用到混淆器,混淆器是把里面的代码变量等信息进行重命名,这样可读性会变得非常差,接着,
到这里,我们完成了对代码的混淆,但是还没有进行加固,防止反编译,所以,请往下看
然后导入自己的包就可以了,这里是流水式的走下来,所以只需要导入和导出就可以了,
添加单个文件,选择好刚刚混淆后的包,然后你做的事情就是等,等待上传完--加固完--下载完--已完成,当到已完成的时候,说明这里已经可以导出了,导出需要前面提到的自己创建的签名,这里可是会用到的,如果不用,则包安装包可能会出现问题
选择导出签名包,选择签名文件,输入密码,然后点击开始导出
导出的包是经过混淆,经过加固比较安全的包了
评论