深入了解如何对 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

相关文章
|
3月前
|
Dart 安全 前端开发
【教程】混淆Dart 代码
代码混淆是一种将应用程序二进制文件转换为功能上等价,但人类难于阅读和理解的行为。在编译 Dart 代码时,混淆会隐藏函数和类的名称,并用其他符号替代每个符号,从而使攻击者难以进行逆向工程。
|
算法 安全 Java
Java源码混淆,jar包加密,禁止反编译jar包
本文中介绍使用 XJar 对jar包进行加密。
2023 1
Java源码混淆,jar包加密,禁止反编译jar包
|
2月前
|
JavaScript 中间件
包代码
包代码
29 7
|
3月前
混淆产生的问题
混淆产生的问题
33 10
|
3月前
|
安全 iOS开发 开发者
mPaaS问题之混淆按照文档配置报错如何解决
mPaaS配置是指在mPaaS平台上对移动应用进行的各项设置,以支持应用的定制化和优化运行;本合集将提供mPaaS配置的操作指南和最佳实践,助力开发者高效管理和调整移动应用的设置。
|
JSON 数据格式 Python
24.从入门到精通:__name__属性 dir() 函数 标准模块 包 从一个包中导入*
24.从入门到精通:__name__属性 dir() 函数 标准模块 包 从一个包中导入*
ProGuard:保留包名,混淆类
ProGuard:保留包名,混淆类
206 0
|
Python
Python语法之模块和包
这一节,我将为大家介绍模块和包: 在开发大型软件时,随着代码写的越来越多,如果将所有的代码都放在一个文件里,势必为以后的维护带来很大的困难。正如仓颉造字一样,仓颉是黄帝的史官,用祖传结绳记事的老办法记载史实。时间一长,那些大大小小,奇形怪状的绳结都记了些什么,连他自己也没法辨认了。于是,仓颉开始想新的办法,用什么方式可以帮助大家分辨清不同的事物,在仓颉的努力下,他创造了文字,解决了这个问题。而在 Python 中,为了编写易于维护的代码,我们会将代码拆分放到不同的文件里,这样每个文件包含的代码相对就会减少。在 Python 中,一个 .py 文件称为一个模块(Module)。
101 0
|
安全 Java Android开发
【Android 安装包优化】开启 ProGuard 混淆 ( 压缩 Shrink | 优化 Optimize | 混淆 Obfuscate | 预检 | 混淆文件编写 | 混淆前后对比 )
【Android 安装包优化】开启 ProGuard 混淆 ( 压缩 Shrink | 优化 Optimize | 混淆 Obfuscate | 预检 | 混淆文件编写 | 混淆前后对比 )
272 0
【Android 安装包优化】开启 ProGuard 混淆 ( 压缩 Shrink | 优化 Optimize | 混淆 Obfuscate | 预检 | 混淆文件编写 | 混淆前后对比 )
|
安全 开发工具 Android开发
【Android 安全】DEX 加密 ( Proguard 混淆 | 将混淆后的报错信息转为原始报错信息 | retrace.bat 命令执行目录 | 暴露更少信息 )(一)
【Android 安全】DEX 加密 ( Proguard 混淆 | 将混淆后的报错信息转为原始报错信息 | retrace.bat 命令执行目录 | 暴露更少信息 )(一)
296 0
【Android 安全】DEX 加密 ( Proguard 混淆 | 将混淆后的报错信息转为原始报错信息 | retrace.bat 命令执行目录 | 暴露更少信息 )(一)