为什么使用 ipaguard 命令行版本
- 命令行版本能更精确地控制符号修改后的样式,避免因随机混淆被判定为强混淆或审核被拒。
- 命令行版本提供符号映射文件,能够对应混淆前后的符号关系。当程序崩溃时,可通过映射关系定位原代码中引发崩溃的函数。
- 命令行版本可集成到自动化系统中,便于实现批量操作和 IPA 文件的集成处理。
- 命令行版本支持批量处理符号混淆,避免像界面版本那样逐个选择符号的繁琐操作,非常适合具备一定技术基础、能够编写脚本的高级用户。
- 命令行版本已对部分符号进行优化,自动将一些高风险符号设置为不混淆,并增强了对 Uniapp 的监测,减少崩溃情况。
ipaguard 命令行版本使用步骤
- 导出可混淆的符号
- 编辑修改导出的符号文件
- 混淆 IPA 时指定符号文件
- 对混淆后的 IPA 进行签名和测试
- 使用证书签名并提交上传
1. 导出符号文件
1ipaguard_cli parse game.ipa -o sym.json
game.ipa
请替换为要混淆的 IPA 文件路径sym.json
请替换为导出的符号文件存放路径
2. 编辑符号文件
使用任意文本编辑器或脚本编辑 sym.json
文件。
- 主要修改
refactorName
的值,要求长度不变且避免重复。 confuse
用于控制该符号是否被混淆处理,如发现某个符号不能混淆,可将其设为false
。- 其他字段为辅助信息,用于判断符号是否可修改。例如,
fileReferences
表示包含字符串addEventListener
的文件,若混淆可能导致应用无法正常工作。
sym.json
文件示例片段:
1[{
2 "confuse": false,
3 "name": "addEventListener:",
4 "refactorName": "addEventListener:",
5 "swiftReferences": [],
6 "types": [
7 "oc_method_name"
8 ],
9 "definedIns": [
10 "HBuilder"
11 ],
12 "fileReferences": [
13 "weexUniJs.js",
14 "PandoraApi.bundle\\all.js"
15 ],
16 "stringReferences": []
17 },
18 {
19 "confuse": true,
20 "name": "_isPreTTS",
21 "refactorName": "_isPreTTS",
22 "swiftReferences": [],
23 "types": [
24 "oc_method_name"
25 ],
26 "definedIns": [
27 "HBuilder"
28 ],
29 "fileReferences": [],
30 "stringReferences": []
31 }]
3. 指定符号文件混淆 IPA
1ipaguard_cli protect game.ipa -c sym.json --email ipaguard@gmail.com --image --js -o confused.ipa
-c
指定符号文件路径--image
指定是否修改图片 MD5--js
指定是否混淆 JS-o
指定混淆后的 IPA 存放路径--email
指定 ipaguard 登录账号(需 VIP1 及以上权限才能使用命令行混淆功能)
4. 对混淆后的 IPA 进行签名测试
1kxsign sign my.ipa -c cert.p12 -p certpassword -m a.mobileprovision -z out.ipa -i
my.ipa
为待签名的 IPA 文件-c
指定证书路径-p
指定证书密码-m
指定签名用的 mobileprovision 文件路径-z
指定签名后的 IPA 文件存放路径-i
是否安装到当前连接的手机上(如连接了测试设备且使用开发证书,可使用此参数直接安装。也可使用 克魔助手 等工具安装测试)
注意:混淆后的 IPA 必须进行安装测试,避免因崩溃导致审核被拒。测试时请使用开发类型证书,否则无法安装。
5. 签名 IPA 后上架
签名命令同步骤 4,但不要使用 -i
参数,且必须使用发布(Distribution)类型证书。
如在 Linux 或 Windows 系统上,可使用 开心上架 工具发布和上传应用。
- Ipaguard Interface Overview
- ipaguard cli usage
- Common Issues When Using IpaGuard
- iOS Certificate Types and Their Purposes
- iOS App Signing, Re-Signing, and Test Installation
- How to protect file security in an iOS app IPA
- How to protect the code inside an iOS IPA file
- Installing and Logging into Ipa Guard
- File Obfuscation Interface
- Code Obfuscation Interface
- 开始使用
- Start with IpaGuard
- Ipa Guard使用常见问题
- ios证书类型及其作用说明
- iOS应用程序的签名、重签名和安装测试
- 怎么保护苹果手机移动应用程序ipa中文件安全
- 怎么保护ios ipa文件中的代码
- 安装和登录Ipa Guard
- 文件混淆-界面介绍
- 代码混淆界面介绍
- Ipaguard界面概览