中文

XuanJia:基于虚拟化的全方位二进制代码混淆器

密码学与安全 2026-01-16 v1

摘要

虚拟化二进制混淆广泛用于保护软件知识产权,但现有方法为保持 ABI 兼容性,未保护异常处理(EH)元数据。此类暴露的元数据泄露丰富的结构信息,包括栈布局、控制流边界及对象生命周期,可被用于辅助逆向工程。本文提出 XuanJia,一个全面的基于虚拟机的二进制混淆框架,提供对可执行代码与异常处理语义的终端保护。XuanJia 的核心是 ABI 兼容的 EH Shadowing(ABI-Compliant EH Shadowing)一种新型异常感知保护机制,既保留与未修改操作系统运行时的兼容性,又消除静态 EH 元数据的泄露。XuanJia 用 ABI 合规的 shadow unwind 信息取代本地 EH 元数据,以满足 OS 驱动的展开要求,并安全地将异常处理重定向至受保护的虚拟机,在此处,真实的 EH 语义经解密、逆序并以混淆代码重放。我们从零实现 XuanJia,支持 385 种 x86 指令编码和 155 个 VM 处理器模板,并将其设计为可扩展的科研测试平台。我们在正确性、韧性和性能三个维度对 XuanJia 进行评估。结果表明,XuanJia 在大规模动态与符号测试下保持语义等价,有效干扰IDA Pro等自动化逆向工具,同时实现可忽略的空间开销和适度的运行时开销。这些结果表明,XuanJia 在不牺牲正确性或实用性的前提下,实现了对异常处理逻辑的强力保护。

关键词

引用

@article{arxiv.2601.10261,
  title  = {XuanJia: A Comprehensive Virtualization-Based Code Obfuscator for Binary Protection},
  author = {Xianyu Zou and Xiaoli Gong and Jin Zhang and Shiyang Li and Pen-Chung Yew},
  journal= {arXiv preprint arXiv:2601.10261},
  year   = {2026}
}