gianlucabinetti/Reverse-Engnineering-markdowns
GitHub: gianlucabinetti/Reverse-Engnineering-markdowns
逆向工程与二进制分析实战报告合集,包含 iOS 激活锁硬件级安全审计和 ELF CrackMe 解题的完整分析过程。
Stars: 0 | Forks: 0
# 逆向工程报告合集
这是我从事逆向工程和二进制分析工作的合集,从 CTF 风格的 CrackMe 挑战,一直到针对 iOS Activation Lock 的完整硬件级安全审计。每份报告都详细记录了分析方法、使用的工具以及最终发现,包括在系统防御成功生效的案例及其*原因*。
这些文档记录了我自己的分析过程,分析对象均是我自己拥有的设备与二进制文件,或者是作为合法练习挑战发布的文件,仅供学习和演示之用。
## 目录
### iOS 安全架构与逆向工程审计
**[`iOS_Reverse_Engineering_Report.md`](./iOS_Reverse_Engineering_Report.md)**
针对 iPhone 6(iOS 12.5.8,A8 芯片)上 iOS Activation Lock 安全模型的深度审计。从一个 `checkm8` BootROM 漏洞利用开始,我系统地尝试了每一种本地方法来绕过激活——包括运行时进程终止、Mach-O 二进制修补、USB 隧道、配对记录注入和证书欺骗——并准确记录了是哪一道安全屏障击败了每一种方法。
结论是最有趣的部分:这项审计从经验上证明,Activation Lock **不是**一种软件锁,而是由与硬件绑定的可信根强制执行的信任策略。即使主 CPU 上的 BootROM 被攻破,Secure Enclave Processor (SEP) 依然会独立管理激活状态,因此任何用户态的修改都会触发完整性不匹配并进入恢复循环。该报告映射了从 BootROM 到 AMFI 的完整信任链,以解释其中的原因。
涵盖的主题:`checkm8` / DFU 漏洞利用、AMFI 和 `CS_ENFORCE` 代码签名强制执行、Secure Enclave 与 Effaceable Storage、激活握手过程,以及对每一次尝试的攻击向量的结构化网络杀伤链分析。
工具:Ghidra、`ldid`、`tcpdump`、`ideviceinfo`、`iproxy`、`cycript`/`Frida`、GDB。
### CrackMe 02-64 - 解题报告
**[`Crackme02-64x.md`](./Crackme02-64x.md)**
64 位 ELF CrackMe 的详细演练:使用 `checksec`/`strings`/`objdump` 进行侦察,在 Ghidra 中进行静态分析以还原密码校验算法,推导出有效的输入,并在 GDB 中进行动态验证。
工具:`file`、`checksec`、`strings`、`objdump`、Ghidra、GDB。
## 方法论
这些报告遵循一致的逆向工程工作流程:
- **侦察** - 对目标进行指纹识别(二进制保护机制、设备状态、可用符号)。
- **静态分析** - 在 Ghidra 中反汇编并阅读逻辑,以便在运行任何程序之前理解控制流。
- **动态分析** - 使用调试器或真实设备在运行时验证发现。
- **结论** - 记录哪些方法有效,哪些无效,以及解释该结果的底层安全机制。
## 工具与技术
`Ghidra` · `GDB` · `objdump` · `checksec` · `strings` · `file` · `ldid` · `tcpdump` · `Frida` / `cycript` · `checkm8` · `ideviceinfo` · `iproxy` · ARMv8 / x86-64 汇编 · Mach-O 和 ELF 二进制格式
## 备注
更多的 CrackMe 报告正在撰写中,将随着时间的推移逐步添加。这里的所有分析均出于教育和防御性研究目的,在自有或公开提供的练习目标上进行;不重新分发任何专有软件。
标签:DNS 反向解析, iOS安全, 二进制分析, 云安全运维, 云资产清单, 漏洞分析, 硬件安全, 自定义密码套件, 路径探测, 逆向工程