本文整合原来的静态逆向、Mach-O、plist、签名权限、实践项目和报告模板内容。重点是建立静态证据链:文件结构、配置、签名、二进制、符号、字符串、类方法和风险假设。
1. 静态逆向的工作边界
静态逆向回答"App 包里有什么、代码大概怎么组织、哪里可能有风险"。它不能单独证明业务漏洞,必须和动态验证、抓包、LLDB 或 Frida 结合。
| 问题 | 证据来源 | 工具 | 输出 |
|---|---|---|---|
| App 是谁 | Bundle ID、版本、Team ID、签名 | plutil、codesign |
基本信息 |
| 有哪些能力 | Entitlements、URL Scheme、ATS、权限描述 | plutil、codesign |
权限和入口清单 |
| 二进制结构 | Mach-O header、load commands、segments | otool、MachOView |
Mach-O 结构记录 |
| 依赖什么库 | Framework、dylib、SDK | otool -L |
依赖库清单 |
| 有哪些线索 | 字符串、URL、key、selector | strings、Hopper |
线索表 |
| 有哪些类方法 | Objective-C metadata、Swift symbols | class-dump、nm、swift-demangle |
类方法清单 |
| 风险在哪里 | 本地判断、硬编码、WebView、Keychain、证书 | 综合分析 | 风险假设 |
2. IPA 解包与基础信息
bash
unzip -q IOSReverseDemo.ipa -d ipa-out
APP_DIR="ipa-out/Payload/IOSReverseDemo.app"
BIN="$APP_DIR/IOSReverseDemo"
find "$APP_DIR" -maxdepth 2 -type f | sort
plutil -p "$APP_DIR/Info.plist"
codesign -dv "$APP_DIR" 2>&1
codesign -d --entitlements :- "$APP_DIR"
输出记录:
markdown
## IPA 基本信息
- IPA SHA256:
- Bundle ID:
- Version:
- Build:
- Team ID:
- 主二进制:
- Framework 数量:
- Extension:
- URL Scheme:
- Entitlements:
3. Info.plist 审计
| 检查项 | 说明 | 风险判断 | Demo/验证 |
|---|---|---|---|
CFBundleIdentifier |
Bundle ID | 与签名、后端配置绑定 | 记录 |
CFBundleURLTypes |
URL Scheme | 外部可拉起 App | 构造 URL 触发 |
LSApplicationQueriesSchemes |
可查询其他 App | 可能暴露业务依赖 | 检查清单 |
NSAppTransportSecurity |
ATS 网络策略 | 允许明文或例外域名 | 抓包验证 |
| 权限描述 | 相机、定位、相册、麦克风等 | 权限使用是否合理 | 与功能对照 |
| Associated Domains | Universal Link、WebCredential | 跳转和登录能力 | 检查域名 |
| Background Modes | 后台能力 | 后台任务和数据传输 | 动态观察 |
URL Scheme 验证示例:
bash
xcrun simctl openurl booted "iosreversedemo://open/vip?userId=10002"
风险判断要点:能被拉起不等于漏洞,关键看是否绕过登录、是否信任 URL 参数、是否执行支付/会员/账号绑定等敏感动作。
4. Entitlements 审计
bash
codesign -d --entitlements :- "$APP_DIR" > entitlements.plist
plutil -p entitlements.plist
| Entitlement | 含义 | 安全关注 |
|---|---|---|
application-identifier |
Team ID + Bundle ID | 与服务端配置、Keychain 访问相关 |
keychain-access-groups |
Keychain 访问组 | 是否和其他 App 共享凭据 |
com.apple.security.application-groups |
App Groups | 共享容器数据 |
aps-environment |
Push 环境 | 推送 token 和环境 |
com.apple.developer.associated-domains |
Universal Link、WebCredential | 域名归属和跳转 |
get-task-allow |
是否允许调试 | release 不应为 true |
get-task-allow=true 在测试包中常见,但正式包不应开启。报告中要区分 debug/ad-hoc/testflight/appstore 包。
5. Mach-O 基础分析
5.1 文件类型和架构
bash
file "$BIN"
lipo -info "$BIN"
otool -hv "$BIN"
| 知识点 | 核心理解 | 验证 |
|---|---|---|
| Mach-O | iOS/macOS 可执行文件格式 | file、otool -h |
| Fat Binary | 一个文件包含多架构 slice | lipo -info |
| ARM64 | 真机常见架构 | file 输出 |
| Simulator | x86_64 或 arm64 模拟器 | 不要和真机包混淆 |
5.2 Load Commands
bash
otool -l "$BIN" > load-commands.txt
重点关注:
| Load Command | 用途 | 逆向意义 |
|---|---|---|
LC_SEGMENT_64 |
段和节 | __TEXT、__DATA、__cstring |
LC_LOAD_DYLIB |
依赖动态库 | 第三方 SDK、系统库 |
LC_CODE_SIGNATURE |
代码签名数据 | 完整性和签名 |
LC_ENCRYPTION_INFO_64 |
App Store 加密信息 | 是否加密 |
LC_MAIN |
程序入口 | 启动入口 |
5.3 依赖库
bash
otool -L "$BIN" > dylibs.txt
| 依赖类型 | 关注点 |
|---|---|
| 网络库 | Alamofire、AFNetworking、URLSession 包装 |
| 加密库 | CommonCrypto、OpenSSL、CryptoKit |
| 风控 SDK | 设备指纹、反作弊、统计 |
| 支付 SDK | IAP、三方支付 |
| WebView | WebKit、Hybrid 容器 |
6. 符号、字符串和类方法
6.1 strings
bash
strings "$BIN" | grep -Ei "vip|token|secret|sign|api|jail|frida|debug|keychain"
字符串要追引用,不能只列命中。比如 vip 可能是 UI 文案,也可能是关键接口或本地判断。
6.2 nm 和 Swift demangle
bash
nm -m "$BIN" > symbols.txt
nm "$BIN" | swift-demangle | grep -Ei "vip|login|sign|token"
| 线索 | 用途 |
|---|---|
Objective-C -[Class method:] |
类方法入口 |
| Swift demangled symbol | Swift 类型和函数 |
| C 函数名 | Native 检测或加密 |
| Undefined symbols | 外部依赖和系统 API |
6.3 class-dump
如果二进制保留 Objective-C metadata,可尝试:
bash
class-dump -H "$BIN" -o headers
产出用于快速了解类和方法,但不能替代 Hopper/Ghidra 和动态验证。
7. Hopper/Ghidra 分析流程
- 导入主二进制。
- 查看字符串、类名、方法名和导入函数。
- 搜索
vip、login、sign、jailbreak、frida、ptrace。 - 查看交叉引用。
- 给关键函数重命名。
- 输出函数地址、伪代码、调用关系。
- 设计 Frida 或 LLDB 验证计划。
报告记录模板:
markdown
## 关键函数记录
- 函数/方法:
- 地址:
- 触发入口:
- 字符串引用:
- 伪代码判断:
- 风险假设:
- 动态验证方式:
8. 静态风险知识点
| 风险 | 静态证据 | 需要动态验证 | 修复方向 |
|---|---|---|---|
| 本地会员判断 | isVip、premium、member |
Hook 后服务端是否拒绝 | 服务端授权 |
| 硬编码密钥 | secret、salt、client_key |
是否能复现签名 | 服务端密钥和短期凭证 |
| ATS 放宽 | NSAllowsArbitraryLoads |
是否可抓明文或弱 TLS | 严格 ATS |
| URL Scheme 未鉴权 | plist scheme | 是否绕过登录 | 入口鉴权 |
| Keychain 组过宽 | entitlements | 是否共享敏感凭据 | 最小化 access group |
| WebView JSBridge | addScriptMessageHandler |
是否可被任意域调用 | 域名白名单和参数校验 |
| 越狱检测单点 | jailbreak、/Applications/Cydia.app |
Hook 后是否影响核心 | 风险评分 |
| 调试开关 | get-task-allow=true |
release 是否仍开启 | 正式包关闭 |
9. 静态分析 Demo 任务
- 解包 IPA。
- 提取 plist、entitlements、签名信息。
- 记录主二进制 hash 和架构。
- 使用
otool -L输出依赖。 - 使用
strings搜索关键线索。 - 使用
nm和swift-demangle查看符号。 - 使用 Hopper/Ghidra 定位
isVip、sign、nativeCheck。 - 输出静态风险假设表。
10. 交付物
text
case-ios-demo/
02-static/
ipa-basic.md
info-plist.md
entitlements.md
mach-o-header.txt
dylibs.txt
strings-clues.md
symbols.md
hopper-notes.md
static-risk-hypothesis.md
11. 核心知识点表
| 知识点 | 核心理解 | Demo/验证 | 常见误区 |
|---|---|---|---|
| Info.plist | App 元数据和入口配置 | plutil -p |
只看 UI 不看入口 |
| Entitlements | 系统能力授权 | codesign -d --entitlements |
忽略 Keychain Group |
| Mach-O Header | 二进制格式和架构 | otool -hv |
混淆真机和模拟器包 |
| Load Commands | 动态库、段、签名、加密信息 | otool -l |
只看字符串 |
| Symbols | 类、函数和外部依赖 | nm、swift-demangle |
无符号就停止 |
| Strings | URL、key、selector、检测线索 | strings |
字符串存在就判漏洞 |
| Hopper/Ghidra | 函数和控制流分析 | 交叉引用 | 伪代码当源码 |
| class-dump | Objective-C 接口恢复 | 导出 headers | 不适用于所有 Swift |
| URL Scheme | 外部拉起入口 | simctl openurl |
能打开就判高危 |
| ATS | 网络安全策略 | plist + 抓包 | HTTPS 等于安全 |
12. 静态分析报告结构
markdown
# iOS Static Analysis Report
## 样本信息
- IPA:
- SHA256:
- Bundle ID:
- Version:
- Team ID:
## plist 和 Entitlements
| 项目 | 值 | 风险 |
## Mach-O
| 项目 | 结果 |
## 字符串和符号
| 线索 | 来源 | 可能含义 | 后续验证 |
## 风险假设
| 编号 | 风险 | 静态证据 | 动态验证计划 |
13. 静态风险判断标准
| 证据 | 不能直接说明 | 需要补充 |
|---|---|---|
发现 isVip 字符串 |
不能直接说明可越权 | Hook 后访问服务端资源 |
发现 secret 字符串 |
不能直接说明密钥有效 | 复现签名或 Hook 使用点 |
| 发现 URL Scheme | 不能直接说明未授权访问 | 构造 URL 并检查登录态 |
| 发现证书文件 | 不能直接说明 pinning 有效 | 抓包和错误路径复测 |
| 发现越狱检测字符串 | 不能说明防护有效 | Hook 检测后看核心接口 |
get-task-allow=true |
测试包中可能正常 | 确认包类型和发布渠道 |
14. 常见问题
| 问题 | 原因 | 处理 |
|---|---|---|
strings 命中太多 |
字符串无上下文 | 追交叉引用或结合 Hopper |
nm 没有有用符号 |
符号被 strip | 用字符串、导入函数、动态验证 |
| Swift 符号不可读 | name mangling | 使用 swift-demangle |
| Hopper 伪代码复杂 | 优化、泛型、控制流复杂 | 先看输入输出和关键分支 |
| URL Scheme 很多 | 三方 SDK 或历史遗留 | 逐个判断是否能触发敏感行为 |
| ATS 配置例外 | 可能是业务需要 | 结合抓包和域名范围判断 |
15. 静态逆向知识点详解
| 知识点 | 核心理解 | Demo/验证 | 常见误区 |
|---|---|---|---|
| 样本哈希 | hash 是样本唯一证据,后续地址、符号和结论都依赖它。 | 记录 IPA、主二进制、Framework hash。 | 报告不写 hash,复测无法确认样本。 |
CFBundleExecutable |
它决定主二进制名称,不一定等于 App 显示名。 | 从 Info.plist 读取并拼出二进制路径。 | 手工猜二进制名。 |
| URL Scheme 审计 | Scheme 是外部入口,必须看参数是否被信任。 | 构造 Scheme 打开敏感页面。 | 能打开页面就判高危。 |
| ATS 审计 | ATS 例外可能降低网络安全基线。 | 检查任意明文、例外域名、TLS 要求。 | 只看 HTTPS 字面。 |
| 权限文案 | 权限文案反映 App 使用能力和隐私范围。 | 检查相机、定位、相册、蓝牙、麦克风文案。 | 只看系统弹窗不看 plist。 |
| Entitlements 审计 | Entitlements 决定 Keychain Group、App Groups、Associated Domains。 | 导出 entitlements 并逐项说明。 | 只记录不解释安全影响。 |
get-task-allow |
该字段影响是否允许调试,测试包和正式包要求不同。 | 检查 release 是否为 false。 | 测试包开启就直接判漏洞。 |
| App Groups | 共享容器可能让多个 App 或 Extension 共用数据。 | 检查 group 标识和共享文件。 | 忽略 Extension 数据共享。 |
| Keychain Groups | Keychain 分组决定凭据共享范围。 | 核对 access group 是否最小化。 | 所有 token 都放默认组就安全。 |
| Associated Domains | 关联域影响 Universal Link 和 WebCredential。 | 检查域名是否归属业务。 | 只审 URL Scheme。 |
| Mach-O Header | Header 提供架构、文件类型和基本信息。 | 执行 otool -hv。 |
混淆模拟器和真机架构。 |
| Load Commands | load commands 描述段、依赖、签名、入口和加密信息。 | 执行 otool -l 并标注关键命令。 |
只用 strings 分析。 |
LC_LOAD_DYLIB |
依赖库能暴露 SDK、网络库、风控和支付模块。 | 执行 otool -L。 |
忽略第三方 Framework。 |
LC_CODE_SIGNATURE |
签名信息用于完整性和运行授权。 | 在 load commands 中定位。 | 认为签名就是加密。 |
LC_ENCRYPTION_INFO_64 |
App Store 包可能存在加密标记。 | 检查 cryptid。 | 不区分商店包和测试包。 |
| Segments | __TEXT、__DATA 等段反映代码和数据布局。 |
在 Hopper/Ghidra 中查看。 | 不知道字符串和常量所在区域。 |
__cstring |
常量字符串常在该区域,是重要线索来源。 | 搜索 URL、secret、jailbreak、frida。 | 字符串命中不追引用。 |
| Objective-C metadata | ObjC 类名、方法名和 selector 常可恢复。 | class-dump 或 Hopper 查看。 | 认为所有名字都混淆。 |
| Swift symbols | Swift 符号需要 demangle 才可读。 | 用 swift-demangle 还原。 |
看到长符号就跳过。 |
| Undefined Symbols | 外部符号说明调用系统 API 和库函数。 | 查 SecItemAdd、CC_SHA256、NSURLSession。 |
只看自定义函数。 |
| 字符串交叉引用 | 字符串必须追到使用函数才有证据价值。 | 在 Hopper/Ghidra 查看 XREF。 | 只列关键词命中数量。 |
| 硬编码密钥 | 长期密钥在客户端会被提取或运行时观察。 | 搜索 secret/key/salt 并追引用。 | 看到变量名 key 就直接判高危。 |
| 本地权益判断 | 客户端判断只能控制展示,核心权益要看服务端。 | 定位 isVip 并计划动态验证。 |
静态发现 isVip 就判越权。 |
| WebView 静态审计 | JSBridge 和任意 URL 加载是混合应用高风险点。 | 搜索 WKScriptMessageHandler、evaluateJavaScript。 |
看到 WebView 就判高危。 |
| 证书绑定线索 | 证书文件、公钥 pin、TrustKit/URLSession delegate 都是线索。 | 搜索 certificate、pin、TrustKit。 | 找不到证书文件就认为没有 pinning。 |
| 越狱检测线索 | 路径、URL Scheme、动态库和系统调用可作为检测证据。 | 搜索 Cydia、Substrate、jailbreak、ptrace。 | 看到检测就认为防护有效。 |
| Hopper 伪代码 | 伪代码用于理解控制流,不是原始源码。 | 记录地址、函数名、引用和判断分支。 | 复制伪代码当源码修复。 |
| 静态风险假设 | 静态分析产出的是待验证假设。 | 为每条风险写动态验证方式。 | 静态报告不写下一步验证。 |
16. 静态分析实践矩阵
| 场景 | 操作 | 验收标准 |
|---|---|---|
| plist 入口分析 | 提取 URL Scheme、ATS、权限文案和后台模式。 | 输出入口和配置风险表。 |
| entitlements 分析 | 提取 Keychain Group、App Groups、Associated Domains。 | 输出能力清单和风险说明。 |
| Mach-O 结构分析 | 输出 header、load commands、依赖库和段信息。 | 说明二进制组成。 |
| 符号分析 | 结合 nm、swift-demangle、class-dump。 |
输出类、方法、函数线索。 |
| 字符串分析 | 搜索业务、网络、密钥、防护相关关键词并追引用。 | 形成风险假设表。 |
17. 静态分析风险判断
| 判断点 | 要求 |
|---|---|
| 1 | 先在自建 IOSReverseDemo 中触发功能,再保存命令输出、截图或日志。 |
| 2 | 同时记录静态证据和动态证据,避免只凭单一工具结论。 |
| 3 | 如果涉及服务端接口,必须保存请求、响应、账号状态和服务端期望行为。 |
| 4 | 如果验证失败,写明失败原因、设备限制、包类型限制或缺少权限。 |
以上内容用于补充正式知识点和验证边界,不作为过程标签。阅读时应把每个知识点落实到 Demo、工具输出和报告证据中。
18. 静态逆向专题知识库
本节继续补充正式知识内容。每个条目都围绕概念、重要性、Demo 验证、风险判断、修复边界和常见误区展开。
1. IPA SHA256
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
2. 主二进制 SHA256
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
3. Info.plist 审计
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
4. Entitlements 审计
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
5. URL Scheme 参数
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
6. ATS 例外域名
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
7. Associated Domains
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
8. Keychain Groups
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
9. App Groups
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
10. get-task-allow
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
11. Mach-O Header
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
12. Fat Binary
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
13. ARM64 Slice
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
14. Load Commands
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
15. LC_SEGMENT_64
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
16. LC_LOAD_DYLIB
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
17. LC_CODE_SIGNATURE
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
18. LC_ENCRYPTION_INFO_64
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
19. __TEXT 段
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
20. __DATA 段
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
21. __cstring 字符串
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
22. otool -L 依赖库
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
23. nm 符号
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
24. swift-demangle
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
25. class-dump
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
26. Objective-C Metadata
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
27. Swift Metadata
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
28. 字符串交叉引用
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
29. Hopper 伪代码
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
30. Ghidra 函数图
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
31. 硬编码密钥
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
32. 本地会员判断
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
33. 请求签名函数
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
34. 证书绑定线索
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
35. Keychain API 线索
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
36. WebView JSBridge
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
37. URLSession 线索
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
38. Alamofire 线索
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
39. 越狱检测字符串
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
40. 反调试符号
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
41. Frida 检测字符串
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
42. 动态库注入线索
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
43. 资源文件审计
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
44. 证书文件审计
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
45. 配置文件审计
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
46. Extension 分析
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
47. Widget 分析
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
48. 静态风险假设
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
49. 动态验证计划
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
50. 报告证据链
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
51. IPA SHA256
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
52. 主二进制 SHA256
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
53. Info.plist 审计
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
54. Entitlements 审计
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
55. URL Scheme 参数
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
56. ATS 例外域名
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
57. Associated Domains
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
58. Keychain Groups
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
59. App Groups
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
60. get-task-allow
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
61. Mach-O Header
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
62. Fat Binary
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
63. ARM64 Slice
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
64. Load Commands
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
65. LC_SEGMENT_64
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
66. LC_LOAD_DYLIB
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
67. LC_CODE_SIGNATURE
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
68. LC_ENCRYPTION_INFO_64
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
69. __TEXT 段
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
70. __DATA 段
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
71. __cstring 字符串
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
72. otool -L 依赖库
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
73. nm 符号
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
74. swift-demangle
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
75. class-dump
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
76. Objective-C Metadata
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
77. Swift Metadata
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
78. 字符串交叉引用
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
79. Hopper 伪代码
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
80. Ghidra 函数图
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
81. 硬编码密钥
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
82. 本地会员判断
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
83. 请求签名函数
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
84. 证书绑定线索
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
85. Keychain API 线索
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
86. WebView JSBridge
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
87. URLSession 线索
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
88. Alamofire 线索
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
89. 越狱检测字符串
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
90. 反调试符号
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
91. Frida 检测字符串
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
92. 动态库注入线索
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
93. 资源文件审计
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
19. 静态分析补充知识点
| 知识点 | 说明 | 验证方式 |
|---|---|---|
| 符号缺失处理 | 用于保证 iOS 逆向分析过程可复现、可审计、可交付,避免结论只停留在工具截图。 | 在 case-ios-demo 中保存对应记录,并在最终报告中引用。 |
| 字符串误报 | 用于保证 iOS 逆向分析过程可复现、可审计、可交付,避免结论只停留在工具截图。 | 在 case-ios-demo 中保存对应记录,并在最终报告中引用。 |
| Framework 优先级 | 用于保证 iOS 逆向分析过程可复现、可审计、可交付,避免结论只停留在工具截图。 | 在 case-ios-demo 中保存对应记录,并在最终报告中引用。 |
| Extension 审计 | 用于保证 iOS 逆向分析过程可复现、可审计、可交付,避免结论只停留在工具截图。 | 在 case-ios-demo 中保存对应记录,并在最终报告中引用。 |
| 资源配置审计 | 用于保证 iOS 逆向分析过程可复现、可审计、可交付,避免结论只停留在工具截图。 | 在 case-ios-demo 中保存对应记录,并在最终报告中引用。 |
| 静态证据分级 | 用于保证 iOS 逆向分析过程可复现、可审计、可交付,避免结论只停留在工具截图。 | 在 case-ios-demo 中保存对应记录,并在最终报告中引用。 |
| 交叉引用记录 | 用于保证 iOS 逆向分析过程可复现、可审计、可交付,避免结论只停留在工具截图。 | 在 case-ios-demo 中保存对应记录,并在最终报告中引用。 |
| 动态验证映射 | 用于保证 iOS 逆向分析过程可复现、可审计、可交付,避免结论只停留在工具截图。 | 在 case-ios-demo 中保存对应记录,并在最终报告中引用。 |
这些补充项不改变前面的分析流程,主要用于把知识点落到团队协作、版本复测和报告交付中。
20. 静态分析案例补充
20.1 Info.plist 暴露面审计
- 知识点:
Info.plist描述 App 的入口、权限提示、URL Scheme、后台能力和 ATS 策略。 - 操作:用
plutil -p或 Xcode 打开Info.plist,把外部可触达入口单独列出来。 - Demo:在
IOSReverseDemo中配置一个自定义 URL Scheme,解包后确认是否可被发现。 - 观察:URL Scheme、Universal Links、剪贴板提示、相册权限文案都能暴露业务能力。
- 判断:发现入口不等于漏洞,需要继续验证入口是否缺少鉴权或参数校验。
- 产物:输出入口清单、权限清单和待动态验证项。
20.2 Entitlements 权限差异
- 知识点:Entitlements 决定 App 可使用的 Keychain Group、Associated Domains、App Groups 等能力。
- 操作:对主 App、Extension、Framework 的签名权限分别导出并对比。
- Demo:给 Demo 增加 App Groups 配置,检查是否存在非必要共享容器。
- 观察:权限范围越大,越需要说明业务必要性和隔离策略。
- 判断:多余权限通常属于加固和最小权限问题,只有能造成越权访问时才升级风险。
- 产物:形成权限差异表,标注必要、可删除、待确认。
20.3 Mach-O Load Commands 解读
- 知识点:Load Commands 描述二进制依赖、加密状态、段布局、最低系统版本和运行时行为。
- 操作:执行
otool -l AppBinary,重点查看LC_ENCRYPTION_INFO_64、LC_LOAD_DYLIB、LC_RPATH。 - Demo:比较 App Store 包和本地开发包的加密字段差异。
- 观察:
cryptid、依赖库路径、弱链接库都可能影响后续分析方法。 - 判断:Load Commands 是分析入口,不应单独作为漏洞结论。
- 产物:保存关键字段解释和截图。
20.4 字符串线索分级
- 知识点:字符串搜索能快速发现接口、密钥格式、开关名、错误文案和第三方 SDK。
- 操作:用
strings -a、Hopper 或 Ghidra 搜索http、token、secret、debug、admin。 - Demo:在 Demo 中放入测试域名和假密钥,训练如何区分真实风险与诱导样本。
- 观察:字符串可能来自废弃代码、SDK 文档、测试资源或压缩数据。
- 判断:密钥类线索必须验证是否可用,接口类线索必须验证是否可访问。
- 产物:输出字符串证据表,包含来源文件、上下文、可信度和下一步验证。
20.5 Objective-C 类方法恢复
- 知识点:Objective-C 方法名通常包含较多语义,是静态逆向的重要入口。
- 操作:用
class-dump、Hopper 或 Ghidra 查看类名、方法名和选择器引用。 - Demo:在 Demo 中创建
MembershipManager、PaymentValidator,观察方法名如何暴露业务流程。 - 观察:混淆前的方法名可直接暴露鉴权、支付、风控、调试逻辑。
- 判断:类名暴露主要增加逆向效率,是否形成风险取决于后续可操作性。
- 产物:整理关键类、关键方法和调用关系。
20.6 Swift 符号与反射痕迹
- 知识点:Swift 符号更长,可能包含模块、类型、泛型和方法信息。
- 操作:用
nm、swift-demangle或反编译器查看 Swift 符号。 - Demo:在 Demo 中写一个 Swift
PremiumService,观察 demangle 后的业务语义。 - 观察:即使 Release 包做了优化,部分类型信息和字符串仍可能保留。
- 判断:Swift 符号暴露属于信息泄露和逆向成本问题,需要结合业务敏感度定级。
- 产物:保存符号恢复前后对照。
20.7 资源文件审计
- 知识点:图片、JSON、HTML、证书、模型文件和本地数据库常被忽略。
- 操作:遍历
.app目录,记录.json、.plist、.cer、.db、.html等资源。 - Demo:在 Demo 中放一个本地配置 JSON,检查是否包含环境地址或开关默认值。
- 观察:资源文件不经过代码混淆,常直接泄露配置结构。
- 判断:敏感配置不应明文放在资源中,业务开关也不能只靠本地配置决定。
- 产物:形成资源审计清单。
20.8 静态到动态的映射
- 知识点:静态分析的价值在于提出可验证假设,而不是停留在猜测。
- 操作:把每条静态线索映射到动态操作,例如点击入口、触发接口、Hook 方法、修改返回值。
- Demo:将
isPremiumUser方法映射到 Frida Hook 任务。 - 观察:无法触发的静态线索需要记录原因,例如功能下线、账号权限不足、地区限制。
- 判断:静态证据加动态复现,才适合作为高置信结论。
- 产物:输出
static-to-dynamic-map.md。