基于公开研究与 Virbox Protector 测试的观察
深盾科技软安实验室围绕 AI Agent 自动化逆向开展了一组对比测试,并结合公开研究梳理了 AI 分析二进制程序所依赖的条件。大语言模型与反编译器、调试器连接后,AI Agent 可以连续执行代码识别、语义恢复和运行时验证,并根据调试结果反复修正分析判断。软件交付后的核心算法、License 校验和关键业务逻辑面临新的暴露风险。本文将从静态输入、代码结构和动态验证三个阶段,分析 Virbox Protector(VBP)的防护思路。
AI Agent正在重塑软件逆向流程
传统逆向分析中,IDA Pro、Ghidra、GDB、x64dbg 等工具各司其职——反编译器负责静态、调试器负责动态,彼此并不互通,全靠研究人员在工具间手动切换、来回对照,把一个工具里的发现带到另一个工具里印证。AI Agent 接入后,可由它读取反编译结果、判断函数用途、识别算法特征、修正变量类型,再调用调试器检查内存与函数输入输出,在静态分析与动态验证之间自动衔接。
MCP(Model Context Protocol,模型上下文协议)等连接方式进一步降低了工具集成难度。[4] 一条典型链路包括:提取伪代码和调用图,恢复代码语义,定位目标函数,通过调试器验证推断,再根据运行结果继续分析。
图 1:AI 自动化逆向分析工具链示意
AI 的分析效果受多项条件共同影响,包括模型能力、反编译结果的可读性,函数名、API 和字符串等语义线索,可恢复的控制流与数据流,以及可持续调试的运行环境。保护规则公开时,模型还可能利用训练数据中的源码、论文和既有分析经验。
公开研究与测试揭示了什么
Promon Security Research 在 2026 年发布的报告中,对 2000 个混淆二进制样本和多个主流模型进行了评估。报告显示,未保护代码的顶级模型还原成功率为 72%—86%;采用 SUB、FLA、BCF 三重开源混淆后,仍为 20%—36%。模型读取反编译伪代码时的成功率,比直接读取原始汇编高 2—5 倍。[1]
LLM4Decompile已开始专门训练模型将二进制代码恢复为可读源码。[2] Check Point Research 也曾公开使用生成式 AI 辅助分析混淆恶意软件 XLoader 的过程。[3] 这些研究说明,AI 辅助逆向已经进入真实工具链,反编译输入的质量会直接影响后续分析。
深盾科技软安实验室使用一组 C/C++ 综合样本,对 Virbox Protector 不同保护配置进行了对比。
测试项目 | 测试条件 |
测试样本 | 一组 C/C++ 综合样本,包含 AES-128、License 校验和 TCP 心跳通信 |
评估对象 | 样本中的目标函数和相关业务逻辑 |
保护工具 | Virbox Protector 3.5.5.22114 |
测试模型 | GPT-5.5、Claude Sonnet 4.6 |
反编译工具 | Ghidra 12.0 |
分析方式 | AI Agent 通过 MCP 操作 Ghidra,执行反编译、类型修正和语义分析 |
评估维度 | 代码还原情况、语义理解程度和分析耗时 |
验证方式 | 对还原结果进行编译,并检查执行输出是否与原程序一致 |
不同保护配置下观察到的结果如下:
防护配置 | 本次测试中的表现 |
无防护 | AI 能识别主要算法特征和 License 校验流程,并恢复大部分目标逻辑 |
代码混淆 | AI 难以稳定区分真实路径与干扰路径,分析结果不足以支持完整逻辑还原 |
代码虚拟化 | AI 能判断函数经过对抗处理,但未能穿透自定义 VM 字节码恢复原始业务逻辑 |
混淆或虚拟化叠加智能压缩 | 静态分析阶段未取得可连续分析的有效代码输入 |
虚拟化、全局防护与 RASP 组合 | 静态与动态分析路径均受到限制,AI Agent 未完成有效还原 |
上述结果来自特定样本、模型、提示词和工具版本,适合用于比较相同条件下不同保护配置的表现,不代表所有软件和攻击环境都会得到相同结果。公开研究与这项测试的方法不同,也不能直接进行数值对比。
测试中的反编译输出更直观。无防护样本在 Ghidra 中仍能看到循环、条件判断、常量和函数调用,AI 可以据此恢复算法结构。
图 2:无防护代码的 Ghidra 反编译输出
同一目标函数经过代码虚拟化后,Ghidra 出现错误指令和控制流截断提示,无法继续生成对应原始业务逻辑的有效伪代码。
图 3:代码虚拟化后的 Ghidra 反编译输出
保护前后的差异反映出 VBP 的三项主要作用:改变 AI 面对的分析对象,减少反编译器能够提供的静态信息,限制 AI Agent 在运行时验证分析结果。
VBP 四层防护如何限制 AI 的连续分析
AI Agent的逆向分析通常包含取得信息、理解逻辑和验证结果三个环节。VBP 的防护路径先处理静态反编译,再延伸到运行时分析。针对静态反编译,三层能力的保护强度通常逐级提高:代码加密与反编译对抗减少可读代码和语义线索,适合扩大基础保护范围;高级代码混淆增加干扰路径,进一步提高逻辑分析难度;代码虚拟化将原生指令转换为自定义 VM 字节码,用于核心函数的高强度保护。静态防护之后,RASP 运行时防护限制调试、内存提取、Hook 和代码篡改。
图 4:VBP 静态防护逐级增强并延伸至运行时防护
第一层:代码加密与反编译对抗——减少可读代码和语义线索
AI 常从错误字符串、API 名称、函数符号和算法常量开始分析。这些信息可能帮助模型快速定位 License 校验、密钥处理或加解密函数。
VBP 将受保护函数以加密数据存储,程序执行到受保护函数时才在内存中解密;智能压缩增加额外解析层。字符串加密、导入表保护和符号表隐藏进一步减少错误提示、API 引用和函数名称等线索。反编译器难以生成连续伪代码时,AI 获得的输入会变得零散。
代码加密主要限制静态分析。程序运行时仍需执行解密后的指令,如果攻击者能够读取相应内存,静态阶段隐藏的代码仍可能暴露,因此还需要运行时防护限制内存提取和调试验证。
第二层:高级代码混淆——增加干扰路径
VBP 的高级代码混淆仍在原生指令体系内执行,通过垃圾代码、立即数加密、间接调用、指令替换、不透明谓词和随机多分支等变换,改变控制流、调用关系和常量表达方式。这些变换会隐藏原始数值、切断直接调用关系,并增加难以判断的分支和虚假路径。
AI 需要在有限的上下文和分析时间内区分真实逻辑与干扰路径,语义判断的稳定性会随之下降。VBP 的混淆引擎由深盾科技自主研发,完整变换规则未公开,减少了模型直接套用公开还原方法的机会。
第三层:代码虚拟化——改变指令体系
Virbox Protector 的代码虚拟化将受保护函数的原生 CPU 指令转换为自定义 VM 字节码,再由内置虚拟机解释器执行。反编译器主要看到 VM 调度逻辑和字节码处理过程,难以直接还原原始业务指令。
自定义 VM 指令语义很少出现在公开代码和研究资料中,AI 难以直接沿用对 x86、ARM 等标准指令集的分析经验。VBP 的虚拟化引擎由深盾科技自主研发,指令格式、处理逻辑映射和调度规则未公开,解释器本身也带有混淆自保护。不同 VM 架构变体还会改变指令体系,使针对单一样本形成的分析经验难以直接套用到其他目标。
第四层:RASP 运行时防护——限制动态观察与验证
前三层主要限制静态分析。AI Agent 仍可尝试设置断点、读取内存或 Hook 关键函数,以观察真实执行路径并验证前期判断。
VBP 的 RASP 运行时防护通过反调试检测调试器附加,使用内存保护限制运行时 Dump,并通过完整性校验和 Hook 检测识别代码篡改与函数拦截。RASP 由此限制 AI Agent 观察程序状态、提取解密代码和验证分析结果。
防护配置需要兼顾代码价值与运行开销
核心算法、License 校验、密钥处理和关键业务判断可以优先评估代码虚拟化。重要业务函数使用混淆,一般代码通过代码加密扩大覆盖范围,字符串、导入表和符号信息适合做全局处理。运行时再使用 RASP 限制调试、Dump、Hook和篡改。
VBP 支持本地程序和移动应用,可用于 Java、.NET、Python、Unity 等开发环境,并可保护 SDK、静态库、目标文件和 AI 模型。具体保护方式需要结合程序架构和性能要求确定。
高强度保护不宜覆盖全部代码。虚拟化通常会带来解释执行开销,需要结合函数调用频率和业务价值配置。保护完成后,还应检查 Ghidra、IDA 等工具能否继续生成可读伪代码,并完成启动、性能、升级和兼容性回归。
持续对抗需要长期技术积累
AI 模型、反编译器和 Agent 工具仍在更新,软件保护也需要调整 VM 指令体系、混淆规则和运行时检测能力。固定配置很难长期覆盖不同模型和分析方法。
深盾科技前身深思洛克成立于 1995 年,长期从事软件保护与授权管理相关业务。Virbox Protector 自 2018 年以来持续更新,其虚拟化、混淆和运行时防护能力也在迭代。深盾科技研发人员占比超过 50%,拥有国内外有效专利 300 余项及软件著作权。
长期研发使 VBP 的虚拟化、混淆和运行时防护能够随模型能力、逆向工具和软件交付环境变化继续调整。这类迭代能力与单次配置同样重要,具体方案仍需通过真实程序和目标环境验证。
结语
面对AI 自动化逆向,软件企业需要重新检查核心代码在反编译、语义识别和运行时调试三个阶段的暴露情况。降低静态输入质量、改变关键代码结构并限制动态验证,可以增加 AI Agent 连续完成分析的难度。
综合公开研究、保护前后的反编译结果和本次测试,VBP 的四层防护对应 AI Agent 分析过程中的不同环节。代码加密与反编译对抗减少静态输入,高级代码混淆增加干扰路径,代码虚拟化改变指令体系,RASP 运行时防护限制动态验证。深盾科技长期投入软件保护研发,持续更新虚拟机指令、混淆规则和运行时检测能力。
保护方案的适用性需要通过真实程序验证,包括反编译检查、性能测试和兼容性回归,并根据函数价值与运行开销调整配置。
参考资料
[1] Tkachenko, A. App Threat Report 2026 Q1: The State of Code Obfuscation Against AI. Promon Security Research, 2026.
https://promon.io/security-news/app-threat-report-2026-q1-the-state-of-code-obfuscation-against-ai
[2] Tan, H., Luo, Q., Li, J., & Zhang, Y. LLM4Decompile: Decompiling Binary Code with Large Language Models. EMNLP 2024.
https://github.com/albertan017/LLM4Decompile
[3] Check Point Research. Leveraging Generative AI to Reverse Engineer XLoader. 2025.
https://research.checkpoint.com/2025/generative-ai-for-reverse-engineering/
[4] Ghidra MCP Server:通过 MCP 协议连接 Ghidra 与大语言模型的开源项目。
