一:为什么要为 App 应用加固
来看下 腾讯开放平台 官方的解释说明
若应用不做任何安全防护,极易被病毒植入、广告替换、支付渠道篡改、钓鱼、信息劫持等,严重侵害开发者的利益。
App 加固后,可以对应用进行安全防护,防止应用分发后,被反编译、调试、盗版、破解、二次打包等威胁,维护开发者的利益。
当然,除了应用加固外,还有其它的安全解决方案如
安全检测(漏洞扫描)、渠道监控(正盗版分发情况监控)和安全 SDK(专业场景下的安全解决方案)等。
简单来说就是,如果你不希望自己参与开发的 App 是免费为别人写的,那就加固吧。
二:如何为 App 应用加固
目前市面上主流的加固方式我用过两种,一种是 360 加固保,另一种是ipaguard加固,本篇博客我将说下如何使用ipaguard加固为 App 做加固处理。
1. 选择要混淆保护的ipa文件
2. 选择要混淆的类名称
选择左侧的代码模块中的OC类名称或者Swift类名称,选择IPA种要混淆的二进制文件,然后勾选可执行文件代码里面的类名称。如果类太多可以使用搜索查看功能,ipaguard提供了级别选择,名称搜索,已选未选过滤来帮助配置混淆对象。
3. 选择要混淆保护的函数,方法
选择左侧代码模块下的oc方法或者swift方法,点击右侧的选择文件选取一个可执行二进制文件,勾选需要混淆保护的方法和函数。ipaguard提供了风险等级过滤,名称搜索过滤,根据类名称过滤条件来辅助配置混淆目标
4. 配置签名证书
点击左侧的签名配置,设置ios签名证书,描述文件等信息。测试阶段用开发证书,这样可以方便安装到测试机子上检验是否测试后的app运行正常;最终配置测试ok,发布的时候再改成发布证书,混淆配置完后可以提交上架。
5. 混淆和测试运行
点击开始处理按钮,ipaguard将对ipa中选中的内容进行混淆保护,并安装混淆好的ipa到手机上,运行如果ok,点击保存配置,下次直接加载配置即可,无需每次配置要混淆的内容。
ipaguard在做混淆这块还是做的很人性化的,混淆目标可控,强度可控,极大地简化了配置混淆内容的过程,可视化的操作也非常的方便。