深入了解如何对 IPA 包进行有效的混淆处理

简介: 深入了解如何对 IPA 包进行有效的混淆处理

1、安装混淆工具

首先电脑上要安装 ipagurad 工具,官网链接:IpaGuard官网--IOS 应用程序ipa文件混淆加密保护工具

复制代码

2、生成混淆文件 由于混淆需要首先


打开要处理的 IPA 文件

第一项,填写我们需要重签名的 ipa 路径(当前导入的路径跟导出的路径)



设置签名使用的证书和描述文件

测试配置阶段使用开发测试证书,方便安装到手机测试混淆后 ipa 是否工作正常,测试 ok,最后准备上架的时候再改成发布证书和发布描述文件

如果 ipa 需要特殊的权限配置,可以使用权限配置文件

如果希望直接处理完后安装到设备,则勾选安装到设备选项 苹果手机数据线连接电脑即可识别设备,如果链接成功后没显示设备,则先安装 itunes 或者 ios 驱动。



开始 ios ipa 重签名

第四项点击开始处理,ipaguard 会自动尝试讲 ipa 安装到手机,如果是发布证书并且忘记关闭安装到设备选项,则安装可能会失败,但是 ipa 是正常生成的,可以用来上架。



导出的包会存储在一个文件目录下面。


3、开始混淆 在开始一切操作之前,由于我们的混淆操作会修改项目代码,因此先将我们的工程代码都提交到 git 仓库上面保存起来,混淆以后重置一下代码就可以恢复原状了。打开终端,进入我们的工程目录,粘贴如下代码

ppios-rename --analyze Payload/prizeClaw.app/prizeClaw -F '!ZX*' -F '!ZY*' -F '!NIM*' -F '!IJK*' -F '!UM*' -F '!Bugly*' -F '!JQ*' -F '!GeTuiSdk*' -F '!QMTV*' -F '!MTA*' -x 'utime' -x 'tm' -x '_tm' -x 'SmAntiFraud' -x 'Growing' -x 'SmOption' -x 'WXApi' -x 'PayResp' -x 'PayReq' -x 'MobClick' -x 'AlipaySDK' -x 'getDeviceId' -x 'SSZipArchive' -x 'SDCycleScrollView' -x 'FCFileManager' -x 'SVProgressHUD' -x 'MJRefreshNormalHeader' -x 'handleUrl' -x 'BButon' -x 'setBExternEdge' -x 'AddressViewController' -x 'NewAddressViewController' -x 'BaseWebViewController' -x 'payOrder' -x 'fromScheme' -x 'processOrderWithPaymentResult' -x 'standbyCallback' -x 'y_Y' -x 'partnerId' -x 'sendReq' -x 'x_X'

复制代码


将 Payload/prizeClaw.app/prizeClaw 改成你之前解压缩目录中的对应文件,比如你包名叫 test.ipa,那么就改成 Payload/test.app/test

运行这段代码

4、等上一步运行完成之后,粘贴如下代码

ppios-rename --obfuscate-sources

复制代码


5、混淆完毕以后,进行打包、流程跟之前打包一样,然后到处的 ipa 就是混淆以后的 ipa 了,可以用来提交 App Store

相关文章
|
算法 安全 Java
Java源码混淆,jar包加密,禁止反编译jar包
本文中介绍使用 XJar 对jar包进行加密。
2249 1
Java源码混淆,jar包加密,禁止反编译jar包
|
2月前
|
IDE Java 应用服务中间件
如何检查并解决类路径中的类库版本冲突问题
类路径中的类库版本冲突可能导致应用运行异常。解决方法包括:1. 使用依赖管理工具(如Maven、Gradle)检查依赖树,找出冲突的库;2. 调整依赖版本或排除特定版本;3. 清理缓存,重新构建项目。
73 2
|
4月前
|
缓存 Go
Go引用包版本更新但是被引用的包的子包并没有出现在vendor中的问题和解决方案
文章讨论了在Go模块项目中升级依赖包版本时遇到的子包未出现在vendor目录的问题,并提供了直接删除旧版本引用并重新执行`go mod vendor`的解决方案。
50 0
|
6月前
|
JavaScript 中间件
包代码
包代码
39 7
|
5月前
|
Java Maven 编译器
Java编译器注解运行和自动生成代码问题之Maven编译时设置生成的源码的文件夹路径问题如何解决
Java编译器注解运行和自动生成代码问题之Maven编译时设置生成的源码的文件夹路径问题如何解决
|
7月前
|
Java
如何解决使用若依前后端分离打包部署到服务器上后主包无法找到从包中的文件的问题?如何在 Java 代码中访问 jar 包中的资源文件?
如何解决使用若依前后端分离打包部署到服务器上后主包无法找到从包中的文件的问题?如何在 Java 代码中访问 jar 包中的资源文件?
646 0
|
机器学习/深度学习 数据可视化 数据挖掘
【学习】代码里引入的包都是啥东西
【学习】代码里引入的包都是啥东西
170 0
ProGuard:保留包名,混淆类
ProGuard:保留包名,混淆类
242 0
ProGuard:类混淆,类的指定函数保留
ProGuard:类混淆,类的指定函数保留
109 0
|
Java Android开发
AndroidStudio如何引入so包
AndroidStudio如何引入so包
AndroidStudio如何引入so包