适用边界:本文只用于自建 Demo、开源靶场、企业内部授权测试包或书面授权的 iOS App。不要对未授权 App、真实用户账号、真实生产接口做逆向、抓包、Hook 或调试。
1. 本章目标
本章把原来的"iOS 逆向能做什么、前置知识、环境工具、学习顺序、最小计划"整合成一个起步文档。目标不是罗列工具,而是让你知道每个工具在 iOS App 生命周期中的位置。
| 能力 | 需要掌握的内容 | 验证方式 |
|---|---|---|
| 理解 IPA 结构 | Payload/*.app、Info.plist、主二进制、Framework、资源、签名 |
能解包 IPA 并说明每类文件用途 |
| 理解 iOS 安全模型 | 沙箱、签名、Entitlements、Keychain、ATS、权限弹窗 | 能输出 plist、entitlements 和沙箱路径说明 |
| 搭建工具链 | Xcode、Command Line Tools、Frida、LLDB、Burp/Charles、Hopper/Ghidra | 每个工具能完成一次最小验证 |
| 创建授权 Demo | 登录、会员判断、HTTPS 请求、Keychain、证书绑定、越狱/调试检测 | 能运行 debug 包并输出测试证据 |
| 建立证据目录 | 命令输出、截图、抓包样本、Hook 日志、LLDB 记录 | 能形成可复现 case 目录 |
2. iOS 逆向分析能做什么
iOS 逆向不是"破解 App",而是理解客户端行为、验证风险和建设防护的一套方法。
| 方向 | 典型问题 | 常用工具 | 交付物 |
|---|---|---|---|
| App 信息收集 | Bundle ID、版本、签名、权限、URL Scheme | plutil、codesign、Xcode |
基本信息表 |
| 静态分析 | Mach-O、类名、方法、字符串、依赖库、配置文件 | otool、nm、strings、Hopper、Ghidra |
静态分析报告 |
| Runtime 分析 | Objective-C 类、方法、返回值、参数、Swift 调用 | Frida、objection | Hook 脚本和日志 |
| 网络验证 | 登录、会员、订单、签名、重放、越权 | Burp、Charles、mitmproxy | 请求响应样本 |
| 调试分析 | 断点、调用栈、寄存器、内存、模块 | LLDB、Xcode | 调试记录 |
| 防护复测 | 越狱、调试、Hook、完整性、证书绑定 | Frida、LLDB、codesign、抓包工具 | 复测矩阵 |
3. IPA 与 App Bundle 基础
IPA 本质上是一个 zip 包,里面通常有:
text
Demo.ipa
Payload/
Demo.app/
Demo # 主 Mach-O 可执行文件
Info.plist # 应用元数据和配置
embedded.mobileprovision # 描述文件,部分包存在
Frameworks/ # 动态库和三方 Framework
PlugIns/ # Extension
Assets.car # 编译后的资源
Base.lproj/ # 本地化资源
| 文件 | 作用 | 逆向关注点 |
|---|---|---|
Info.plist |
Bundle ID、版本、URL Scheme、ATS、权限说明 | 暴露入口、网络策略、权限使用 |
| 主二进制 | Mach-O 可执行文件 | 类、函数、字符串、加密、检测逻辑 |
Frameworks/ |
动态库和 SDK | 第三方依赖、风控 SDK、支付 SDK |
embedded.mobileprovision |
签名描述文件 | Team ID、设备、权限 |
| Entitlements | App 能力声明 | Keychain Group、Associated Domains、Push、App Groups |
| 资源文件 | 图片、配置、证书、模型 | 硬编码配置、证书、公钥、隐藏开关 |
4. iOS 安全模型关键知识点
4.1 代码签名
iOS App 必须签名后才能安装运行。签名用于确认应用来源、完整性和授权能力。
| 知识点 | 核心理解 | Demo/验证 | 常见误区 |
|---|---|---|---|
| Code Signing | iOS 运行前校验签名,重签名会改变证书和 Team ID | codesign -dv Demo.app |
签名不是代码加密 |
| Provisioning Profile | 描述 App ID、设备、证书、Entitlements | security cms -D -i embedded.mobileprovision |
有描述文件不代表可任意安装 |
| Entitlements | App 能力白名单 | codesign -d --entitlements :- Demo.app |
忽略 Keychain Group 和 App Groups |
| 重签名 | 可用于授权测试包安装和复测 | 对 Demo 重签名并安装测试设备 | 重签名成功不代表防护失效 |
4.2 沙箱
iOS App 默认运行在沙箱中,只能访问自己的容器和授权能力。
| 路径 | 用途 | 安全关注 |
|---|---|---|
Documents/ |
用户可见或需备份数据 | 不应长期存敏感明文 |
Library/Preferences/ |
UserDefaults plist | token、开关、用户信息 |
Library/Caches/ |
缓存 | 接口响应、图片、临时文件 |
tmp/ |
临时文件 | 崩溃后残留 |
| Keychain | 凭据存储 | access group、访问级别、同步策略 |
4.3 Objective-C Runtime
Objective-C 保留丰富运行时元数据,所以类名、方法名、selector 常成为逆向入口。
| 知识点 | 核心理解 | Demo/验证 |
|---|---|---|
| Class | 运行时可枚举类 | Frida ObjC.classes |
| Selector | 方法名运行时可见 | 搜索 isVip、login |
| Method Swizzling | 可替换方法实现 | Demo 中不要把核心权益放本地 |
| Message Sending | objc_msgSend 分发调用 |
LLDB 或 Frida 观察调用 |
4.4 Swift 逆向特点
Swift 相比 Objective-C 元数据更复杂,符号可能很长,需要 demangle。
| 知识点 | 说明 | 工具 |
|---|---|---|
| Name Mangling | Swift 符号编码包含模块、类型、方法 | swift-demangle |
| 泛型和协议 | 反编译后结构复杂 | Hopper/Ghidra + 动态验证 |
| Swift/ObjC 混编 | @objc 暴露给 Runtime |
Frida 可枚举部分方法 |
| 优化影响 | release 优化会内联、重排 | 用行为验证静态结论 |
5. 工具链安装与验证
| 工具 | 用途 | 验证 |
|---|---|---|
| Xcode | 编译 Demo、设备调试、模拟器 | xcodebuild -version |
| Command Line Tools | codesign、otool、nm、strings |
命令可运行 |
| plutil | plist 转换和检查 | plutil -p Info.plist |
| Frida | Objective-C、Swift、C 函数 Hook | frida-ps -Uai |
| objection | 快速枚举类、Keychain、文件 | 能附加授权 Demo |
| LLDB | 断点、栈、寄存器、内存 | 能 attach Demo |
| Burp/Charles/mitmproxy | 抓包、改包、重放 | 能抓 Demo 测试接口 |
| Hopper/Ghidra/IDA | Mach-O 静态分析 | 能打开主二进制 |
| class-dump | Objective-C 头文件恢复 | 有符号时能导出类接口 |
| swift-demangle | Swift 符号还原 | 能 demangle Swift 符号 |
6. 授权 Demo 工程设计
建议创建 IOSReverseDemo,使用测试账号、测试接口和测试证书。功能要覆盖静态、动态、网络、Keychain、Runtime、Mach-O 和防护复测。
| 模块 | Demo 功能 | 对应学习点 |
|---|---|---|
| 登录 | demo/123456 测试账号 |
日志、抓包、token、Keychain |
| 会员 | isVip(userId) 本地判断 |
Frida Hook、LLDB 断点、服务端化 |
| 网络 | /login、/profile、/vip/resource |
抓包、签名、重放、越权 |
| 签名 | timestamp、nonce、body hash | Hook 签名前明文 |
| Keychain | 保存测试 token | 访问级别和清理策略 |
| Runtime | Objective-C 类和 Swift 类混合 | 类/方法枚举 |
| Mach-O | C 函数 nativeCheck() |
Hopper/Ghidra/LLDB |
| 防护 | 越狱、调试、Frida、证书绑定开关 | 防护复测 |
示例 Swift 会员判断:
swift
final class UserCenter: NSObject {
@objc func isVip(_ userId: String) -> Bool {
return userId == "10001"
}
}
示例签名函数:
swift
final class RequestSigner: NSObject {
private let clientSecret = "demo-client-secret-change-me"
@objc func sign(path: String, timestamp: String, nonce: String, body: String) -> String {
let raw = "\(path)|\(timestamp)|\(nonce)|\(body)|\(clientSecret)"
return sha256(raw)
}
}
安全说明:这些代码故意设计为可验证风险。真实业务不应把长期密钥、核心权益和最终鉴权放在客户端。
7. 环境验收 Demo
7.1 IPA 信息提取
bash
unzip -q IOSReverseDemo.ipa -d ipa-out
APP_DIR="ipa-out/Payload/IOSReverseDemo.app"
plutil -p "$APP_DIR/Info.plist"
codesign -dv "$APP_DIR" 2>&1
codesign -d --entitlements :- "$APP_DIR" 2>/tmp/entitlements.plist
7.2 Mach-O 基础检查
bash
BIN="ipa-out/Payload/IOSReverseDemo.app/IOSReverseDemo"
file "$BIN"
otool -L "$BIN"
otool -l "$BIN" | head -120
nm -m "$BIN" | head
strings "$BIN" | grep -i "vip\\|token\\|secret\\|api"
7.3 动态环境检查
bash
frida-ps -Uai
lldb
LLDB 中:
text
process attach --name IOSReverseDemo
image list
thread backtrace
8. 交付物
text
case-ios-demo/
01-env/
basic-info.md
tool-version.md
plist-info.txt
entitlements.plist
mach-o-basic.txt
frida-device.txt
lldb-attach.txt
9. 核心知识点表
| 知识点 | 核心理解 | Demo/验证 | 常见误区 |
|---|---|---|---|
| IPA | iOS App 安装包,本质 zip | unzip 查看 Payload |
只看源码不看包结构 |
| Bundle ID | App 唯一标识 | plutil -p Info.plist |
忽略和证书、Team ID 的关系 |
| Entitlements | App 能力声明 | codesign -d --entitlements |
只看权限弹窗,不看 entitlements |
| Mach-O | iOS 可执行文件格式 | otool -l |
把 Mach-O 当普通二进制看 |
| Objective-C Runtime | 类和方法运行时可枚举 | Frida 枚举类 | 认为 iOS 方法名都隐藏 |
| Swift 符号 | 需要 demangle 还原 | swift-demangle |
看到长符号就跳过 |
| Keychain | 凭据存储机制 | Demo 保存测试 token | 认为 Keychain 绝对安全 |
| ATS | 网络安全策略 | plist 检查 | 只看 HTTPS,不看策略配置 |
| LLDB | 调试器,可看栈、寄存器、内存 | attach Demo | 不记录断点和栈 |
| Frida | 运行时观察和 Hook | Hook isVip |
Hook 成功就等于高危 |
10. 实践清单
| 步骤 | 操作 | 产出 |
|---|---|---|
| 1 | 创建 IOSReverseDemo |
Xcode 工程和测试 Bundle ID |
| 2 | 添加登录、会员、签名、Keychain、网络模块 | 可触发的测试功能 |
| 3 | 构建 debug 包和 release 包 | 两类样本 |
| 4 | 解包 IPA 并记录结构 | IPA 文件清单 |
| 5 | 输出 plist 和 entitlements | 权限与能力清单 |
| 6 | 使用 otool、nm、strings 检查二进制 |
Mach-O 基础笔记 |
| 7 | 启动 Frida 和 LLDB 最小验证 | 动态工具可用记录 |
| 8 | 配置 Burp/Charles 抓 Demo 测试接口 | 抓包样本 |
11. 常见问题
| 问题 | 原因 | 处理 |
|---|---|---|
| IPA 解包后找不到主二进制 | App 名和可执行文件名不一定一致 | 从 Info.plist 读取 CFBundleExecutable |
codesign 输出不完整 |
参数不对或路径指向 IPA 而不是 .app |
对 Payload/*.app 执行 |
| Frida 看不到 App | 设备未连接、App 未运行、权限不足 | 先用 frida-ps -Uai 和 Xcode 确认 |
| LLDB attach 失败 | 包不允许调试或设备权限限制 | 区分 debug、TestFlight、App Store 包 |
| 抓包失败 | 代理、证书、ATS、证书绑定问题 | 逐项检查网络配置和证书信任 |
| Swift 方法找不到 | 未暴露 Objective-C Runtime 或被优化 | 使用 nm、swift-demangle、Hopper 和 LLDB |
12. 学习顺序
- 先掌握 IPA、plist、entitlements、签名和沙箱。
- 再学习 Objective-C Runtime 和 Swift 符号。
- 然后做 Mach-O、
otool、nm、strings静态分析。 - 再进入 Frida Hook、抓包、Keychain 和本地数据验证。
- 最后学习 LLDB、ARM64、越狱/调试/Hook 检测和复测交付。
13. iOS 基础知识点详解
| 知识点 | 核心理解 | Demo/验证 | 常见误区 |
|---|---|---|---|
| IPA 包 | IPA 是 iOS App 的分发包,本质是 zip,核心内容在 Payload/*.app。 |
解包后查看 Info.plist、主 Mach-O、Frameworks、资源和签名文件。 |
只打开 Xcode 工程,不分析最终 IPA,会漏掉签名、资源和依赖差异。 |
| App Bundle | .app 是运行时 Bundle,包含可执行文件、资源、plist、Framework 和插件。 |
读取 CFBundleExecutable 确认主二进制名称。 |
默认可执行文件名一定等于 App 名。 |
| Bundle ID | Bundle ID 是 App 身份标识,和签名、Keychain Group、后端配置强相关。 | 用 plutil -p Info.plist 记录 Bundle ID。 |
只把 Bundle ID 当包名,不关注 Team ID 和服务端绑定。 |
| Info.plist | plist 是 App 配置入口,包含权限文案、URL Scheme、ATS、后台模式等。 | 检查 CFBundleURLTypes、NSAppTransportSecurity、权限说明字段。 |
只看二进制,不看 plist 外部入口。 |
| Entitlements | Entitlements 是系统能力白名单,决定 Keychain、App Groups、Associated Domains 等能力。 | 用 codesign -d --entitlements :- Demo.app 导出。 |
只看权限弹窗,不看 entitlements。 |
| 代码签名 | iOS 通过代码签名保证来源和完整性,重签名会改变证书和 Team ID。 | 对原包和测试重签名包分别执行 codesign -dv。 |
认为代码签名等于代码加密。 |
| Provisioning Profile | 描述文件说明证书、App ID、设备和 Entitlements 授权范围。 | 用 security cms -D -i embedded.mobileprovision 解析。 |
忽略测试包和 App Store 包的差异。 |
| 沙箱 | iOS 沙箱限制 App 访问自身容器,减少跨 App 数据访问。 | 记录 Documents、Library、tmp、Preferences、Caches 的用途。 | 在越狱机看到文件就认为普通设备也能访问。 |
| Keychain | Keychain 适合保存凭据,但安全性取决于访问级别、分组和 token 生命周期。 | Demo 登录后保存测试 token,再检查退出登录是否删除。 | 认为 Keychain 绝对安全,不需要服务端吊销。 |
| ATS | App Transport Security 控制网络安全策略和明文例外。 | 检查 NSAppTransportSecurity 并抓包对比。 |
看到 HTTPS 就认为链路安全。 |
| Objective-C Runtime | Objective-C 类和方法通常保留运行时元数据,便于枚举和 Hook。 | 用 Frida 枚举 ObjC.classes 中的业务类。 |
认为 iOS 方法名一定隐藏。 |
| Swift Runtime | Swift 符号、泛型、协议和优化会影响静态阅读和 Hook 方式。 | 用 `nm | swift-demangle` 查看 Swift 符号。 |
| Mach-O | Mach-O 是 iOS 可执行文件格式,包含 header、load commands、segments、symbols。 | 用 file、otool -hv、otool -l 检查。 |
只用 strings,不理解二进制结构。 |
| Frameworks | Framework 可能包含三方 SDK、风控、支付、网络和加密逻辑。 | 用 otool -L 和 find Frameworks 记录依赖。 |
只分析主二进制。 |
| URL Scheme | URL Scheme 是外部拉起入口,风险取决于参数和鉴权。 | 构造 iosreversedemo://open/vip?userId=10002。 |
能拉起页面就直接判高危。 |
| Universal Link | Associated Domains 可把网页链接导入 App,和账号、跳转、WebCredential 相关。 | 检查 entitlements 中的 associated domains。 | 只测 URL Scheme,忽略 Universal Link。 |
| Xcode 调试 | Xcode 适合自建 Demo 源码级调试,能帮助理解逆向结果。 | 给 isVip、签名函数和 Keychain 写入处打断点。 |
只看源码,不验证 release 包。 |
| 模拟器 | 模拟器适合快速 Demo,但架构、沙箱和安全限制不同于真机。 | 区分 simulator 包和 device 包。 | 把模拟器验证直接等同真机结论。 |
| 越狱测试机 | 越狱设备便于文件、Hook、Frida 和 LLDB 验证。 | 记录越狱环境、Frida 版本和测试限制。 | 在越狱机结果上过度推断普通用户风险。 |
| Frida | Frida 用于运行时观察和修改方法、函数、参数和返回值。 | 先枚举进程,再 Hook Demo 方法。 | Hook 成功就直接判业务漏洞。 |
| LLDB | LLDB 适合断点、调用栈、寄存器和内存观察。 | attach Demo 并保存 image list 和 backtrace。 |
只写断点命中,不写调用来源。 |
| Burp/Charles | 抓包工具用于接口行为验证和服务端鉴权测试。 | 保存登录、资料、会员资源请求。 | 抓到包就认为接口有漏洞。 |
| Hopper/Ghidra | 反汇编工具用于函数、字符串引用和伪代码分析。 | 导入主二进制并重命名关键函数。 | 把伪代码当原始源码。 |
| objection | objection 可以快速枚举类、Keychain、文件和常见信息。 | 只在授权 Demo 上执行枚举。 | 把工具自动输出直接当最终报告。 |
| 测试账号 | 逆向 Demo 必须使用测试账号和测试数据,避免真实敏感信息。 | 创建 demo/123456 和测试 token。 |
抓真实用户 token。 |
| Demo 后端 | 没有测试后端就无法判断服务端是否正确授权。 | 提供 /login、/profile、/vip/resource。 |
只看客户端 UI 行为。 |
| 证据目录 | 安全分析必须按阶段保存证据,保证可复现。 | 建立 01-env、02-static、03-dynamic 等目录。 |
截图、日志、脚本散落无法交付。 |
| 工具版本 | 工具版本会影响输出和脚本兼容性。 | 记录 Xcode、Frida、LLDB、Hopper/Ghidra 版本。 | 报告不记录版本。 |
14. 授权 Demo 设计与环境验证
| 场景 | 操作 | 验收标准 |
|---|---|---|
| IPA 环境验收 | 解包 IPA,输出 plist、签名、entitlements、二进制架构。 | 确认样本可被后续静态和动态分析复现。 |
| Demo 工程验收 | 运行登录、会员、Keychain、网络和检测功能。 | 确认每个模块都有可触发入口。 |
| 工具链验收 | 分别验证 Xcode、plutil、codesign、otool、Frida、LLDB、Burp。 | 确认每个工具至少完成一次最小操作。 |
| 抓包环境验收 | 配置代理证书,触发 Demo HTTPS 请求。 | 确认能抓到 debug 请求或记录 pinning 阻断。 |
| 动态环境验收 | Frida 枚举进程,LLDB attach Demo。 | 确认动态分析工具可用并保存输出。 |
15. 环境问题排查与验收标准
| 判断点 | 要求 |
|---|---|
| 1 | 先在自建 IOSReverseDemo 中触发功能,再保存命令输出、截图或日志。 |
| 2 | 同时记录静态证据和动态证据,避免只凭单一工具结论。 |
| 3 | 如果涉及服务端接口,必须保存请求、响应、账号状态和服务端期望行为。 |
| 4 | 如果验证失败,写明失败原因、设备限制、包类型限制或缺少权限。 |
以上内容用于补充正式知识点和验证边界,不作为过程标签。阅读时应把每个知识点落实到 Demo、工具输出和报告证据中。
16. 基础环境专题知识库
本节继续补充正式知识内容。每个条目都围绕概念、重要性、Demo 验证、风险判断、修复边界和常见误区展开。
1. IPA 解包流程
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
2. App Bundle 目录
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
3. CFBundleExecutable
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
4. Bundle ID 与 Team ID
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
5. Info.plist 权限文案
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
6. URL Scheme 入口
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
7. Universal Link
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
8. Associated Domains
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
9. ATS 策略
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
10. Entitlements 解析
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
11. Provisioning Profile
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
12. Code Signing
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
13. 重签名边界
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
14. App 沙箱
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
15. Documents 目录
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
16. Library 目录
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
17. Caches 目录
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
18. tmp 目录
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
19. Keychain 基础
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
20. Keychain Access Group
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
21. Keychain 访问级别
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
22. Xcode 调试包
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
23. Release 包
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
24. TestFlight 包
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
25. App Store 包
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
26. 模拟器架构
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
27. 真机架构
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
28. 越狱测试机
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
29. Frida 环境
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
30. LLDB 环境
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
31. Burp 代理
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
32. Charles 代理
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
33. Hopper/Ghidra
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
34. class-dump
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
35. swift-demangle
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
36. Objective-C Runtime
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
37. Swift Runtime
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
38. Mach-O 基础
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
39. Frameworks
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
40. PlugIns Extension
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
41. Assets.car
- 概念:先说明该知识点在 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. 工具版本记录
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
47. 样本哈希
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
48. 授权范围
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
49. 日志边界
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
50. 真实数据脱敏
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
51. IPA 解包流程
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
52. App Bundle 目录
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
53. CFBundleExecutable
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
54. Bundle ID 与 Team ID
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
55. Info.plist 权限文案
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
56. URL Scheme 入口
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
57. Universal Link
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
58. Associated Domains
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
59. ATS 策略
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
60. Entitlements 解析
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
61. Provisioning Profile
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
62. Code Signing
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
63. 重签名边界
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
64. App 沙箱
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
65. Documents 目录
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
66. Library 目录
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
67. Caches 目录
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
68. tmp 目录
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
69. Keychain 基础
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
70. Keychain Access Group
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
71. Keychain 访问级别
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
72. Xcode 调试包
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
73. Release 包
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
74. TestFlight 包
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
75. App Store 包
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
76. 模拟器架构
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
77. 真机架构
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
78. 越狱测试机
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
79. Frida 环境
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
80. LLDB 环境
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
81. Burp 代理
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
82. Charles 代理
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
17. 工程化环境补充知识点
| 知识点 | 说明 | 验证方式 |
|---|---|---|
| 证据命名 | 用于保证 iOS 逆向分析过程可复现、可审计、可交付,避免结论只停留在工具截图。 | 在 case-ios-demo 中保存对应记录,并在最终报告中引用。 |
| 样本版本 | 用于保证 iOS 逆向分析过程可复现、可审计、可交付,避免结论只停留在工具截图。 | 在 case-ios-demo 中保存对应记录,并在最终报告中引用。 |
| 设备矩阵 | 用于保证 iOS 逆向分析过程可复现、可审计、可交付,避免结论只停留在工具截图。 | 在 case-ios-demo 中保存对应记录,并在最终报告中引用。 |
| 包类型区分 | 用于保证 iOS 逆向分析过程可复现、可审计、可交付,避免结论只停留在工具截图。 | 在 case-ios-demo 中保存对应记录,并在最终报告中引用。 |
| 授权记录 | 用于保证 iOS 逆向分析过程可复现、可审计、可交付,避免结论只停留在工具截图。 | 在 case-ios-demo 中保存对应记录,并在最终报告中引用。 |
| 测试账号隔离 | 用于保证 iOS 逆向分析过程可复现、可审计、可交付,避免结论只停留在工具截图。 | 在 case-ios-demo 中保存对应记录,并在最终报告中引用。 |
| 工具输出归档 | 用于保证 iOS 逆向分析过程可复现、可审计、可交付,避免结论只停留在工具截图。 | 在 case-ios-demo 中保存对应记录,并在最终报告中引用。 |
| 环境复现 | 用于保证 iOS 逆向分析过程可复现、可审计、可交付,避免结论只停留在工具截图。 | 在 case-ios-demo 中保存对应记录,并在最终报告中引用。 |
这些补充项不改变前面的分析流程,主要用于把知识点落到团队协作、版本复测和报告交付中。
18. 基础环境实操案例补充
18.1 Debug 包与 Release 包差异识别
- 知识点:Debug 包通常保留更多符号、日志和调试配置,Release 包更接近真实攻击面。
- 操作:分别导出 Debug 与 Release 的
.app或.ipa,记录包名、Bundle ID、签名证书、编译配置。 - Demo:在
IOSReverseDemo中打开一个调试日志开关,分别打包后用strings和otool -l对比输出。 - 观察:如果 Release 包仍包含测试接口、调试菜单、测试域名或详细错误栈,说明发布前清理不足。
- 判断:这类问题不一定直接形成漏洞,但会降低逆向门槛,并扩大后续静态与动态分析入口。
- 产物:保存两个包的构建配置截图、命令输出和差异表。
18.2 设备与系统版本矩阵
- 知识点:iOS 安全行为会受系统版本、芯片架构、越狱状态、开发者模式影响。
- 操作:至少准备一台普通设备、一台模拟器;如有条件,再加入越狱设备作为独立测试环境。
- Demo:在不同设备上安装
IOSReverseDemo,记录 Keychain、网络代理、日志输出是否一致。 - 观察:模拟器可快速验证流程,但不能完全代表真机上的签名、沙盒、Keychain 和证书行为。
- 判断:报告里必须写明环境,否则同一个结论在其他设备上可能无法复现。
- 产物:形成
device-matrix.md,列出设备型号、系统版本、安装方式和限制。
18.3 授权边界确认
- 知识点:逆向分析必须限定在授权 App、授权账号、授权接口和授权时间窗口内。
- 操作:把测试包 Hash、测试账号、接口域名、测试负责人写入授权记录。
- Demo:对
IOSReverseDemo的登录、订单、会员权益功能分别标注测试账号权限。 - 观察:如果测试过程误用生产账号或真实用户数据,技术分析会变成合规风险。
- 判断:授权范围不清时,不继续做 Hook、抓包、绕过校验等高敏操作。
- 产物:保存授权说明、样本 Hash 和测试数据来源。
18.4 样本完整性校验
- 知识点:样本 Hash 用于证明后续静态、动态和复测操作基于同一个 App 版本。
- 操作:对
.ipa、主 Mach-O、关键 Framework 分别计算shasum -a 256。 - Demo:修改一次
Info.plist后重新计算 Hash,观察 Hash 如何变化。 - 观察:只记录 IPA Hash 不够,二次解包、重签名、瘦身后主二进制也可能变化。
- 判断:如果报告中的 Hash 与复测样本不一致,结论只能作为参考,不能直接关闭风险。
- 产物:输出
sample-hash.txt,写入最终报告的样本信息章节。
18.5 证书与签名链路
- 知识点:签名决定 App 能否安装、能否附加调试器、能否访问某些 Entitlements。
- 操作:使用
codesign -dv --entitlements :-查看签名主体和权限声明。 - Demo:对开发签名包和分发签名包分别执行命令,比较
get-task-allow等字段。 - 观察:开发包通常更容易被调试,分发包更接近用户环境。
- 判断:不能用开发包的可调试结果直接推导线上包也可被同样调试。
- 产物:保存签名输出和差异说明。
18.6 沙盒目录基线
- 知识点:iOS 沙盒隔离了 Documents、Library、tmp 等目录,不同目录的备份和清理策略不同。
- 操作:在 Demo 中写入配置、缓存、临时文件,再通过 Xcode Devices 或容器导出检查。
- Demo:把 token 分别写入
UserDefaults、Documents 和 Keychain,对比可见性。 - 观察:Documents 更容易被备份和导出,tmp 可能被系统清理,Keychain 生命周期更特殊。
- 判断:敏感数据不应只依赖"目录不容易找到"来保护。
- 产物:形成本地数据位置清单。
18.7 日志基线
- 知识点:日志是动态分析入口,也是敏感信息泄露常见来源。
- 操作:运行 Demo 的登录、支付模拟、接口错误流程,使用 Console 或
log stream观察输出。 - Demo:制造一次登录失败,检查是否打印手机号、token、完整请求头或服务端错误详情。
- 观察:日志中的一次性验证码、授权头、设备标识都可能成为攻击辅助信息。
- 判断:Release 环境应降低日志粒度,并避免输出完整敏感上下文。
- 产物:保存日志片段、触发步骤和清理建议。
18.8 最小复现实验设计
- 知识点:好的逆向 demo 不追求复杂,而是能稳定触发一个清晰行为。
- 操作:为每个风险点设计"初始状态、触发动作、观察命令、预期结果、异常结果"。
- Demo:以"本地开关控制会员入口"为例,准备正常账号和非会员账号分别验证。
- 观察:如果实验需要很多手工条件,后续复测成本会很高。
- 判断:不能稳定复现的结论应降低置信度,并写明不确定因素。
- 产物:形成
reproduce-steps.md,作为后续四个文档的共用输入。