通过线程池与枚举回调跳板实现符合 CET 规范的调用栈伪造(Rust 概念验证)
我在 Intel CET 启用的硬件上,花费了不合理的长时间,实现了端到端符合 CET 规范的调用栈伪造。该技术结合了三种原语:线程池执行以提供干净的栈基址、枚举回调跳板以生成真实的签名中间栈帧,以及间接系统调用。实际贡献在于 CET 合规机制:基于 jmp 的上下文切换,结合通过 RDSSPQ/INCSSPQ 直接进行影子栈指针协调,且无需触碰 unwind 元数据。这与 BYOUD 方法不同。该实现使用 Rust 编写,并包含内联汇编。由 /u/_MrTiz 提交。