6.2.2.2 指针签名验证 6.2.2.2 指针签名验证:当 PAC 验证失败不是“崩溃”,而是“静默越界”——一次在 ARMv8.3-A 上定位 后 PAC 丢失的实战复盘 凌晨两点十七分,你盯着屏幕上第 17 次复现的诡异现象:进程没有 segfault,没有 abort,甚至没进 kernel oops 日志;它只是在某个看似平凡的函数返回时,突然跳转到一个地址为 的非法位置,然后被 MMU 硬件拦截、触发 data abort——但此时栈已毁,寄存器状态残缺, (LR)里躺着一个被篡改过的、带无效 PAC 的返回地址。你刚加的 调用像一剂安慰剂,毫无作用。你意识到:这不是传统意义上的栈溢出,也不是堆喷射;这是指针认证(PAC)在签名与验证之间,悄然断链了。