标签:# Dobby

重塑 iOS 指令流的九种兵刃:从 dyld 链式修复、Inline Trampoline 到硬件 PAC 绕过全景实录

在 iOS 逆向工程与底层安全攻防的世界中,Hook 的本质从来不是“修改代码”,而是在不破坏原始编译二进制结构的前提下,通过重定向控制流打破预设的指令执行因果律。从最浅层的 Objective-C 动态方法派发,到 Mach-O 动态链接期的符号绑定表热修补,再到深入 ARM64 指令级的跳转覆盖与硬件级寄存器拦截,iOS 系统的拦截技术已经演化出一套层次分明、攻防对抗极强的工程体系。

面对现代化 iOS 运行时愈发严密的防御机制——包括 W^X 内存写执行互斥、代码段签名哈希校验、iOS 15 引入的 Chained Fixups 链式绑定,以及 Apple Silicon 独有的硬件级指针认证(PAC),任何试图“一招鲜吃遍天”的思路都会在实战中迅速遭遇崩溃。在这篇手记中,我将结合自身在复杂对抗环境下的实操经历,系统拆解九种主流与高阶 Hook 机制的底层机理、边界条件与关键踩坑细节,还原从指令序言外科手术到硬件级防御突围的完整技术全景。