本文整合 LLDB、Mach-O、Objective-C Runtime、Swift 符号、Native 函数、越狱/调试/Hook 检测等内容。重点是让静态函数、运行时方法、断点和调用栈形成闭环。
1. LLDB 的定位
LLDB 适合做三类事情:
| 场景 | 价值 | 示例 |
|---|---|---|
| 断点验证 | 判断关键函数是否真实执行 | breakpoint set -n |
| 调用栈分析 | 找调用来源和业务入口 | thread backtrace |
| 寄存器/内存观察 | 看参数、返回值、对象地址 | register read、memory read |
LLDB 不是替代 Frida 的工具。Frida 更适合快速 Hook 和脚本化观察;LLDB 更适合断点、栈、寄存器和调试级分析。
2. LLDB 基础命令
text
process attach --name IOSReverseDemo
image list
breakpoint set -n "-[UserCenter isVip:]"
breakpoint set --name nativeCheck
continue
thread backtrace
frame variable
register read
memory read --size 8 --format x --count 16 $sp
expression -- (void)NSLog(@"lldb test")
| 命令 | 用途 | 输出记录 |
|---|---|---|
process attach |
附加进程 | attach 是否成功 |
image list |
查看加载模块 | 主二进制基址、Framework |
breakpoint set |
设置断点 | 断点 ID 和命中次数 |
thread backtrace |
调用栈 | 谁调用了目标函数 |
register read |
寄存器 | 参数、返回值、地址 |
memory read |
内存 | 字符串、对象、指针 |
expr |
执行表达式 | 调用 ObjC 方法或打印对象 |
3. 断点策略
3.1 Objective-C 方法断点
text
breakpoint set -n "-[UserCenter isVip:]"
breakpoint set -n "+[RequestSigner shared]"
命中后记录:
text
thread backtrace
frame variable
po $arg1
po $arg2
不同架构和优化下参数观察方式会变化。不要只靠一次寄存器观察下结论,要结合 Frida 和日志验证。
3.2 符号断点
text
breakpoint set -n nativeCheck
breakpoint set -n CC_SHA256
breakpoint set -n SecItemAdd
breakpoint set -n SecItemCopyMatching
适合验证:
- 加密函数是否被调用。
- Keychain 是否保存或读取 token。
- Native 检测函数是否执行。
- 证书校验回调是否命中。
3.3 地址断点
当函数名不可用时,可用模块基址 + 偏移:
text
image list IOSReverseDemo
breakpoint set --address 0x100012340
报告必须记录:
- 二进制 hash。
- 架构。
- 模块基址。
- 静态分析地址。
- 运行时断点地址。
4. Mach-O 与 Runtime 对照
| 静态证据 | 运行时验证 | 工具 |
|---|---|---|
strings 搜到 isVip |
Frida/LLDB 命中方法 | strings + Frida/LLDB |
nm 有 Swift 符号 |
LLDB 地址断点 | nm + swift-demangle + LLDB |
| Hopper 找到分支 | 断点看返回值 | Hopper + LLDB |
otool -L 看到库 |
image list 看到加载模块 |
otool + LLDB |
| 检测路径字符串 | Hook access 或断点 |
strings + Frida/LLDB |
5. ARM64 基础
| 寄存器 | 用途 |
|---|---|
x0-x7 |
前几个函数参数和返回值 |
x0 |
常见返回值 |
sp |
栈指针 |
lr / x30 |
返回地址 |
pc |
当前指令 |
x29 |
frame pointer |
Objective-C 方法底层通常会经过 objc_msgSend,参数布局和普通 C 函数不同。分析时建议先用符号断点和 po 观察对象,再深入寄存器。
6. Objective-C Runtime 调试
6.1 消息发送
Objective-C 方法调用是消息发送,selector 和 receiver 是核心。
| 概念 | 说明 | 调试方式 |
|---|---|---|
| receiver | 接收消息的对象 | po $arg1 或寄存器 |
| selector | 方法名 | po $arg2 |
| IMP | 方法实现地址 | Frida 或 Runtime API |
| swizzling | 替换 IMP | 防护和 Hook 都会涉及 |
6.2 常见断点
text
breakpoint set -n objc_msgSend
breakpoint set -n class_getInstanceMethod
breakpoint set -n method_setImplementation
这些断点噪声很大,适合短时间定向观察,不适合长期打开。
7. Swift 调试
Swift release 包可能经过优化,函数内联、符号裁剪和泛型展开会让分析变复杂。
| 问题 | 处理方式 |
|---|---|
| 符号很长 | swift-demangle |
| 找不到 ObjC selector | 查 Swift 符号或地址 |
| 函数被内联 | 从调用点或行为验证 |
| 泛型伪代码复杂 | 聚焦输入输出 |
| 优化导致变量不可见 | 结合 Frida 和日志 |
Swift 调试报告不要只写"看不懂"。要记录:找过哪些符号、哪些被优化、最终用什么动态证据验证。
8. 越狱、调试和 Hook 检测分析
8.1 越狱检测
常见检测点:
| 检测 | 证据 | 动态验证 |
|---|---|---|
| 路径 | /Applications/Cydia.app、/bin/bash |
Hook access |
| URL Scheme | cydia:// |
修改返回值 |
| 可写路径 | /private 写入测试 |
LLDB/Frida |
| 动态库 | Substrate、Frida、Tweak | image list |
| 系统调用 | stat、access、fork |
Frida C Hook |
8.2 反调试
| 检测 | 说明 | 验证 |
|---|---|---|
ptrace |
阻止调试器附加 | 断点或 Frida 观察 |
sysctl |
查询进程调试状态 | Hook 参数 |
isatty |
检查终端 | 动态观察 |
getppid |
父进程异常 | Frida/LLDB |
8.3 Frida/Hook 检测
| 检测 | 说明 | 风险 |
|---|---|---|
| 端口 | Frida server 默认端口 | 可变,误报 |
| 模块 | 进程加载模块 | 可能检测注入 |
| 线程名 | Frida 线程特征 | 可对抗 |
| 符号 | Gum/Frida 符号 | 可隐藏 |
| 方法实现 | IMP 被替换 | 可检测 swizzling |
防护建议:环境检测只作为风险信号,不应单点决定核心业务。敏感接口仍由服务端鉴权和风控控制。
9. LLDB Demo 任务
- 附加
IOSReverseDemo。 image list记录主二进制和 Framework。- 对
-[UserCenter isVip:]下断点。 - 触发会员页面,保存调用栈。
- 对
RequestSigner或CC_SHA256下断点。 - 触发接口请求,观察参数或调用栈。
- 对
nativeCheck或检测函数下断点。 - 输出 LLDB 调试报告。
10. 报告模板
markdown
# LLDB / Mach-O Analysis Report
## 二进制信息
- App:
- Bundle ID:
- Binary SHA256:
- 架构:
## 模块信息
| 模块 | 基址 | 路径 |
## 断点记录
| 断点 | 地址/符号 | 命中场景 | 调用栈 |
## 关键观察
| 函数 | 参数 | 返回值 | 风险 |
## 结论
- 已确认:
- 待验证:
- 限制:
11. 交付物
text
case-ios-demo/
04-lldb-mach-o/
image-list.txt
breakpoints.txt
isvip-backtrace.txt
signer-backtrace.txt
register-read.txt
mach-o-notes.md
lldb-report.md
12. 核心知识点表
| 知识点 | 核心理解 | Demo/验证 | 常见误区 |
|---|---|---|---|
| LLDB | 断点、栈、寄存器、内存观察 | attach Demo | 不保存调用栈 |
image list |
运行时模块和基址 | 对照 otool | 静态地址直接当运行时地址 |
| Objective-C 方法断点 | 直接命中 selector | -[UserCenter isVip:] |
selector 写错 |
| Swift 断点 | 可能需要 demangle 或地址 | swift-demangle |
找不到 ObjC 类就放弃 |
| ARM64 寄存器 | 参数和返回值观察 | register read |
不区分 ObjC 和 C 调用 |
objc_msgSend |
消息分发核心 | 短时间定向断点 | 长期开启导致噪声爆炸 |
ptrace |
反调试常见点 | 断点或 Hook | 反调试不可绕过 |
access |
路径检测常见点 | 观察越狱路径 | 单点检测当防护 |
| Mach-O 偏移 | 静态地址到运行时地址要换算 | image base + offset | 不记录版本和 hash |
| 调用栈 | 判断函数来源 | thread backtrace |
只看当前函数 |
13. LLDB 分析注意事项
| 注意点 | 说明 |
|---|---|
| 样本 hash 必须记录 | 地址和偏移依赖具体二进制版本 |
| debug/release 要分开 | 优化级别、符号和调试能力不同 |
| 真机/模拟器要分开 | 架构和运行时地址可能不同 |
| 地址断点要写来源 | Hopper/Ghidra 地址、slide、运行时地址 |
| 调用栈比单点更重要 | 能说明函数从哪里被触发 |
| 寄存器观察要谨慎 | ObjC、Swift、C 调用约定不完全相同 |
| 断点命中不等于漏洞 | 还要证明业务影响 |
14. 二进制分析常见线索
| 线索 | 可能含义 | 验证 |
|---|---|---|
ptrace |
反调试 | LLDB/Frida 观察调用 |
sysctl |
调试状态或设备信息 | Hook 参数 |
SecItemCopyMatching |
Keychain 读取 | 触发登录态恢复 |
SecItemAdd |
Keychain 写入 | 登录后断点 |
CC_SHA256 |
签名或哈希 | 触发接口请求 |
NSURLSession |
网络请求 | 抓包对照 |
WKScriptMessageHandler |
WebView Bridge | 检查域名和方法 |
objc_msgSend |
ObjC 消息分发 | 短时定向观察 |
15. 常见问题
| 问题 | 原因 | 处理 |
|---|---|---|
| 断点不命中 | 符号错、函数被内联、模块未加载 | 使用地址断点或更上层入口 |
| attach 后 App 卡死 | 断点太宽或反调试 | 缩小断点范围,记录现象 |
| 寄存器看不懂 | 参数类型不明确 | 结合 po、调用栈、Frida |
| 地址对不上 | ASLR slide 未处理 | 用 image list 计算运行时地址 |
| Swift 变量不可见 | release 优化 | 用输入输出和调用点验证 |
objc_msgSend 太吵 |
所有 ObjC 调用都会经过 | 只短时间启用或用条件断点 |
16. LLDB 与二进制调试知识点详解
| 知识点 | 核心理解 | Demo/验证 | 常见误区 |
|---|---|---|---|
| LLDB attach | attach 用于附加运行中进程观察断点和栈。 | 对 Demo 执行 process attach --name。 |
attach 成功就不记录包类型。 |
image list |
运行时模块列表提供基址和加载路径。 | 记录主二进制和 Framework slide。 | 静态地址直接当运行时地址。 |
| 符号断点 | 符号断点适合未 strip 的函数或 ObjC 方法。 | 断 -[UserCenter isVip:]。 |
selector 写错导致断点不命中。 |
| 地址断点 | 符号缺失时使用运行时地址断点。 | Hopper 地址换算 runtime 地址。 | 不记录二进制 hash 和 slide。 |
| 条件断点 | 条件断点减少噪声,适合 objc_msgSend 等高频点。 | 只在 selector 匹配时停下。 | 无条件断 objc_msgSend 导致不可用。 |
| 调用栈 | 调用栈说明函数从哪里被触发。 | 保存 thread backtrace。 |
只记录当前函数。 |
| 寄存器 | ARM64 前几个参数和返回值通常在 x0-x7。 | 命中 C 函数后 register read。 |
混淆 ObjC/Swift/C 调用约定。 |
| 内存读取 | 内存读取用于观察指针、字符串和结构。 | 用 memory read 查看地址内容。 |
不知道对象类型就强行解释。 |
| Objective-C 消息 | ObjC 方法调用底层是消息发送。 | 短时观察 receiver 和 selector。 | 长期断 objc_msgSend。 |
| Swift 优化 | release Swift 可能内联、去符号、变量不可见。 | 结合符号、地址和行为验证。 | 看不到变量就认为不能分析。 |
| Mach-O slide | ASLR 导致运行地址和静态地址存在偏移。 | 用 image list 计算 slide。 |
不同运行环境混用地址。 |
| Hopper 地址 | Hopper 静态地址要和 LLDB 运行地址对照。 | 记录函数地址和模块基址。 | 报告只有截图没有地址。 |
ptrace |
反调试常用系统调用。 | 对 ptrace 下断点或 Frida Hook。 |
认为 ptrace 一定能阻止调试。 |
sysctl |
常用于查询进程调试状态。 | 观察参数和返回值。 | 只搜 ptrace 忽略 sysctl。 |
SecItemAdd |
Keychain 写入入口。 | 登录后断点观察。 | 只看 Keychain 文件,不看 API。 |
SecItemCopyMatching |
Keychain 读取入口。 | 启动后断点观察 token 恢复。 | 忽略自动登录流程。 |
CC_SHA256 |
常用于签名、hash 和完整性。 | 接口请求时断点观察。 | 看到 hash 函数就认为是安全签名。 |
NSURLSession |
网络请求常见入口。 | 对 delegate 或任务创建点断点。 | 只靠抓包,不定位代码。 |
WKScriptMessageHandler |
WebView JSBridge 回调入口。 | 断点观察 message name 和 body。 | 只看 WebView 页面。 |
| 越狱路径检测 | 检测路径通常会调用 access、stat。 |
断点或 Hook 文件访问函数。 | 路径检测单点当安全边界。 |
| Frida 检测 | 检测模块、线程、端口或符号。 | 对检测函数断点并查看调用栈。 | 检测命中就直接封禁。 |
| 断点报告 | 断点报告应记录符号、地址、触发动作、调用栈和结论。 | 输出 lldb-report.md。 |
只写命中次数。 |
17. LLDB 调试实践矩阵
| 场景 | 操作 | 验收标准 |
|---|---|---|
| 会员方法断点 | 对 isVip 下断点并保存调用栈。 |
证明本地判断触发路径。 |
| 签名函数断点 | 对签名或 hash 函数下断点。 | 观察签名前后的调用关系。 |
| Keychain 断点 | 断 SecItemAdd 和 SecItemCopyMatching。 |
确认 token 读写时机。 |
| 反调试断点 | 断 ptrace、sysctl。 |
确认检测逻辑和响应。 |
| 地址断点 | 从 Hopper 地址换算 LLDB 地址。 | 验证 strip 后函数。 |
18. 断点与二进制证据判断
| 判断点 | 要求 |
|---|---|
| 1 | 先在自建 IOSReverseDemo 中触发功能,再保存命令输出、截图或日志。 |
| 2 | 同时记录静态证据和动态证据,避免只凭单一工具结论。 |
| 3 | 如果涉及服务端接口,必须保存请求、响应、账号状态和服务端期望行为。 |
| 4 | 如果验证失败,写明失败原因、设备限制、包类型限制或缺少权限。 |
以上内容用于补充正式知识点和验证边界,不作为过程标签。阅读时应把每个知识点落实到 Demo、工具输出和报告证据中。
19. LLDB 与二进制专题知识库
本节继续补充正式知识内容。每个条目都围绕概念、重要性、Demo 验证、风险判断、修复边界和常见误区展开。
1. process attach
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
2. image list
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
3. ASLR Slide
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
4. 符号断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
5. 地址断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
6. 条件断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
7. 断点命中次数
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
8. thread backtrace
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
9. frame variable
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
10. register read
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
11. memory read
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
12. expression
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
13. po 对象
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
14. Objective-C receiver
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
15. Objective-C selector
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
16. objc_msgSend
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
17. IMP 地址
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
18. Method Swizzling
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
19. Swift 符号
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
20. Swift 内联
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
21. ARM64 x0-x7
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
22. x29 frame pointer
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
23. x30 link register
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
24. sp 栈指针
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
25. pc 指令地址
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
26. Hopper 地址
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
27. 运行时地址换算
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
28. 模块基址
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
29. ptrace 断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
30. sysctl 断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
31. SecItemAdd 断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
32. SecItemCopyMatching 断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
33. CC_SHA256 断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
34. NSURLSession 断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
35. WKScriptMessageHandler 断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
36. 越狱路径检测
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
37. 动态库检测
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
38. Frida 模块检测
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
39. 线程名检测
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
40. 端口检测
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
41. 调用栈证据
- 概念:先说明该知识点在 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. release 优化
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
49. 断点报告
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
50. 二进制报告
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
51. process attach
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
52. image list
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
53. ASLR Slide
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
54. 符号断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
55. 地址断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
56. 条件断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
57. 断点命中次数
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
58. thread backtrace
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
59. frame variable
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
60. register read
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
61. memory read
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
62. expression
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
63. po 对象
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
64. Objective-C receiver
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
65. Objective-C selector
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
66. objc_msgSend
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
67. IMP 地址
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
68. Method Swizzling
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
69. Swift 符号
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
70. Swift 内联
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
71. ARM64 x0-x7
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
72. x29 frame pointer
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
73. x30 link register
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
74. sp 栈指针
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
75. pc 指令地址
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
76. Hopper 地址
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
77. 运行时地址换算
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
78. 模块基址
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
79. ptrace 断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
80. sysctl 断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
81. SecItemAdd 断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
82. SecItemCopyMatching 断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
83. CC_SHA256 断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
84. NSURLSession 断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
85. WKScriptMessageHandler 断点
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
86. 越狱路径检测
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
87. 动态库检测
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
88. Frida 模块检测
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
89. 线程名检测
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
90. 端口检测
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
91. 调用栈证据
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
92. 寄存器证据
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
93. 内存证据
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
94. 崩溃栈
- 概念:先说明该知识点在 iOS 逆向、防护或复测中的准确位置,不把工具输出当作结论。
- 重要性:它通常决定分析入口、风险等级、服务端边界或最终交付能否复现。
- Demo 验证:在
IOSReverseDemo中选择对应功能,用测试账号触发,并保存命令、日志、截图或请求响应。 - 风险判断:判断时区分静态线索、运行时现象、服务端业务影响和防护成本提升。
- 修复边界:客户端能提高攻击成本和减少暴露,核心权益、订单、账号和资源归属仍要服务端校验。
- 常见误区:不要因为能 Hook、能抓包、能看到字符串就直接判高危,必须证明真实业务影响。
20. 调试分析补充知识点
| 知识点 | 说明 | 验证方式 |
|---|---|---|
| 断点命名 | 用于保证 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 中保存对应记录,并在最终报告中引用。 |
这些补充项不改变前面的分析流程,主要用于把知识点落到团队协作、版本复测和报告交付中。
21. LLDB 调试案例补充
21.1 进程附加前检查
- 知识点:LLDB 调试受签名、调试权限、设备状态和 App 生命周期影响。
- 操作:先确认样本是否允许调试,再选择 Xcode Attach 或
debugserver方式。 - Demo:对 Demo 的 Debug 包和 Release 包分别尝试附加。
- 观察:附加失败可能来自权限、签名、反调试、设备信任或进程已退出。
- 判断:不能把附加失败直接认定为反调试,必须先排除环境原因。
- 产物:保存附加方式、错误信息和环境说明。
21.2 断点位置选择
- 知识点:断点应放在业务入口、系统 API、关键返回值或异常分支上。
- 操作:用静态分析得到方法名,再在 LLDB 中设置符号断点或地址断点。
- Demo:对
-[MembershipManager isPremiumUser]设置断点,观察调用时机。 - 观察:断点过早会产生噪声,断点过晚可能错过关键参数。
- 判断:好的断点能回答一个明确问题,例如"会员判断依赖本地还是服务端"。
- 产物:记录断点命令、触发条件和调用栈。
21.3 参数与返回值观察
- 知识点:ARM64 调用约定中参数和返回值常出现在寄存器中。
- 操作:断点命中后查看
x0、x1、x2、x3、x8、lr等寄存器。 - Demo:在方法入口和返回前分别读取寄存器,理解对象、选择器和返回值。
- 观察:Objective-C 方法的
x0通常是对象,x1通常是 selector。 - 判断:寄存器值必须结合类型和上下文解释,不能只看一个数字。
- 产物:保存寄存器截图和解释表。
21.4 调用栈裁剪
- 知识点:调用栈能说明某个逻辑从哪个 UI、网络回调或业务服务触发。
- 操作:断点命中后执行
bt,去掉系统框架噪声,保留业务相关栈帧。 - Demo:触发 Demo 的购买入口,记录会员判断方法的调用栈。
- 观察:栈中出现 ViewController、Service、NetworkClient 时,可推断业务路径。
- 判断:调用栈能支持"该方法参与某业务流程"的结论,但不能证明越权。
- 产物:整理简化调用栈和路径说明。
21.5 内存读取边界
- 知识点:LLDB 可读取内存对象,但读取敏感数据需要遵守授权和脱敏要求。
- 操作:使用
po、memory read、x/s读取对象、字符串或结构体。 - Demo:在 Demo 登录后读取当前用户对象,检查是否包含 token 或权限字段。
- 观察:内存中出现敏感字段不一定是漏洞,关键看生命周期、暴露路径和可利用性。
- 判断:报告中应脱敏展示,不输出真实 token、手机号或证件信息。
- 产物:保存脱敏后的对象结构和字段解释。
21.6 Runtime 消息发送观察
- 知识点:Objective-C 的动态派发让方法调用可以通过
objc_msgSend观察。 - 操作:对关键 selector 设置断点,结合
po $x1或符号信息确认调用目标。 - Demo:观察 Demo 中按钮点击后触发的权限判断 selector。
- 观察:消息派发能帮助定位真正执行的类,尤其在继承和分类较多时有用。
- 判断:Runtime 观察适合定位,不适合单独证明业务风险。
- 产物:输出 selector、类名、调用路径表。
21.7 反调试行为定位
- 知识点:常见反调试包含
ptrace、sysctl、异常端口检查和调试器探测。 - 操作:设置系统 API 断点,观察是否在启动或关键功能前调用。
- Demo:在 Demo 中加入简单调试检测,再用 LLDB 观察触发点。
- 观察:很多检测只影响客户端流程,仍需确认服务端是否有联动风控。
- 判断:反调试被绕过说明防护成本有限,不代表业务漏洞成立。
- 产物:保存检测点、绕过方式和防护建议。
21.8 地址与模块基址换算
- 知识点:ASLR 会让运行时地址和静态文件偏移不同,需要换算才能对齐证据。
- 操作:用
image list获取模块加载基址,再计算运行时地址到文件偏移。 - Demo:把 Hopper 中的函数地址映射到 LLDB 运行时断点地址。
- 观察:如果模块版本不一致,地址映射会失效。
- 判断:地址证据必须绑定样本 Hash、架构和加载模块。
- 产物:保存基址、偏移、函数名和样本版本。