# 逆向工程论文与评测基准

> 235 篇来源已复核的论文，涵盖二进制逆向、反编译、智能体评估、协议推断、固件分析，以及网站、游戏和应用重建，附引文和研究边界。可按主题、年份、状态和目标筛选。

每篇论文均依据一手来源复核。

- HTML：<https://awesomerea.org/zh/papers/>
- JSON：<https://awesomerea.org/api/v1/papers.json>
- English：<https://awesomerea.org/papers/index.md>

## 逆向工程智能体评测 (14)

- [人类与机器：AI 智能体在软件逆向工程中的对比研究](https://awesomerea.org/zh/papers/paper-humans-machines-sre/index.md)：2026 · arXiv · 预印本 · 比较人类与 LLM 智能体在相同静态逆向挑战中的理解和导航方式，并研究二进制表示如何占用上下文窗口。
- [使用 CTF-Dojo 训练语言模型智能体发现漏洞](https://awesomerea.org/zh/papers/paper-ctf-dojo/index.md)：2026 · ICML 2026 · 会议论文 · CTF-Dojo 是用于在夺旗赛任务上训练大语言模型智能体的可执行环境：它从 pwn.college 的 CTF Archive 中选取 658 道题目，来自 2011 年至 2025 年举办的 50 项竞赛，并以 Docker 容器化。其 CTF-Forge 流水线提示 DeepSeek-V3-0324 为每道题目编写 Dockerfile、docker-compose 文件和题目元数据；在三次独立运行中，650 道题目均能稳定构建并在预期端口上响应。Qwen3-Coder 与 DeepSeek-V3-0324 智能体在上限为 40 轮的 EnIGMA+ 框架中收集轨迹。收集过程中以匹配到的 CTFtime 题解作为提示，之后再从轨迹中删除；每次运行还会随机化端口、路径、干扰代码及其他运行时细节。作者以拒绝采样微调方式，用来自 274 道已解题目的 486 条成功夺旗轨迹训练 Qwen3 8B、14B 与 32B 模型，使其在 InterCode-CTF、NYU CTF Bench 与 Cybench 上的平均 Pass@1 最多提高 11.6 个百分点；32B 模型达到 31.9%。
- [Reveree：诊断大语言模型逆向工程智能体](https://awesomerea.org/zh/papers/paper-reveree/index.md)：2026 · arXiv · 预印本 · 从旗标恢复、八个分析阶段和操作特征评估逆向智能体轨迹，通过确定性检查与不知道最终结果的模型裁判定位失败环节。
- [智能体网络安全的下一项挑战：真实场景且无训练数据污染的逆向工程基准](https://awesomerea.org/zh/papers/paper-sre-bench/index.md)：2026 · arXiv · 预印本 · 提出 SRE-Bench，使用私有编写的程序及带保护机制的二进制变体，研究智能体恢复程序语义的能力，并减少训练数据污染。
- [针对软件逆向工程 AI 智能体的自动化攻击](https://awesomerea.org/zh/papers/paper-attacking-re-ai-agents/index.md)：2026 · ECCWS 2026 · 会议论文 · 研究针对 Cline/GhidraMCP 二进制分析智能体的间接提示注入。改造后的 AutoDAN 生成嵌入字符串，使分析报告偏离程序实际行为。作者以四个小型 C 程序在 Qwen3-8B 上演示，并将样例迁移到 GPT-OSS-120B。
- [CrackMeBench：面向智能体的二进制逆向工程基准](https://awesomerea.org/zh/papers/paper-crackmebench/index.md)：2026 · arXiv · 预印本 · 用可执行程序判定结果的 CrackMe 任务评估智能体：从二进制推断验证逻辑，提交可被接受的输入或产物，并记录工具使用、耗时与评分尝试。
- [迈向抗 LLM 的软件保护：CTF 逆向工程中的智能体失败模式](https://awesomerea.org/zh/papers/paper-llm-resistant-protection/index.md)：2026 · Workshop on Binary Analysis Research (BAR) 2026 · 会议论文 · 让 Claude Code、Codex CLI 与 ChatGPT-5.2 Pro 求解从 2025 年 15 场国际 CTF 赛事中选出的 24 道 crackme 类题目，并将失败归因到“观察—理解—计划”循环的各阶段，以及隐藏、复杂化与误导三类保护效果。作者从失败日志中归纳出四类反复出现的弱点：训练偏差、过度信任观察结果、上下文限制和计划固守。他们还在移除反编译器后重新运行两个命令行智能体，并将结果与赛时解题率对比。
- [ProgramBench：语言模型能否从零重建程序？](https://awesomerea.org/zh/papers/paper-programbench/index.md)：2026 · NeurIPS 2026 · 会议已接收 · 通过 200 项任务评估黑盒程序重建：智能体运行可执行文件进行探测并阅读文档，再独立实现代码库，由生成的测试检查其行为。
- [解构协同：软件逆向工程中人类与 LLM 协作的实证研究](https://awesomerea.org/zh/papers/paper-decompiling-synergy/index.md)：2026 · NDSS 2026 · 会议论文 · 研究人类分析人员在静态软件逆向工程中如何借助 LLM 辅助开展工作。作者依据对 153 名从业者的问卷，在带插桩的 IDA Pro 插件中实现六项 LLM 功能；随后 48 名参与者（自报新手与专家各 24 名）分析两个 CTF 风格的二进制程序，其中一道随机指定的题目启用这些功能。基于评分后的解题报告、交互日志和问卷，作者报告 18 项发现：新手的理解程度提升约 98%，达到专家水平，而专家收益甚微；已知算法函数的分诊速度最高提升 2.4 倍，产物恢复量至少增加 66%；同时也出现了有害的幻觉。
- [Cyber-Zero：无需运行环境训练网络安全智能体](https://awesomerea.org/zh/papers/paper-cyber-zero/index.md)：2026 · ICLR 2026 · 会议论文 · Cyber-Zero 依据公开的解题报告（writeup）合成夺旗赛（CTF）智能体的训练轨迹，而不实际运行题目。作者经由 CTF Archives 仓库从 CTFtime 收集解题报告，经过清洗与筛选后，再用 DeepSeek-V3-0324 补全缺失的元数据并提取旗标；移除与评测基准重叠的 47 道题目后，语料包含 6,188 篇解题报告，覆盖 543 场竞赛中六个类别的 4,610 道题目，时间跨度为 2017–2025 年。随后由两个 DeepSeek-V3-0324 角色模拟每次解题：CTF 选手只能看到题目内容；Bash 终端则能看到解题报告与旗标，负责编造合理的命令输出，并可插入提示，这些提示在训练前会被删除。轨迹采用 EnIGMA 智能体框架的格式，只有得出完全匹配的旗标、通过格式检查，并经 LLM 过滤器判定与解题报告思路一致的轨迹才会保留。作者用其中 9,464 条轨迹微调 Qwen3、Qwen2.5-Instruct 与 SWE-agent-LM 模型，并以自行开发的并行版 EnIGMA+ 在 InterCode-CTF、NYU CTF Bench 与 Cybench 上评测。微调后的 Qwen3-32B（Cyber-Zero-32B）平均 Pass@1 从 20.3% 提升至 33.4%，即摘要所述的 13.1 个百分点增益。
- [CREBench：评估大语言模型的密码二进制逆向工程能力](https://awesomerea.org/zh/papers/paper-crebench/index.md)：2026 · COLM 2026 · 会议论文 · 通过 432 个受控挑战，评估密码二进制逆向中的算法识别、密钥或 IV 提取、包装层重建及标志恢复。
- [EnIGMA：交互式工具显著帮助语言模型智能体发现安全漏洞](https://awesomerea.org/zh/papers/paper-enigma/index.md)：2025 · ICML 2025 · 会议论文 · EnIGMA 在 SWE-agent 基础上面向 CTF 题目进行扩展：交互式智能体工具可在多轮之间保持 gdb 调试会话或 pwntools 服务器连接，另有反编译与反汇编命令、用于长输出的语言模型摘要器，以及按题目类别编写的示例和指导。论文使用四种语言模型，在 NYU CTF、InterCode-CTF、Cybench 及作者收集的 HackTheBox 题集共 390 道题目上评测；还对工具、摘要器和示例做消融实验，并分析解答泄露和“自言自语”（soliloquizing）现象，即模型不与环境交互而自行编写观察结果。
- [Cybench：评估语言模型网络安全能力与风险的框架](https://awesomerea.org/zh/papers/paper-cybench/index.md)：2025 · ICLR 2025 · 会议论文 · Cybench 将来自四项竞赛（HackTheBox Cyber Apocalypse 2024、SekaiCTF 2022–23、GlacierCTF 与 HKCert）的 40 道专业级夺旗赛题目整理为可运行的智能体任务。每道题目都包含题目描述、初始文件、供智能体使用的 Kali Linux 容器及以 Docker 运行的题目服务器，并记录首个人类队伍的解题用时（2 分钟至 24 小时 54 分钟）。每道题目还被拆分为若干子任务，用于评估中间步骤。作者使用结构化 bash 智能体评测了八个模型，并为 GPT-4o 与 Claude 3.5 Sonnet 比较了四种智能体框架。在没有子任务引导时，表现最好的智能体只解出了人类首解用时不超过 11 分钟的题目；Claude 3.5 Sonnet 的无引导成功率为 17.5%。
- [NYU CTF Bench：用于评估大语言模型攻击性安全能力的可扩展开源基准数据集](https://awesomerea.org/zh/papers/paper-nyu-ctf-bench/index.md)：2024 · NeurIPS 2024 Datasets and Benchmarks · 会议论文 · NYU CTF Bench 收录 2017–2023 年 CSAW CTF 资格赛与决赛中经人工验证的 200 道题目，涵盖密码学、取证、二进制漏洞利用、逆向工程、Web 与杂项任务，并为题目提供 challenge.json 元数据，为需要服务端的题目提供 Docker 镜像。论文还提出一个自动化框架，通过函数调用为大语言模型提供执行 Shell 命令、创建文件、使用 Ghidra 反汇编与反编译、检查 flag 和放弃求解等工具。论文评测了五种大语言模型，并将其得分与 CSAW 2022 和 2023 的人类参赛队伍比较。

## 反编译与符号恢复 (110)

- [先定位再推理：剥离符号二进制中的端到端补丁存在性测试](https://awesomerea.org/zh/papers/paper-patchalign/index.md)：2026 · arXiv · 预印本 · 结合指令对齐检索及调用者／被调用者上下文，在剥离符号的二进制中定位补丁相关代码，再由 LLM 筛选候选匹配并对照漏洞版与修复版参考程序判断补丁特定行为。
- [面向召回率的精确二进制到源码函数匹配](https://awesomerea.org/zh/papers/paper-bscout/index.md)：2026 · arXiv · 预印本 · BScout 通过分块嵌入及考虑内联的训练，将反编译函数匹配到源码语料；已有匹配提供位置线索以扩充候选，再由大语言模型选择及结构过滤改进对应关系。
- [解码 iOS 定位服务发送给 Apple 的数据：大语言模型并非可靠分析员，却能辅助构建工具](https://awesomerea.org/zh/papers/paper-ios-protobuf-extractor/index.md)：2026 · arXiv · 预印本 · 比较直接用大语言模型恢复 Apple PBCodable 模式与构建 Extractor 工具两种路径；工具以编译后的合成样本、既有描述文件和捕获流量交叉检查，说明看似合理的模式也可能静默解码出错误值。
- [SoK：LLM 恢复源码是否可靠？分类体系与实证评估](https://awesomerea.org/zh/papers/paper-sok-source-recovery-reliability/index.md)：2026 · arXiv · 预印本 · 该 SoK 组织 LLM 辅助源码恢复方案，并区分编译、可读性、结构与行为指标。受控研究改变架构、编译优化及符号状态，并以较小的消融实验考察输入表示、模型角色和源语言。
- [CodeInverter 套件：利用高效大语言模型进行结构与数据感知的二进制反编译](https://awesomerea.org/zh/papers/paper-codeinverter-suite/index.md)：2026 · ASE 2026 · 会议论文 · CodeInverter 研究函数级 LLM 反编译，使用 IDA／objdump 提取的控制流图和内存到数据映射补充输入。论文提出提示工作流、训练语料与模型系列，并以编译、基准输入输出测试和编辑相似性评估结果。
- [超越文本匹配：面向人的二进制逆向工程的无参考评估](https://awesomerea.org/zh/papers/paper-binjudge/index.md)：2026 · ASE 2026 · 会议论文 · BinJudgeBench 收集函数命名、二进制代码摘要及反编译改进的专家评分。BinJudge 学习为每个输入及任务选择评审配置，评估与人工评分的一致性，而非可执行正确性。
- [将量子汇编反编译为结构化程序](https://awesomerea.org/zh/papers/paper-quelle/index.md)：2026 · arXiv · 预印本 · Quelle 从编译后的 OpenQASM 恢复库调用、循环、函数及符号参数，通过消除路由痕迹、提出结构化重建并核对电路语义，在恢复失败时保留门级表示。
- [ASAP：通过汇编与源码对齐改进二进制反编译伪代码](https://awesomerea.org/zh/papers/paper-asap-decompilation/index.md)：2026 · arXiv · 预印本 · ASAP 在训练中对齐汇编与源码表示，将汇编特征压缩为标记，并与反编译伪代码一起交给 LLM 改进。掩码及汇编优势目标用于鼓励模型利用低层证据。
- [Faultless：验证和评估神经反编译器的程序等价性方法](https://awesomerea.org/zh/papers/paper-faultless/index.md)：2026 · arXiv · 预印本 · 利用符号执行与专门的内存模型，将神经反编译器生成的 C 代码与确定性反编译结果或参考函数比较，无需完整周边代码库，可用于分析人员的结果核查及模型评估。
- [提交之间：一个完全由 AI 编写的代码库中的过程、错误与陈述可靠性](https://awesomerea.org/zh/papers/paper-extractor-development-reliability/index.md)：2026 · arXiv · 预印本 · 通过提交、可用会话日志及代码溯源研究 Extractor 逆向工具的开发，用分类体系区分指令意图、变更触发因素及智能体陈述，揭示普通仓库历史无法反映的提交前纠错。
- [Echo：基于可信回译的学习式匹配反编译](https://awesomerea.org/zh/papers/paper-echo-matching-decompilation/index.md)：2026 · arXiv · 预印本 · Echo 迭代生成源码及编译配置，重新编译候选，并使用汇编差异指导配置搜索与代码修正。研究在函数基准和一个 Mirai 二进制的部分函数上评估匹配结果。
- [大语言模型改进反编译代码中的记忆基线](https://awesomerea.org/zh/papers/paper-memorization-floor/index.md)：2026 · arXiv · 预印本 · 研究大语言模型改进反编译 C 代码时，标识符恢复来自输入证据还是先验知识。通过同一条目的消融实验和与输出词汇匹配的随机基线，比较教材式函数与新编写函数的命名增益，并进行第二模型复核。
- [当 LLM 反编译器更易重编译，却更少保留原始行为](https://awesomerea.org/zh/papers/paper-decompile-diverge/index.md)：2026 · arXiv · 预印本 · Decompile-Diverge 基于源码生成驱动，并对参考实现进行模糊测试，以构建函数级行为比较。研究让重建函数使用相同输入，检查编译及既有测试可能漏掉的行为差异与崩溃消失。
- [解耦的必要性：面向优化与混淆、无需识别具体变换的反编译代码恢复](https://awesomerea.org/zh/papers/paper-resource/index.md)：2026 · arXiv · 预印本 · ReSource 针对受编译优化与混淆影响的反编译函数进行修复：先从语义失真数据库检索指导信息，再预测控制流骨架，最后调整名称与格式。评估衡量代码相似性，以及能否从源码语料中检索到对应的原始函数。
- [STILL：为 LLM 辅助 C++ 反编译恢复编译后隐藏的 STL 语义](https://awesomerea.org/zh/papers/paper-still-stl/index.md)：2026 · arXiv · 预印本 · STILL 从去符号控制流图预测函数级 STL 容器的存在情况，并将预测转成紧凑提示，供 LLM 改进 Ghidra 输出。StlBench 为五类容器提供受控标注。
- [现代二进制反编译的演进：分类体系、文献回顾与未来展望](https://awesomerea.org/zh/papers/paper-evolution-binary-decompilation/index.md)：2026 · arXiv · 预印本 · 该综述梳理传统、动态、匹配及神经反编译方法，并组织类型恢复、控制流重构、命名和改进等任务及其评估指标、基准选择。配套仓库提供所审文献列表。
- [基于结构感知检索与迭代验证将优化二进制提升为规范编译器 IR](https://awesomerea.org/zh/papers/paper-bridge-lifting/index.md)：2026 · ACL 2026 · 会议论文 · BRIDGE 将以 llvm-objdump 反汇编形式给出的、已剥离符号并经过优化的 x86-64 与 ARM64 函数提升为 LLVM IR，目标是固定 clang -O0 配置为原始源码生成的未优化 IR。离线阶段，它将 69,253 个 ExeBench 函数分别以 -O0 至 -O3 编译并构建检索数据库，借助 LLVM 伪探针插桩将汇编片段与对应的 -O0 IR 区域对齐。推理时，它把 angr 恢复的函数控制流图划分为循环、if–else 等控制流片段，从基于 Nova-1.3B 嵌入的 FAISS 索引中为每个片段检索三个最相近的已对齐汇编—IR 对，再提示托管的通用大语言模型（DeepSeek-chat）生成 IR。随后最多进行五轮修正，把 LLVM 校验器与编译器诊断信息以及单元测试失败结果反馈给模型。在以 Clang 19 按 -O0 至 -O3 编译的 HumanEval-Decompile 与 MBPP 上，其平均可重新执行率在 x86-64 上为 65.2% 和 65.4%，在 ARM64 上为 45.6% 和 42.1%。基于规则的 MCTOLL 在 x86-64 上为 62.1% 和 64.9%，五个直接提示的 API 大语言模型最高为 21.5%。
- [有本事就骗过我：二进制代码相似性检测模型对语义保持变换的鲁棒性研究](https://awesomerea.org/zh/papers/paper-asmfooler/index.md)：2026 · Proceedings of the ACM on Software Engineering (FSE 2026) · 期刊论文 · 论文构建 asmFooler，用于检验基于学习的二进制代码相似性检测（BCSD）模型在语义保持的改动后能否继续匹配函数。它以 620 个基准 x86-64 ELF 二进制（包括 coreutils、binutils、PuTTY、nginx、SPEC2006 等，均由 Clang 以 O0–O3 编译）为起点，通过原地指令改写、基本块重排、Obfuscator-LLVM、语义空操作和垃圾代码插入生成 9,565 个变体，并加入一种贪心搜索，寻找能让不相似函数显得相似的死代码序列。在 Genius、Gemini、Asm2Vec、SAFE、Trex 与 BinShot 上的结果表明，鲁棒性取决于各模型的预处理、架构与特征：基本块重排使 BinShot 的召回率从 0.972 降至 0.036，而基于控制流图的 Genius 与 Gemini 召回率降幅不足 0.05。误报攻击的成功率最高可达 100%，平均只需插入 14.75 条指令。
- [MirrorCode：仅凭行为重建完整程序的评测](https://awesomerea.org/zh/papers/paper-mirrorcode/index.md)：2026 · arXiv · 预印本 · 利用仅可执行的参考程序、文档及可见样例，评测 25 个命令行程序的重新实现；在独立评分环境中对可见及留出端到端测试进行精确输出比较。
- [SoK：人工智能增强的二进制逆向工程](https://awesomerea.org/zh/papers/paper-sok-ai-binary-reversing/index.md)：2026 · arXiv · 预印本 · 一篇系统化知识综述，梳理机器学习、大语言模型与智能体方法在二进制逆向中的应用。第二版通过关键词检索 11 个安全、软件工程与人工智能会议并辅以引文滚雪球，收集 2015 年以来的 246 篇论文，按推断任务归入 22 个领域：从代码边界检测，到函数名、类型与结构体布局恢复，再到代码相似性、恶意软件与漏洞分析以及反编译。其分类体系通过二进制派生的分析产物，把传统的初筛、静态分析、动态分析与安全测试同人工智能流程联系起来，并总结出 12 条洞见及若干开放方向，例如与二进制对齐的语义真值和目标驱动的智能体逆向。
- [基于反馈驱动多轮修正的二进制反编译大语言模型](https://awesomerea.org/zh/papers/paper-autodecompiler/index.md)：2026 · arXiv · 预印本 · AutoDecompiler 训练函数级反编译模型，利用编译、执行及 I/O 反馈修正汇编或伪代码输入产生的输出。其强化学习设计结合诊断反馈及代码有效性、测试行为、语法和数据流结构奖励。
- [以量化可读性指标引导 LLM 智能体辅助逆向工程](https://awesomerea.org/zh/papers/paper-qrs-readability/index.md)：2026 · arXiv · 预印本 · 用综合量化可读性分数（QRS）引导智能体改进反编译 C 代码，将词汇熟悉度、结构简洁度和编程惯用法与二进制结构相似性门槛结合，在 210 个简单 C 二进制程序上比较有无 shell 访问的迭代。
- [SCDBench：基于大语言模型的智能合约反编译器基准](https://awesomerea.org/zh/papers/paper-scdbench/index.md)：2026 · arXiv · 预印本 · 在 600 个源码已验证的以太坊 Solidity 合约上评测基于大语言模型的 EVM 反编译。这些合约在近重复过滤后，从 772,736 对唯一的字节码—源码中按简单、中等、困难各三分之一抽样。每个任务提供 EVM 汇编及可选的四字节选择器提示，要求输出自包含的 Solidity 代码与编译器设置。输出按四个累进阶段评分：格式完整性、编译、ABI 恢复，以及语义一致性；最后一阶段在重新编译的输出上重放为 14,553 个公共函数记录的 227,383 个测试用例。借助一次基于编译器反馈的修复调用，GPT-5.3-Codex 使 90.3% 的合约成功编译；语义方面的最佳结果均来自 Claude Opus 4.7，即 29.4% 的函数一致，600 个合约中有 42 个被完全恢复。
- [加壳识别工具的语义验证：特征分析、修正与下游影响](https://awesomerea.org/zh/papers/paper-packer-identification-semantic-validation/index.md)：2026 · arXiv · 预印本 · 以脱壳结果作为参考证据评估壳标签，规范化不同工具的输出，并评估互补签名／启发式规则池及从脱壳器实现提取的静态判定条件；同时追踪识别错误对后续脱壳和恶意软件分类的影响。
- [Decaf：通过自动反馈与搜索改进神经反编译](https://awesomerea.org/zh/papers/paper-decaf/index.md)：2026 · arXiv · 预印本 · Decaf 采样多个反编译候选，重新编译后利用字节距离或学习式重排序器排序。研究通过候选选择改进神经反编译，而非使用迭代源码修复对话。
- [NotDec：通过跨过程类型恢复进行 WebAssembly 反编译](https://awesomerea.org/zh/papers/paper-notdec/index.md)：2026 · ICSE 2026 · 会议论文 · NotDec 将 WebAssembly 提升为 SSA 中间表示，通过基于 Retypd 的类型约束及指针／数值区分恢复结构，并生成 C。研究区分完整跨过程分析与较快的过程内变体。
- [HELIOS：面向结构感知大语言模型反编译的分层图抽象](https://awesomerea.org/zh/papers/paper-helios/index.md)：2026 · arXiv · 预印本 · HELIOS 将二进制程序的控制流和函数调用整理成分层摘要，与反编译器输出一同提供给大语言模型，并可加入编译器反馈。论文评估了生成代码的可编译性和功能正确性。
- [Deception Delta：基于大语言模型的智能合约字节码取证对抗评测](https://awesomerea.org/zh/papers/paper-deception-delta/index.md)：2026 · ACM CCS 2026 · 会议已接收 · 评估语言模型如何解释人工构造的欺骗性合约与对照合约的原始 EVM 字节码，区分识别隐藏转账机制与正确判断其风险，并结合模型评审和不依赖评审模型的检查。
- [SK2Decompile：从骨架到皮肤的大语言模型两阶段二进制反编译](https://awesomerea.org/zh/papers/paper-sk2decompile/index.md)：2026 · ICLR 2026 · 会议论文 · 将 LLM 反编译分为两个阶段：结构恢复模型把反编译器伪代码转换为保留控制流和数据结构、但不含标识符的中间表示，并以编译器反馈作为强化学习奖励；标识符命名模型再以语义相似度为奖励恢复名称。作者报告，其在 HumanEval 上的平均可重新执行率比 GPT-5-mini 高 21.6%，在 GitHub2025 上的平均 R2I 比 Idioms 提升 29.4%。
- [ShieldedCode：学习虚拟机保护代码的鲁棒表示](https://awesomerea.org/zh/papers/paper-shieldedcode/index.md)：2026 · ICLR 2026 · 会议论文 · ShieldedCode 从防御方角度研究软件保护：它以 C 源代码函数及其经虚拟化保护（VMP）后的 x86-64 代码组成的配对数据训练代码语言模型，使模型能够生成、比较和排序受保护的变体。训练配对取自 AnghaBench 函数，经 O0–O3 编译后由一款商业 VMP 工具按 L0–L3 级别保护，再反汇编并规范化。模型为单条虚拟指令内部、相邻虚拟指令之间以及跨虚拟指令的依赖加入注意力掩码，采用面向功能等价和保护强度的对比学习目标，并设置对同一源代码不同变体排序的保护效果任务。持续预训练从 CodeLlama 34B 起步，语料另加入 The Stack；微调使用 250 万组源代码—虚拟机代码配对。在 HumanEval-compile 上，L0 级虚拟机代码生成的 Pass@1 为 26.95%（GPT-4o 为 22.58%），L3 级为 14.71%。在 BinaryCorp-VirtualAssembly 相似性检测中，O0+L1 设置下的 Recall@1 为 0.488，采用线性探针的 jTrans 为 0.333。作者还对生成的保护代码开展了人工逆向研究，以及模式匹配和 angr 攻击。
- [Idioms：以明确定义的类型显著增强局部神经反编译的简单有效框架](https://awesomerea.org/zh/papers/paper-idioms/index.md)：2026 · NDSS 2026 · 会议论文 · Idioms 微调代码语言模型，把单个目标函数的 Hex-Rays 输出转换为预测的原始 C 代码，并同时给出其中使用的用户自定义结构体、联合体和类型别名定义。输入可按调用图广度优先顺序附带相邻的反编译函数，使分散在调用者与被调用者中的类型线索能够提供给模型。作者还构建了 Realtype 数据集，包含来自已编译开源 C 仓库的 157,163 个函数及完整类型定义。其基于 CodeGemma-7b 的模型在 ExeBench 上有 54.4% 的函数通过单元测试，LLM4Decompile 为 46.3%，Nova 为 37.5%；在 Realtype 上的得分至少高出 95%。
- [FidelityGPT：利用检索增强生成纠正反编译失真](https://awesomerea.org/zh/papers/paper-fidelitygpt/index.md)：2026 · NDSS 2026 · 会议论文 · FidelityGPT 对现有反编译器输出进行后处理：由大语言模型为代码行标注六类失真（如非常规解引用、冗余变量和令人困惑的控制流），再改写被标注的行。其提示词定义各失真类型，并从人工标注的 IDA Pro 与 Ghidra 失真代码行数据库中检索增强上下文。语义强度算法负责选择用于查询的代码行，变量依赖分析则在 50 行分块之间传递冗余变量上下文。作者在 620 对函数上报告检测准确率 89%、精确率 83%，纠正的修复率（FR）为 94%、正确修复率（CFR）为 64%，而他们运行的 DeGPT 分别为 83% 和 37%。
- [CHISEL：借助 AI 迭代恢复源码](https://awesomerea.org/zh/papers/paper-chisel-iterative-recovery/index.md)：2026 · SURE @ ACM CCS 2026 · 会议已接收 · CHISEL 利用编译诊断及针对原函数的类型感知差分模糊测试改进 Ghidra 伪代码，并保留反例与候选历史。既有 I/O 样例用于保留评测，不提供给恢复循环。
- [REx86：辅助 x86 汇编逆向工程的本地大语言模型](https://awesomerea.org/zh/papers/paper-rex86/index.md)：2025 · 2025 IEEE Annual Computer Security Applications Conference (ACSAC) · 会议论文 · 论文使用 5,981 个 x86 汇编样例微调了 CodeLlama、Qwen2.5-Coder 和 CodeGemma 系列的八个本地模型，并评估它们辅助二进制逆向工程的效果。
- [这还是同一份代码吗？WebAssembly 二进制反编译技术的全面研究](https://awesomerea.org/zh/papers/paper-wasm-decompiler-study/index.md)：2025 · SecureComm 2024 · 会议论文 · 以原生二进制反编译器为基线，衡量现有 WebAssembly 反编译器恢复 C 代码的能力。同一批 C 程序分别经 Emscripten 编译为 WebAssembly、经 clang 编译为原生代码，再由 wasm2c、w2c2 与 wasm-decompile，或由 Ghidra 与 RetDec 反编译。正确性评测复用 DecFuzzer 的 1,000 个 Csmith 程序，将输出重新编译并与原程序的执行结果比较；代码复杂度指标及与原始源码的 AST 相似度则在 PolyBenchC 和 CHStone 上以 -O0 至 -O2 测量。wasm2c 通过了全部 1,000 个正确性程序，wasm-decompile、Ghidra 和 RetDec 分别为 649、818 和 775 个。
- [BinMetric：面向大语言模型的综合二进制代码分析基准](https://awesomerea.org/zh/papers/paper-binmetric/index.md)：2025 · IJCAI 2025 · 会议论文 · BinMetric 提供六类二进制分析任务共 1,000 道题目：调用点重建、反编译、函数签名恢复、二进制代码摘要、算法分类与汇编指令生成。题目取自 20 个开源 C 项目：项目针对 x86-64 编译、剥离符号并经 IDA Pro 处理，再借助 DWARF 信息与源码对齐。作者使用单样例提示评测来自五个模型家族的 12 个大语言模型，并在适用任务上与 IDA Pro 反编译器、LLM4Decompile、BinT5 和 HexT5 对比。
- [探索大语言模型在代码去混淆中的潜力](https://awesomerea.org/zh/papers/paper-llm-code-deobfuscation/index.md)：2025 · DIMVA 2025 · 会议论文 · 研究将大语言模型用作源码到源码的去混淆器，处理经 Tigress 混淆器保护的 C 函数。研究从 ExeBench 选取函数并随机化标识符，再施加五种变换：MBA 算术编码、分支编码、控制流平坦化、不透明谓词和参数随机化。模型每次读入一个完整的混淆函数并输出简化后的 C 代码。DeepSeek Coder 6.7B 与 Code Llama 7B 在“混淆—原始”代码对上微调，GPT-4 通过提示使用，Clang 的 -O0 至 -O3 优化则作为编译器基线。简化效果以 Halstead 程序长度相对于原始代码与混淆代码的变化衡量，语法正确性通过编译 ExeBench 包装程序检查，语义正确性则用 ExeBench 输入／输出样例检查。微调模型在每种变换上降低复杂度的幅度都大于 GPT-4，除算术编码和参数随机化（Clang 与之相当）外也大于 Clang。模型在最多五个变换组成的链上训练，在六个和七个变换的链上得分仍保持稳定；最佳模型在最困难场景中平均将 Halstead 程序长度缩减 89.21%。随机化常量的记忆测试只发现一个样本复现了记忆中的代码。
- [DecompileBench：面向真实场景的反编译器综合评测基准](https://awesomerea.org/zh/papers/paper-decompilebench/index.md)：2025 · Findings of ACL 2025 · 会议论文 · 利用真实程序中的函数、运行时行为检查，以及 LLM 辅助的代码可理解性评估，比较传统反编译器与基于 LLM 的方法。
- [利用大语言模型反编译智能合约](https://awesomerea.org/zh/papers/paper-llm-evm-decompiler/index.md)：2025 · arXiv · 预印本 · 分两个阶段将以太坊虚拟机字节码转换为 Solidity。首先通过静态分析把字节码提升为带有恢复控制流的三地址码；随后由基于 238,446 对三地址码—Solidity 函数、以 LoRA 微调的 Llama-3.2-3B 模型逐个生成函数。作者在来自已验证以太坊合约的 9,731 个留出函数上报告，与原始源码的平均语义相似度为 0.82，78.3% 的函数高于 0.8。消融实验在 663 个函数上比较未微调的基础模型，案例研究则反编译了一个未验证的 Dx Protocol 合约和一个遭攻击的 MEV 机器人合约。
- [DecLLM：借助大语言模型实现可重新编译的反编译，支持以程序化方式使用反编译代码](https://awesomerea.org/zh/papers/paper-decllm/index.md)：2025 · Proceedings of the ACM on Software Engineering (ISSTA 2025) · 期刊论文 · DecLLM 将无法重新编译的反编译伪代码修复为可编译、可运行的 C 代码，使 CodeQL 等源码级工具能够用于二进制分析。其迭代流程把编译器错误反馈给现成的大语言模型，并回退非法输出和大段删除；随后利用重建程序与预期不符的测试输出及 AddressSanitizer 报告修复行为，最后对原始与重建的可执行文件进行模糊测试以发现行为差异。作者报告，使用 GPT-3.5 与 GPT-4 时，在 300 个 Code Contest 程序上的成功率分别为 74% 和 78.3%；在 Coreutils 与 CGC 二进制上，61.9%–70.9% 可重新编译，完全功能正常的占 48.1%–59.0%。
- [DiSCo：利用大语言模型将 EVM 字节码反编译为源代码](https://awesomerea.org/zh/papers/paper-disco/index.md)：2025 · Proceedings of the ACM on Software Engineering (FSE 2025) · 期刊论文 · DiSCo 通过提示冻结参数的大语言模型，把以太坊合约的创建字节码提升为 Solidity 源码，而不是输出反编译伪代码。它将控制流路径抽象为逻辑不变的语义单元，模拟执行从区块执行中捕获的创建字节码以恢复构造函数逻辑，并借助签名数据库与类型感知图模型推断被剥离的名称。这些单元被转写为自然语言描述，并与编码规范一起放入提示词。主要模型为 GPT-4，另测试了 Llama 3。
- [D-LiFT：通过代码质量驱动的微调改进基于大语言模型的反编译器后端](https://awesomerea.org/zh/papers/paper-d-lift/index.md)：2025 · arXiv · 预印本 · D-LIFT 使用 D-Score 指导大语言模型微调和输出选择，在优先保证准确性的同时改善反编译代码，并评估了 Ghidra 对 coreutils 和 util-linux 程序的输出。
- [ReF Decompile：通过重标记和函数调用增强反编译](https://awesomerea.org/zh/papers/paper-ref-decompile/index.md)：2025 · arXiv · 预印本 · ReF Decompile 通过重标记跳转目标、利用函数调用恢复变量信息，将二进制代码转换为源代码。论文在 HumanEval-Decompile 基准上进行了评估。
- [释放生成式模型在剥离符号二进制变量名恢复中的能力](https://awesomerea.org/zh/papers/paper-gennm/index.md)：2025 · NDSS 2025 · 会议论文 · GenNm 通过微调生成式代码模型（默认 CodeGemma-2B，另测试 CodeLlama-7B 及经 LoRA 微调的 CodeLlama-34B），为剥离符号二进制反编译代码中的占位变量建议名称。查询会加入沿调用图传播、已重命名的调用者代码与被调用者签名；类 DPO 的符号偏好优化（SymPO）抑制模型偏向训练集中高频名称，基于数据流的名称验证步骤则在多轮迭代中从候选名称里选择。作者报告，在重建的 DIRTY 与 VarCorpus 数据集上，其精确率比 VarBERT 和 ReSym 高 5.6–11.4 个百分点；对训练中未出现的名称，精确率为 22.8%，最强基线为 17.3%。
- [TypeForge：为去符号二进制合成并选择最适配的复合数据类型](https://awesomerea.org/zh/papers/paper-typeforge/index.md)：2025 · IEEE S&P 2025 · 会议论文 · TypeForge 从去符号二进制中恢复复合数据类型，包括结构体布局、联合体以及指针引用和嵌套关系。它在 Ghidra 反编译器推断出的变量之上构建全程序类型流图，传播成员偏移与大小，切断由类型转换和联合体引起的冲突边，并合成候选类型声明。大语言模型只在这些静态合成的候选中进行选择：每个候选通过反编译器的重定类型接口应用，再以双败淘汰赛比较所得伪代码的可读性。作者在 OSPREY 的 coreutils 数据集上报告复合类型识别 F1 为 81.7%、布局恢复 F1 为 88.2%、关系恢复 F1 为 72.1%。
- [Nova：结合层次注意力与对比学习的汇编代码生成式语言模型](https://awesomerea.org/zh/papers/paper-nova/index.md)：2025 · ICLR 2025 · 会议论文 · Nova 是面向 x86-64 汇编的生成式大语言模型，从 DeepSeek-Coder 检查点出发，以 AnghaBench 与 The Stack 代码经 gcc -O0 至 -O3 编译、剥离符号并规范化后的汇编训练。它加入为每条指令构建摘要的层次注意力，以及对比学习目标：使同一函数的源码与 O0–O3 汇编表示彼此接近，并按优化级别排序。针对反编译微调后，Nova-1.3B 与 Nova-6.7B 在 HumanEval-Decompile 上的平均 Pass@1 分别为 25.17% 和 34.36%，比同规模 LLM4Decompile 高 14.84 和 12.41 个百分点；另行微调的模型在六个真实项目上的 O0 对 O3 二进制代码相似性检测中取得最高的平均 Recall@1。
- [Malsight：结合恶意源代码与良性伪代码的二进制恶意软件迭代式摘要生成](https://awesomerea.org/zh/papers/paper-malsight/index.md)：2025 · IEEE Transactions on Information Forensics and Security · 期刊论文 · MALSIGHT 以函数为单位，为剥离符号的二进制恶意软件生成自然语言摘要。它先用 IDA Pro 生成伪代码和调用图，再按先被调用者、后调用者的顺序生成摘要，使每个调用者都能获得其被调用函数的摘要作为上下文；另有一个序列标注模型标记关键 API 调用和字符串，据此进行代码检索并由大语言模型生成注释。摘要模型 MalT5 是 0.77B 参数的 CodeT5+，先在 MalS 上微调，即来自 GitHub 的 89,609 个恶意 C 源码函数，其摘要由大语言模型生成并经人工审阅完善，再在 Capybara 数据集带注释的良性伪代码上微调。作者还提出了包含 500 个伪代码函数的测试集 MalP 和微调 BLEURT 得到的评测指标 BLEURT-sum，并报告 MalT5 的表现与规模大得多的 Code Llama 模型相当。
- [Lares：面向补丁存在性测试的大语言模型驱动代码切片语义搜索](https://awesomerea.org/zh/papers/paper-lares/index.md)：2025 · ASE 2025 · 会议论文 · Lares 在不重新编译项目的情况下，测试目标二进制函数中是否已包含某个已知 1-day 漏洞的修复。其输入为目标二进制、项目源码和补丁提交差异。补丁增强步骤借助 Tree-sitter 与 Joern 从源码中为改动语句较少的补丁补充数据流和控制流上下文。随后由大语言模型在目标函数的 IDA Pro 反编译伪代码中定位与每个补丁切片对应的伪代码切片。最后，匹配的切片被规范化为等式并交由 Z3 SMT 求解器检验等价性，Z3 无法建模的情况由大语言模型判断，从而确定该函数对应修复前版本还是已修复版本。在来自 OpenSSL、FreeType、tcpdump 和 libxml2 中 73 个 CVE 的 4,480 个测试用例上（使用 GCC 9.4.0 和 Clang 6 以 O0–O3 为 x86、x64 与 ARM 编译），作者报告使用 Claude 3.5 Sonnet 时 x86 上的平均 F1 为 0.77，Robin 与 PS3 分别为 0.67 和 0.68；在五种编译器—架构组合下 F1 为 0.71 至 0.77。
- [Decompile-Bench：面向真实二进制反编译的百万级二进制与源码函数对](https://awesomerea.org/zh/papers/paper-decompile-bench/index.md)：2025 · NeurIPS 2025 Datasets and Benchmarks · 会议论文 · 通过 Compile-Trace-Filter 流程构建 200 万组 C/C++ 二进制与源码函数对，并提供涵盖转写为 C/C++ 的 HumanEval、MBPP 任务及近期 GitHub 函数的评测集。
- [超越分类：借助领域适配的大语言模型推断去符号二进制中的函数名](https://awesomerea.org/zh/papers/paper-symgen/index.md)：2025 · NDSS 2025 · 会议论文 · SymGen 使用经 LoRA 微调的 Code Llama 模型生成去符号二进制的函数名，而不是在固定的名称词表上分类。每个去符号函数先由 Ghidra 反编译，再屏蔽其自身名称，并对被调用函数名进行归一化以便去重。微调之前，模型先以反编译代码及其对应源函数的大语言模型生成摘要进行领域适配。在 33 个 C 项目针对 x86-64、x86-32、ARM 和 MIPS 架构及 O0–O3 优化级别构建的函数上（经去重由 2,237,915 个减至 495,494 个），作者报告词级平均 F1 为 0.277（x86-64 上为 0.380），并给出混淆二进制与 Linux 恶意软件的案例研究。
- [ReSym：利用大语言模型恢复去符号二进制中的变量与数据结构符号](https://awesomerea.org/zh/papers/paper-resym/index.md)：2024 · ACM CCS 2024 · 会议论文 · 结合两个微调语言模型与基于 Prolog 的跨函数推理，从去符号二进制的反编译结果中推断局部变量符号及用户自定义数据结构。
- [自构造上下文反编译与细粒度对齐增强](https://awesomerea.org/zh/papers/paper-sc2dec/index.md)：2024 · Findings of EMNLP 2024 · 会议论文 · 为大语言模型将函数级 x86-64 GCC 汇编反编译为 C 的流程增加两项技术。自构造上下文反编译（sc²dec）无需微调：把模型首次生成且可编译的结果重新编译，以得到的汇编—源码对作为上下文示例再次反编译。细粒度对齐增强（FAE）利用 DWARF 调试信息构造语句级汇编—C 对齐数据，以 LoRA 微调 llm4decompile-6.7b。两者结合后，作者报告在 Decompile-Eval 上的平均可重执行率为 52.41%，基础模型为 48.60%。
- [LLM4Decompile：使用大语言模型反编译二进制代码](https://awesomerea.org/zh/papers/paper-llm4decompile/index.md)：2024 · EMNLP 2024 · 会议论文 · 训练语言模型将汇编反编译为 C，并改进 Ghidra 伪代码，以恢复函数能否重新编译并正确执行为评估目标。
- [WaDec：基于大语言模型的 WebAssembly 反编译](https://awesomerea.org/zh/papers/paper-wadec/index.md)：2024 · ASE 2024 · 会议论文 · WaDec 使用循环级 wat–C 代码片段对，以 LoRA 微调 CodeLlama-7b，将 WebAssembly 文本格式（wat）反编译为 C。它按依赖关系排列函数并进行切片，使每个输入至多包含一个循环，嵌套循环以标记替代。提示中补充被调用函数的声明、此前已定义的局部变量以及偏移到字符串的映射；随后重组输出，恢复字符串常量并重命名变量。训练数据来自经 Emscripten 编译的 51,768 个 the-stack-dedup 程序和 377 个 TheAlgorithms/C 程序。作者在 3,977 个 C 文件上报告，代码膨胀率为 3.34%，可重新编译率为 52.11%，可重新执行率为 43.55%，输出一致率为 27.15%，并与 Wasm2c 及 Ghidra 进行比较。
- [大语言模型理解二进制代码的能力已走多远](https://awesomerea.org/zh/papers/paper-llm-binary-understanding/index.md)：2024 · ICSME 2024 · 会议论文 · 在剥离符号二进制的函数名恢复与代码摘要两项任务上，评测 16 个代码领域与通用领域的大语言模型。基准选取 12 个热门 C 项目编译为 x86-64，剥离并用 IDA Pro 反编译 28 个二进制，借助 DWARF 将 81,185 个函数与源码对齐，经专家审核后保留 2,000 个函数。零样本大语言模型与 SymLM、NER、BinT5 和 HexT5 进行比较。Code Llama 34B 在函数名恢复上以 27.59 的词元级 F1 领先，ChatGPT 在摘要任务上以 7.37 的 BLEU-4 领先。研究还考察了少样本提示、两个 7B 模型基于 GNU 二进制的 LoRA 微调，以及针对一个剥离符号的开源 Linux 远程访问木马的案例研究。
- [CLAP：借助自然语言监督学习可迁移的二进制代码表示](https://awesomerea.org/zh/papers/paper-clap/index.md)：2024 · ACM ISSTA 2024 · 会议论文 · CLAP（对比式语言—汇编预训练）学习与自然语言解释对齐的汇编函数嵌入。其数据引擎以 GCC 和 Clang 在 O0–O3 与 Os 下编译 Ubuntu 的 C/C++ 软件包，由 GPT-3.5 为约 260 万个对应的源码函数生成解释，再用其中一半解释微调 Vicuna-13B“影子模型”为更多代码生成说明，最终得到 1.95 亿对汇编—解释数据。采用地址重定基、WordPiece 分词与跳转感知嵌入的 1.1 亿参数汇编编码器先在汇编上预训练，再与文本编码器进行对比对齐。所得嵌入可通过将代码与文本提示匹配来实现零样本分类。在候选池为 10,000 个函数的 BinaryCorp-3M 相似性检索中，零样本 CLAP 的平均 recall@1 为 0.836，经微调的 jTrans 为 0.571。
- [TYGR：基于图神经网络的剥离符号二进制类型推断](https://awesomerea.org/zh/papers/paper-tygr/index.md)：2024 · USENIX Security 2024 · 会议论文 · TYGR 在 angr 的 VEX 中间表示上执行与架构无关的过程内数据流分析，并用图神经网络对每个变量的数据流图进行分类，从而推断剥离符号二进制中栈变量与堆变量的类型。它可预测基本类型、指针及结构体成员布局，覆盖其数据中观察到的 97.1% 的类型。作者还构建了 TyDa：由 Gentoo 与 Debian 的 C 软件包以 O0–O3 编译、保留调试信息的 163,643 个二进制，涵盖 x86、x64、AArch64、Arm32 与 MIPS，并在划分评测子集前对其中函数去重。作者报告在 x64 的 O0–O3 上整体准确率为 76.6%、结构体准确率为 45.2%，并称整体准确率与结构体准确率分别至少超出已有工作 26.1% 和 10.2%。
- [D-Helix：基于符号差分的通用反编译器测试框架](https://awesomerea.org/zh/papers/paper-d-helix/index.md)：2024 · USENIX Security 2024 · 会议论文 · 在无需源码的前提下，逐函数测试反编译器对二进制的处理。RECOMPILER 修复反编译所得的 C 代码，使单个函数能够重新编译；SYMDIFF 借助打过补丁的 angr 与 PROMPT 符号执行器，比较原始二进制函数与重新编译后的反编译函数的符号模型；TUNER 通过切换反编译器的启发式规则，定位造成偏差的规则，并在部分情况下予以规避。作者在 Ghidra 10.0 与 angr 9.2.30 上，使用来自 coreutils、util-linux 及六个热门 GitHub C 项目的 2,004 个二进制与目标文件，得到 93K 个反编译函数；报告发现 4,515 个反编译错误的函数，复现 8 个已知缺陷，发现 17 个此前未知的缺陷，并自动修复 7 个缺陷。
- [代码并非自然语言：释放面向语义的图表示在二进制代码相似性检测中的潜力](https://awesomerea.org/zh/papers/paper-hermessim/index.md)：2024 · USENIX Security 2024 · 会议论文 · HermesSim 将每个函数提升为 Ghidra P-code，并构建面向语义的图，以显式表示指令内部的操作数结构、定义—使用关系、控制流及副作用顺序，同时舍弃与语义无关的细节，例如由哪个寄存器临时保存某个值。它使用带多头 softmax 聚合器的门控图神经网络对图进行嵌入，再按嵌入相似度比较函数。作者在 Marcelli 等人发布的 Dataset-1 基准上报告：在 10,000 个函数的候选池中进行 x64 跨编译器检索时，RECALL@1 为 48.1%，经微调的 jTrans 为 31.4%；HermesSim 模型参数量为 388K。
- [C 语言反编译器保真度问题分类](https://awesomerea.org/zh/papers/paper-decompiler-fidelity-taxonomy/index.md)：2024 · USENIX Security 2024 · 会议论文 · 对反编译所得与原始 C 函数构成的代码对进行开放式编码，归纳反编译器输出在缺失名称与类型之外如何偏离源码。作者借助语句对齐抽象与主题分析，构建包含 15 个顶层类别、共 52 个编码的层级化编码手册，既涵盖不等价表达式、错误返回行为等正确性问题，也涵盖多余变量、不符合惯用写法的控制流及反编译器特有宏等可读性问题。该编码手册基于 Hex-Rays 输出建立，并应用于 Ghidra、retdec 与 angr；作者据此提出以类型预测、基于规则的修正及整程序级学习技术来应对各类缺陷。
- [CodeArt：在缺少符号时通过注意力正则化改进代码模型](https://awesomerea.org/zh/papers/paper-codeart/index.md)：2024 · Proceedings of the ACM on Software Engineering (FSE 2024) · 期刊论文 · CodeArt 基于 jTrans 的 BinaryCorp 构建的 2,600 万个剥离符号的 x86-64 函数，从零开始预训练一个 BERT 规模的编码器。它不依赖符号，而是利用 IDA Pro 控制流图和面向二进制的数据流分析计算控制依赖与数据依赖，再通过注意力掩码，使每个词元只能关注与其存在传递依赖关系的指令、同一条指令内的词元以及全局 [CLS] 词元；预训练时同时遮蔽词元并扰动依赖图。作者将其微调用于二进制相似性分析、恶意软件家族分类和类型推断，报告相对已有模型的提升为：在 500 个函数的候选池中相似性 recall@1 由 53% 升至 64%，恶意软件家族分类 LRAP 由 49% 升至 60%，类型推断平均 F1 由 74% 升至 94%。
- [StackSight：借助大语言模型与神经符号思维链反编译揭示 WebAssembly](https://awesomerea.org/zh/papers/paper-stacksight/index.md)：2024 · ICML 2024 · 会议论文 · StackSight 借助大语言模型提示，将 WebAssembly 文本格式（WAT）函数反编译为 C++。它先通过静态分析为每条 WAT 指令标注虚拟栈状态，在分支分叉处使用符号记法；再用单样例思维链提示，要求模型恢复变量含义、总结函数功能并写出 C++。使用 GPT-4 时，与单样例提示相比，通过全部基准测试的输出比例在 HumanEval-X 上从 19.7% 升至 36.5%，在 MBXP 上从 42.4% 升至 59.6%；论文还评估了 GPT-3.5 与 Code Llama-7B-Instruct。
- [STRIDE：反编译可执行文件中的简单类型识别](https://awesomerea.org/zh/papers/paper-stride/index.md)：2024 · arXiv · 预印本 · STRIDE 不使用神经网络模型，而是预测反编译器输出中变量的名称和类型。它基于带已知标签的训练反编译结果构建数据库，将每处变量出现位置紧邻左右两侧的词元序列（N-gram，N 取 2 至 60）映射到出现频率最高的五个名称或类型。变量占位名会被规范化，类似地址的词元和较大的常量会被分桶，以便 N-gram 能够匹配。预测时，它在每处出现位置的两侧查找最长的匹配 N-gram，按匹配的特异程度为返回的标签打分，并在整个函数内累加得分。原型约有 1,000 行 Python 代码，在 CPU 上运行。作者报告，在训练集中未出现的 DIRT 函数上，类型恢复准确率为 66.4%（启用束搜索的 DIRTY 为 52.3%），重命名准确率为 56.2%（VarBERT 的已报告结果为 51.3%）。在 16 个 VarCorpus 划分中，其重命名准确率在 11 个划分上高于 VarBERT，平均高 1.55 个百分点。预测在 CPU 上每个函数耗时 8.2 毫秒，而 VarBERT 在 NVIDIA L4 GPU 上为 43.7 毫秒。
- [探索大型语言模型（GPT-4）在二进制逆向工程中的效能](https://awesomerea.org/zh/papers/paper-gpt4-binary-re/index.md)：2024 · arXiv · 预印本 · 论文评估 GPT-4 在二进制逆向工程中的表现，考察其对人工编写代码和反编译代码的理解与解释，涵盖基础代码解读和恶意软件分析。
- [评估大语言模型对真实恶意软件活动中恶意代码的去混淆能力](https://awesomerea.org/zh/papers/paper-llm-malware-deobfuscation/index.md)：2024 · arXiv · 预印本 · 论文使用 Emotet 恶意软件活动中的真实恶意脚本，评估四种大语言模型的去混淆能力及其在逆向工程中的应用。
- [跨内联的二进制函数相似性检测](https://awesomerea.org/zh/papers/paper-cross-inlining-bfsd/index.md)：2024 · ICSE 2024 · 会议论文 · 研究函数内联使一个二进制函数对应多个源码函数时的二进制函数相似性检测。作者基于 BinKit，将 51 个 GNU 项目分别在启用与禁用 -fno-inline 的条件下编译（9 个 GCC 与 Clang 版本、O0–O3、x86、ARM 与 MIPS 共六种目标，各 216 种组合），并利用调试行号映射标注 5,621,140 个跨内联函数对。作者归纳出叶内联、根内联与内部内联三种模式，表明 Gemini、SAFE 与 GMN 在这些模式上准确率下降，并提出 CI-Detector：针对每种模式训练一个基于属性控制流图的图神经网络，再聚合各模型得分，报告精确率为 81%、召回率为 97%。
- [BinaryAI：基于智能二进制—源代码匹配的二进制软件成分分析](https://awesomerea.org/zh/papers/paper-binaryai/index.md)：2024 · ICSE 2024 · 会议论文 · BinaryAI 通过将剥离符号的二进制中的函数与源代码匹配，识别其复用了哪些开源 C/C++ 库。它先用 Ghidra 将每个二进制函数反编译为类 C 伪代码，再用以 CLIP 式对比损失、在约 1,000 万对二进制—源码函数上训练的 Pythia-410M 模型，把伪代码与源码函数嵌入同一向量空间。从包含 12,013 个库、56,342,179 个源码函数的语料中检索出候选后，方法借助链接时的位置局部性和调用图加以精炼；当某个库中被匹配函数的比例超过阈值时，即判定二进制包含该库。作者报告其 recall@1 为 22.54%，CodeCMR 为 10.75%；库识别的精确率与召回率分别为 85.84% 和 64.98%，一款未具名商业工具为 73.36% 和 59.81%。
- [FoC：利用大语言模型识别去符号二进制文件中的密码函数](https://awesomerea.org/zh/papers/paper-foc/index.md)：2024 · arXiv · 预印本 · FoC 使用 FoC-BinLLM 概括去符号二进制文件中密码函数的语义，并使用 FoC-Sim 检索相似实现。论文评估了两个模型，以及它们在病毒分析和已披露一天的漏洞检测中的应用。
- [SLaDe：面向优化汇编的可移植小语言模型反编译器](https://awesomerea.org/zh/papers/paper-slade/index.md)：2024 · IEEE/ACM CGO 2024 · 会议论文 · SLaDe 使用 200M 参数的编码器—解码器模型、面向代码的分词及 PsycheC 类型补全，将函数级汇编转换为 C。研究覆盖 x86 与 ARM 的 -O0、-O3 设置，并结合生成候选与输入／输出检查。输入是汇编文本而非原始机器字节，反汇编不属于该方法。
- [CEBin：面向大规模二进制代码相似性检测的低成本框架](https://awesomerea.org/zh/papers/paper-cebin/index.md)：2024 · arXiv · 预印本 · CEBin结合代码嵌入筛选候选函数，再通过成对比较检测相似的二进制代码，包括含漏洞的函数。
- [“len、index 或 count，就是别叫 v1”：基于迁移学习预测反编译输出中的变量名](https://awesomerea.org/zh/papers/paper-varbert/index.md)：2024 · IEEE S&P 2024 · 会议论文 · VarBERT 使用 BERT 式模型为 IDA Hex-Rays 与 Ghidra 的反编译输出建议变量名：模型先以来自 Debian 的 520 万个人工编写的 C 函数预训练，再以反编译代码微调；它还预测每个变量出自开发者，还是由反编译器引入。作者从 Gentoo 的 C 与 C++ 软件包构建 VarCorpus，在 O0 至 O3 下编译为 x86-64，并借助调试符号为反编译变量标注名称。在 O2 二进制的按函数划分上，IDA 与 Ghidra 的 Top-1 准确率分别为 54.43% 和 54.49%；在 IDA-O0 子集上为 50.70%，DIRE 与 DIRTY 分别为 35.94% 和 38.00%。
- [DeGPT：使用大语言模型优化反编译器输出](https://awesomerea.org/zh/papers/paper-degpt/index.md)：2024 · NDSS 2024 · 会议论文 · 通过三个协同角色选择、提出并检查修改，改进已有的类 C 反编译输出。其流程简化代码结构、添加注释并重命名变量，在接受结构修改前，使用微代码片段语义计算比较模拟的符号值与调用。作者以四个代码库中的 620 个函数评估可读性与命名效果，并分别测试保留与剥离符号的版本。
- [Assemblage：面向机器学习的二进制数据集自动构建](https://awesomerea.org/zh/papers/paper-assemblage/index.md)：2024 · NeurIPS 2024 Datasets and Benchmarks · 会议论文 · Assemblage 是一个分布式系统，从 GitHub 与 vcpkg 爬取 C/C++ 项目，在多种编译器配置下构建，并记录源码到二进制的映射，包括函数地址、源代码、注释以及 PDB 或 DWARF 调试信息。该系统在 AWS 上运行约一年，以 Visual Studio 2015–2022 在不同优化级别、架构及 Debug／Release 模式下构建出 89 万个 Windows PE 二进制，另以 GCC 与 Clang 构建出 42.8 万个 Linux ELF 二进制，共涵盖 29 种配置。案例研究将这些数据用于 PassTell 编译器溯源、图神经网络与 jTrans 函数相似性检测，以及比较 XDA 与 IDA 的函数边界识别。
- [二进制代码摘要：ChatGPT／GPT-4 及其他大语言模型的基准评测](https://awesomerea.org/zh/papers/paper-binsum/index.md)：2023 · arXiv · 预印本 · BinSum 评测大语言模型以自然语言概括二进制函数的能力。作者使用 GCC 7.5 将 44 个 GNU 项目编译为 x86、x64、ARM 和 MIPS 架构、-O0 至 -O3 优化级别的二进制，把 557,664 个二进制函数与开发者注释匹配作为参考摘要，并以原始字节、汇编、IDA 微码，以及带或不带符号的反编译代码等形式呈现每个函数。GPT-4、ChatGPT、Llama 2 与 Code Llama 使用从 320 个由 GPT-4 生成的候选中选出的提示词，并以经过微调的 BinT5 作为基线；输出以嵌入相似度并结合 BLEU、METEOR 与 ROUGE-L 评分。反编译代码是最有用的表示形式，剥离符号会使平均相似度分数从 0.449 降至 0.202。
- [利用大语言模型改进反编译的 C 代码](https://awesomerea.org/zh/papers/paper-dec-gpt/index.md)：2023 · arXiv · 预印本 · 论文提出一种两步混合方法，利用大语言模型改进 IDA-Pro 反编译生成的 C 代码，使其能够重新编译。在一组常见的 C 测试用例上，该方法以适度工作量实现了超过 75% 的重新编译成功率。
- [kTrans：用于二进制代码嵌入的知识感知 Transformer](https://awesomerea.org/zh/papers/paper-ktrans/index.md)：2023 · arXiv · 预印本 · kTrans 使用融合汇编语言知识的 Transformer 生成二进制代码嵌入。论文通过离群点检测和可视化考察嵌入，并评估其在二进制代码相似性检测、函数类型恢复和间接调用识别中的表现。
- [反编译 x86 深度神经网络可执行文件](https://awesomerea.org/zh/papers/paper-btd/index.md)：2023 · USENIX Security 2023 · 会议论文 · BTD（Bin to DNN）将深度学习编译器生成、已剥离符号的 64 位 x86 可执行文件反编译为模型规格：算子类型、网络拓扑、维度与参数。学习得到的分类器把反汇编函数标注为 DNN 算子，Intel Pin 动态分析将算子串联起来，再在经污点分析裁剪的执行轨迹上进行符号执行，借助针对各算子的模式恢复维度与参数布局。作者在 PyTorch 中重建恢复出的模型并重新编译，以便与原可执行文件比较行为。
- [XFL：基于极端多标签学习的二进制函数命名](https://awesomerea.org/zh/papers/paper-xfl/index.md)：2023 · IEEE S&P 2023 · 会议论文 · XFL 将去符号二进制中的函数命名视为极端多标签分类：函数名被拆分为词元，再由 PfastreXML 从常见标签词表中为每个函数排序合适的词元。其 DEXTER 嵌入结合基于 angr VEX 中间表示的静态分析特征、调用图上下文和整个二进制的全局上下文，另有一个语言模型把预测的词元排列成函数名字符串。在来自 Debian 软件包、共 10,047 个 x86-64 C 二进制中的 741,724 个函数上，以 1,024 个标签的词表，作者报告精确率 0.835、召回率 0.575、F1 0.681，在精确率和 F1 上领先 Punstrip、Debin 与 Nero。
- [基于可解释特征工程重新审视二进制代码相似性分析及经验教训](https://awesomerea.org/zh/papers/paper-binkit/index.md)：2023 · IEEE Transactions on Software Engineering · 期刊论文 · 构建可复现的交叉编译基准 BinKit，包含由 51 个 GNU 软件包生成的 243,128 个二进制和 36,256,322 个函数，覆盖八种架构、九个 GCC 与 Clang 版本、五个优化级别，以及 PIE、LTO、禁止内联和 Obfuscator-LLVM 等选项构成的 1,352 种组合。可解释基线 TikNib 基于简单的前语义函数特征，衡量编译器、编译选项与架构如何改变这些特征。作者报告称，少量基本特征即可接近深度学习工具的准确率，加入类型特征后 AUC 超过 0.99，并将失败案例归因于 IDA Pro 分析错误、编译器后端差异和架构特定代码。
- [Asteria-Pro：融合领域知识提升基于深度学习的二进制代码相似性检测](https://awesomerea.org/zh/papers/paper-asteria-pro/index.md)：2023 · arXiv · 预印本 · Asteria-Pro 在基于 Tree-LSTM 的二进制代码相似性检测中加入领域知识预筛选和重排序，并评估其在不同物联网硬件架构的固件漏洞搜索中的表现。
- [SymLM：基于上下文敏感、执行感知代码嵌入的去符号二进制函数名预测](https://awesomerea.org/zh/papers/paper-symlm/index.md)：2022 · ACM CCS 2022 · 会议论文 · SymLM 将去符号二进制的函数名预测为一组名称单词。它使用在微执行轨迹上预训练的 Trex 模型编码每个函数的指令，将其与取自 Ghidra 过程间控制流图的调用者、内部被调用函数及外部库调用的嵌入融合，再由 MLP 解码器对固定词表中的单词打分；名称预处理和词嵌入模块 CodeWordNet 用于处理缩写与同义词。在 27 个项目的 16,027 个二进制、共 1,431,169 个函数上（涵盖 x86、x64、ARM 与 MIPS，O0–O3 优化级别及四种 Hikari 混淆），作者报告加权平均精确率 0.634、召回率 0.677、F1 0.655，并给出固件案例研究。
- [机器学习如何解决二进制函数相似性问题](https://awesomerea.org/zh/papers/paper-binary-function-similarity/index.md)：2022 · USENIX Security 2022 · 会议论文 · 在统一的、基于 IDA Pro 的框架中重新实现来自安全、程序语言与机器学习三个研究社区的十种代表性方法，对二进制函数相似性研究开展测量，方法涵盖模糊哈希（Catalog1、FunctionSimSearch）以及图神经网络、NLP 编码器与 Transformer 模型。两个新数据集支撑六项改变优化级别、编译器、位宽与架构的任务，以 AUC 和排序指标评分，另含一项固件漏洞搜索案例。作者报告称，模糊哈希在较难的跨架构场景中失效，基于图神经网络的模型几乎在所有任务中表现最佳，许多近期模型在相同数据上的得分相近。
- [DeepDi：在指令上学习关系图卷积网络模型以实现快速准确的反汇编](https://awesomerea.org/zh/papers/paper-deepdi/index.md)：2022 · USENIX Security 2022 · 会议论文 · DeepDi 对 x86 与 x64 二进制进行反汇编：先解码候选指令的超集，再以前向、后向与重叠关系将其连接成指令流图，并用关系图卷积网络识别真实指令；随后借助启发式规则和一个小型分类器恢复函数入口。作者在 BAP 语料、Windows 上以 MSVC 构建的 LLVM 11，以及 SPEC CPU2006 与 CPU2017 上报告，其准确率与 IDA Pro、Binary Ninja、Ghidra、Datalog Disassembly 和 XDA 相当或更优，在 Linn–Debray 与 Hikari 混淆二进制上表现稳健，单核 CPU 吞吐量为 146 KB/s（约为 IDA Pro 的两倍），GPU 吞吐量为 24.5 MB/s（约为 IDA Pro 的 350 倍）。
- [Decomperson：人类如何反编译以及我们能从中学到什么](https://awesomerea.org/zh/papers/paper-decomperson/index.md)：2022 · USENIX Security 2022 · 会议论文 · 将人工逆向工程重新表述为“完美反编译”：编写源码，使其在原始工具链与编译选项下编译后，能完全复现目标函数的二进制代码。作者开发了 Decomperson——一个对每次提交进行编译、反汇编、测试与差异比对的网页编辑器，并在 2020 年 11 月举办的 24 小时 Jeopardy 式竞赛 Decompetition 中使用；竞赛包含 23 个未剥离符号、以 C、C++、Go、Rust 与 Swift 编写的挑战二进制。150 余名参与者提交了 35,000 多份代码，其中 300 多份达到完美反编译；除一个挑战外，其余均被完美反编译。作者分析记录下的编辑历史，以描述人类的反编译过程。
- [利用学习得到的变量名称与类型增强反编译输出](https://awesomerea.org/zh/papers/paper-dirty/index.md)：2022 · USENIX Security 2022 · 会议论文 · 提出 Transformer 模型 DIRTY，根据反编译代码和布局信息推荐变量名与类型，并提供用于训练和评估的 DIRT 语料。
- [jTrans：面向二进制代码相似性检测的跳转感知 Transformer](https://awesomerea.org/zh/papers/paper-jtrans/index.md)：2022 · ACM ISSTA 2022 · 会议论文 · jTrans 使用 BERT 风格的 Transformer 为二进制函数生成嵌入，以支持相似性检索。其跳转感知表示让直接跳转的操作数词元与跳转目标的位置嵌入共享参数，从而无需单独的图神经网络即可将控制流引入指令序列。模型先以掩码语言建模和跳转目标预测进行预训练，再以余弦三元组目标在同一源码不同优化级别编译出的函数上微调。论文还发布了 BinaryCorp，它由 gcc 与 g++ 编译 Arch Linux 官方仓库及 AUR 中的 C/C++ 软件包构建而成。
- [ExeBench：机器学习规模的可执行 C 函数数据集](https://awesomerea.org/zh/papers/paper-exebench/index.md)：2022 · ACM SIGPLAN MAPS 2022 · 会议论文 · ExeBench 是数据集，而非反编译器。它从 GitHub 与 AnghaBench 中提取 C 函数，通过查找真实的头文件与定义或注入合成定义使其可编译，再依据函数签名生成输入／输出样例，并以 C++ 包装器运行每个函数。精确去重后，作者报告共有 4,485,817 个可编译函数和 687,843 个可执行函数，其中 124,612 个带有常量或恒等实现无法通过的丰富 IO；论文还说明每行数据附有 O0、Os 与 Ofast 下的 x86 和 ARM 汇编。SLaDe、LLM4Decompile 等反编译研究随后用它检验反编译函数能否正确重新执行。
- [Elipmoc：以太坊智能合约的高级反编译](https://awesomerea.org/zh/papers/paper-elipmoc/index.md)：2022 · Proceedings of the ACM on Programming Languages (OOPSLA 2022) · 期刊论文 · Elipmoc 将以太坊虚拟机字节码反编译为结构化的三地址中间表示，服务于安全分析与逆向工程。它由基于 Datalog 的 Gigahorse 反编译器演进而来，新增事务上下文敏感性、结合路径合并的路径敏感函数参数与返回值推断，以及完全上下文敏感的私有函数重建。作者在 2021 年 4 月至 9 月间首次部署于主网的 5,000 个唯一合约的均匀随机样本上，报告 99.5% 的合约操作数被完全解析（Gigahorse 为 62.8%），识别出的唯一外部调用签名比 Etherscan 的 Panoramix 多 67%，且反编译速度快 5 倍以上。
- [随堂测验！大语言模型能帮助逆向工程吗？](https://awesomerea.org/zh/papers/paper-pop-quiz-llm-re/index.md)：2022 · arXiv · 预印本 · 检验 OpenAI 的 Codex 模型 code-davinci-001 能否在零样本问答式提示中回答有关 C 代码的逆向工程问题。程序来自作者编写的模板，涵盖网络安全代码片段以及 PID 控制器、滤波器等工业控制算法，另有五个来自 vx-underground 的单文件 Linux 恶意软件样本。每个程序以原始或名称随机化的源码，或以 gcc -O1 构建（带调试信息、不带调试信息或剥离符号）经 Ghidra 反编译的形式呈现。在探索性的开放式提问之后，作者针对程序用途、能力与关键变量自动生成判断题和简答题，并依据答案标准评分；Codex 在 136,260 个问题中答对 72,754 个。
- [超越 C：基于神经机器翻译的可重定向反编译](https://awesomerea.org/zh/papers/paper-beyond-the-c/index.md)：2022 · Workshop on Binary Analysis Research (BAR) 2022 · 会议论文 · BTC（Beyond The C）将反编译视为从编译器输出的 x86-64 汇编到源码的纯文本翻译，分别在汇编与源码上训练字节对编码分词器，并使用标准 fairseq Transformer。它借助编译器输出的 CFI 与行号指令配对函数，而非依赖特定语言的解析器、编译器插件或提升器，因此同一流程可针对 Go、Fortran、OCaml 与 C 重新训练。训练集规模从小型 C、Go 与 Fortran 语料的约 10,000 个函数，到基于 Debian 软件包构建的 200 万个 C 函数不等。在大型 C 数据集上训练的最佳模型，在留出函数上的归一化平均编辑距离为 0.46。
- [Asteria：基于深度学习的抽象语法树编码，用于跨平台二进制代码相似性检测](https://awesomerea.org/zh/papers/paper-asteria/index.md)：2021 · 2021 51st Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN) · 会议论文 · ASTERIA 使用 Tree-LSTM 编码函数的抽象语法树，以比较不同平台上的二进制函数。论文评估了函数对的相似性检测，并将其用于物联网固件漏洞搜索。
- [Trex：从微轨迹中学习执行语义以识别相似二进制函数](https://awesomerea.org/zh/papers/paper-trex/index.md)：2020 · arXiv · 预印本 · Trex 从函数微轨迹中学习执行语义，再利用所学知识匹配语义相似的二进制函数。
- [基于增强控制流图的剥离符号二进制神经逆向工程](https://awesomerea.org/zh/papers/paper-nero/index.md)：2020 · Proceedings of the ACM on Programming Languages (OOPSLA 2020) · 期刊论文 · Nero 为剥离符号的 x86-64 Linux 可执行文件中的过程预测名称，并不生成反编译代码。它通过静态分析重建调用点（包括导入的 API 名称），并沿控制流路径为参数补充具体值与抽象值。LSTM、Transformer 与图神经网络编码器处理由此得到的增强调用点图，再由解码器以子词序列生成名称。在 GNU 软件包测试集上，作者报告 Nero-GNN 的 F1 为 45.53，改造后的 DIRE 为 35.52，Debin 为 33.66。
- [我们走了多远：C 反编译器反编译正确性测试](https://awesomerea.org/zh/papers/paper-decfuzzer/index.md)：2020 · ACM ISSTA 2020 · 会议论文 · 测试 C 反编译器能否保持程序行为。作者的 DecFuzzer 编译由 Csmith 生成的程序，反编译所得可执行文件，在源码中用反编译出的函数替换原函数后重新编译，并比较两个程序的输出；随后通过模输入等价（EMI）变异，从种子程序派生更多测试程序。作者在四种常用反编译器上报告了 1,423 个触发反编译错误的输入，并经人工分析在两个开源反编译器中确认 13 个缺陷。他们认为现代反编译器在功能正确性上取得了切实进展，但类型恢复与优化仍妨碍其输出准确的代码。
- [无需控制流恢复的二进制重写](https://awesomerea.org/zh/papers/paper-e9patch/index.md)：2020 · PLDI 2020 · 会议论文 · E9Patch 对 x86-64 二进制进行静态重写：插入跳转到跳板代码的指令，而不移动其他任何指令，从而保留原有跳转目标集合，无需控制流恢复、符号化或调试信息。当五字节跳转放不下时，它通过指令双关、填充以及后继或邻近指令驱逐，使跳转与已有字节重叠，或把邻近指令移入各自的跳板；物理页分组则降低分散跳板带来的内存与文件体积开销。指令位置由独立的前端提供，评测中使用的是基础线性反汇编器。作者评测了 SPEC2006、Ubuntu 16.04 系统二进制以及超过 100 MB 的 Chrome 与 Firefox，并演示了二进制修复和基于低胖指针的堆写加固。
- [RetroWrite：为模糊测试与内存检测静态插桩商用现成二进制](https://awesomerea.org/zh/papers/paper-retrowrite/index.md)：2020 · IEEE S&P 2020 · 会议论文 · RetroWrite 通过生成可重汇编的汇编代码，对 64 位位置无关的 Linux 二进制进行静态改写，从而像在编译时一样插入插桩代码。它不依赖启发式规则，而是依据二进制自身的元数据进行符号化：控制流操作数、位置无关代码必须使用的 PC 相对寻址以及数据重定位均被转换为汇编标签，从而区分引用与标量。作者在此基础上实现了 AFL 覆盖率插桩和仅针对二进制的 AddressSanitizer。他们报告其模糊测试吞吐量与编译器插桩相当，比 AFL 的 QEMU 模式快 4.5 倍，并在 LAVA-M 上发现更多缺陷；在 SPEC CPU2006 上，二进制 ASan 比 Valgrind memcheck 快 3 倍，并在作者的评测中多检测出 80% 的缺陷，其检测覆盖率测试采用 Juliet 内存破坏用例。
- [BinRec：动态二进制提升与重编译](https://awesomerea.org/zh/papers/paper-binrec/index.md)：2020 · EuroSys 2020 · 会议论文 · BinRec 依据动态执行轨迹而非静态反汇编，将可执行文件提升为 LLVM 中间表示，再将其降级为恢复出的二进制，从而可用编译器优化遍对其进行优化、加固或其他变换。追踪阶段在 S²E 中运行二进制，由 S²E 经 QEMU 将执行到的代码翻译为 LLVM 中间表示；BinRec 去除仿真插桩，将多个输入的轨迹合并为一个程序，并加入寄存器去别名、将仿真状态提升为局部变量等优化。恢复出的二进制若进入未被追踪的路径，可配置的处理程序会停止执行、回退到原始代码，或增量提升新路径。作者报告恢复了全部 SPEC CINT2006 基准程序（包括 C++ 程序），并将其用于重新优化、控制流完整性、AddressSanitizer 与 SafeStack 加固，以及对虚拟化混淆代码的部分去混淆。
- [面向任意二进制文件和目标代码序列的实用化 CPU 架构与字节序自动检测](https://awesomerea.org/zh/papers/paper-isadetect/index.md)：2020 · Proceedings of the Tenth ACM Conference on Data and Application Security and Privacy · 会议论文 · 论文构建开放数据集和工具，用于识别二进制文件及目标代码的 CPU 架构和字节序，并使用可执行文件的代码段评估分类器，报告准确率超过 98%。
- [Egalito：与布局无关的二进制重编译](https://awesomerea.org/zh/papers/paper-egalito/index.md)：2020 · ASPLOS 2020 · 会议论文 · Egalito 对去除符号的 x86-64 与 ARM64 二进制进行静态重编译，借助位置无关的可执行文件和库所携带的元数据，恢复完整的反汇编，使每一处代码与数据交叉引用都成为显式链接。其与布局无关的中间表示 EIR 贴近机器码，因此重新生成的输出可预测，同时提供更高层的视图用于分析；对于没有元数据的跳转表，则借助数据流分析推断。由于不受原始布局约束，工具可以自由移动或改写代码；作者构建了九种工具，包括由 Egalito 变换自身的持续代码随机化、retpoline 防御以及 Intel CET 的软件模拟。作者报告，在来自 172 个 Debian 软件包的 867 个可执行文件与库中，有 866 个的跳转表与编译器给出的真实结果一致；变换后的 149 个软件包中有 90 个通过全部测试；在 SPEC CPU 2006 上性能提升 1.7%。
- [DIRE：基于神经网络的反编译标识符命名方法](https://awesomerea.org/zh/papers/paper-dire/index.md)：2019 · ASE 2019 · 会议论文 · 结合反编译输出中的词法与结构信息预测有意义的变量名，并使用编译 C 项目构建训练和评估语料。
- [Manticore：面向二进制程序和智能合约的易用符号执行框架](https://awesomerea.org/zh/papers/paper-manticore/index.md)：2019 · arXiv · 预印本 · Manticore 使用动态符号执行分析二进制程序和以太坊智能合约。论文介绍其架构，并展示曾用于商业客户项目的漏洞发现和代码正确性验证能力。
- [InternalBlue：蓝牙二进制补丁与实验框架](https://awesomerea.org/zh/papers/paper-internalblue/index.md)：2019 · Proceedings of the 17th Annual International Conference on Mobile Systems, Applications, and Services · 会议论文 · 论文逆向分析博通蓝牙控制器，并提出用于修改其固件的 InternalBlue 框架。作者通过漏洞测试、漏洞修复和新增安全功能展示并评估该框架。
- [迈向神经网络反编译](https://awesomerea.org/zh/papers/paper-neural-decompilation/index.md)：2019 · arXiv · 预印本 · 论文利用编译器训练基于神经机器翻译的反编译器，并评估将 LLVM IR 和 x86 汇编转换为 C 代码的效果；两组基准的成功率分别超过 97% 和 88%。
- [ICSREF：工业控制系统二进制文件自动化逆向工程框架](https://awesomerea.org/zh/papers/paper-icsref/index.md)：2019 · Proceedings 2019 Network and Distributed System Security Symposium · 会议论文 · ICSREF 自动逆向分析由 CODESYS 编译的可编程逻辑控制器二进制文件。研究使用收集和自行开发的 PLC 二进制文件进行评估，并将其用于生成针对化工过程测试平台的攻击。
- [Coda：端到端神经程序反编译器](https://awesomerea.org/zh/papers/paper-coda/index.md)：2019 · NeurIPS 2019 · 会议论文 · Coda 分两个阶段将短函数的汇编反编译为 C。首先由区分指令类型的 N 叉 Tree-LSTM 编码器与带注意力输入的 AST 解码器生成代码草图；随后由多个神经错误预测器的集成提出词元修正，只有当候选代码重新编译后与输入汇编的编辑距离不增加时，才保留该修正。在合成基准上，作者报告修正后的平均程序准确率为 82%，而带注意力的序列到序列基线为 12%。
- [用于受自然语言处理启发的二进制代码分析的跨架构指令嵌入模型](https://awesomerea.org/zh/papers/paper-cross-arch-instruction-embedding/index.md)：2018 · arXiv · 预印本 · 论文学习指令嵌入，以捕捉架构内部及跨架构的指令语义关系，并将其用于基于语义的基本块比较；结果优于基于代码统计的方法。
- [Debin：预测去符号二进制中的调试信息](https://awesomerea.org/zh/papers/paper-debin/index.md)：2018 · ACM CCS 2018 · 会议论文 · Debin 为 x86、x64 与 ARM 上去符号的 ELF 二进制预测调试信息。它先将代码提升为 BAP-IR，用极端随机树分类器判断哪些寄存器和内存偏移对应源码级变量；再借助 Nice2Predict 求解条件随机场，联合预测变量与函数的名称和类型，并将结果以 DWARF 节写回二进制。作者在每种架构 300 个留出二进制上报告，x64 名称与类型预测的精确率为 68.8%、召回率为 68.3%。
- [rev.ng：用于恢复控制流图与函数边界的统一二进制分析框架](https://awesomerea.org/zh/papers/paper-revng/index.md)：2017 · CC 2017 · 会议论文 · rev.ng 借助 QEMU 的微型代码生成器（TCG）将二进制提升为 LLVM 中间表示，因此同一前端可覆盖 QEMU 支持的全部架构，输出的是可编译的中间表示。作者在此基础上构建与架构无关的分析，在没有符号或调试信息的情况下恢复程序的控制流图与函数边界。一种值域分析（OSRA）用于限定 switch 跳转表等间接跳转的目标，其他分析则处理谓词执行指令、noreturn 函数、尾调用以及依赖上下文的控制流。在为 MIPS、ARM 与 x86-64 构建、分别使用 GCC 与 clang 以 -O2、-O3 和 -Os 编译的 coreutils 上，其函数边界恢复的准确度接近 IDA Pro，并优于 BAP/ByteWeight 与 angr。
- [Ramblr：让二进制重汇编重新可行](https://awesomerea.org/zh/papers/paper-ramblr/index.md)：2017 · NDSS 2017 · 会议论文 · Ramblr 生成可重汇编的反汇编结果，即从去除符号的二进制中恢复出、可以修改并用现成汇编器重新汇编的汇编代码。它以 angr 的控制流图恢复为基础，对数据区内容进行分类，再判断哪些立即数和数据值是对代码或数据的引用、必须转换为符号。基址指针重归属用于处理经编译器优化后指向目标对象之外的引用；健全性检查则使 Ramblr 能够拒绝重汇编无法安全处理的二进制，例如对指针进行加密的程序。作者在为 x86 与 x86-64 编译的 106 个 GNU Coreutils 程序，以及 143 个 DARPA 网络超级挑战赛（CGC）二进制上，按六种优化级别进行评测。他们报告，Uroboros 会破坏 22.64% 的 -O0 及 56.61% 的 -O1 32 位 Coreutils 二进制，而 Ramblr 一个也未破坏；在 CGC 二进制上，Ramblr 在每种优化级别下的重汇编成功率均超过 98%。
- [告别 goto：基于模式无关控制流结构化与语义保持变换的反编译](https://awesomerea.org/zh/papers/paper-dream/index.md)：2015 · NDSS 2015 · 会议论文 · DREAM 是一种反编译器，其控制流结构化方法无需匹配预定义的区域模式，即可从恢复出的控制流图中还原循环、条件语句与 switch 语句。对于无环区域，它计算每个节点的可达条件，再将这些条件细化为 if-then-else 与 switch 结构；有环区域被结构化为循环，并推断循环类型及继续条件。语义保持变换先将具有多个入口或多个后继的有环区域改写为单入口、单后继区域；当重复测试的条件中变量可能被修改时，引入布尔变量以保持语义等价。作者在 GNU coreutils 上报告其输出不含 goto 语句，而 Hex-Rays 与 Phoenix 各产生数千个；在一对一比较中，DREAM 有 72.7% 的函数比 Hex-Rays 更紧凑，与 Phoenix 相比该比例为 98.8%。

## 网站重建 (31)

- [PrismaCoder：通过分解式评分准则生成提升开放多模态代码能力](https://awesomerea.org/zh/papers/paper-prismacoder/index.md)：2026 · arXiv · 预印本 · 以代码与渲染结果的独立评分准则筛选数据并训练视觉代码模型，相关评测包括根据图像重建网页、图表和矢量图。
- [从视觉原型与需求生成可部署网站的状态感知方法](https://awesomerea.org/zh/papers/paper-visstatecoder/index.md)：2026 · arXiv · 预印本 · VisStateCoder 以项目状态图连接视觉原型元素、项目文件、交互需求与渲染证据，据此生成网站，并将后续修复限制在选定文件内。
- [TaoD2C-Bench：超越视觉相似度的工业界面代码生成评测](https://awesomerea.org/zh/papers/paper-taod2c-bench/index.md)：2026 · arXiv · 预印本 · TaoD2C-Bench 根据设计图、图层元数据与组件库文档重建界面，将需求推断与代码实现分别评测，并结合源码、运行时结构及渲染结果检查组件选择与布局关系。
- [Vision2Web：采用智能体验证的分层视觉网站开发基准](https://awesomerea.org/zh/papers/paper-vision2web/index.md)：2026 · ICML 2026 · 会议论文 · 基于视觉原型和文字需求评测网站开发，包含 100 项静态页面、66 项交互前端与 27 项全栈任务，将基于工作流的功能检查与模型进行的视觉比较结合。
- [IChart2Code：面向交互图表代码生成的多模态大语言模型评测](https://awesomerea.org/zh/papers/paper-ichart2code/index.md)：2026 · arXiv · 预印本 · 评测根据参照截图、本地数据和指定动作重建交互图表。其 TRAIL 框架结合开发与检查智能体及浏览器交互轨迹，诊断错误并修订 HTML／JavaScript 实现。
- [阶段监督的潜空间推理：单次生成的 JavaScript 去混淆](https://awesomerea.org/zh/papers/paper-stage-supervised-js-deobfuscation/index.md)：2026 · arXiv · 预印本 · 利用 Webcrack 的中间重写结果监督 Coconut 式潜空间推理，以完成 JavaScript 去混淆。训练阶段提供分步代码转换，推理阶段仅接收混淆代码并一次生成清理后的程序。
- [ProgramDistill：将交互式 Web 应用转化为可验证的参考驱动软件工程任务](https://awesomerea.org/zh/papers/paper-programdistill/index.md)：2026 · arXiv · 预印本 · 评测智能体从源码不可见的运行参考中恢复 Web 应用行为的能力，提供覆盖 26 个应用的 4,063 项功能恢复任务，以及独立的 12 应用重建设置，通过重放具有依赖关系的浏览器工作流评分。
- [WebWorld：将浏览器作为自改进网页代码的世界模型](https://awesomerea.org/zh/papers/paper-webworld-browser-feedback/index.md)：2026 · arXiv · 预印本 · 将网页改进目标编译成类型化浏览器交互契约，检查目标进展并保持已验证能力，只把通过验收的转移用于训练。
- [能否处处正确渲染？多模态模型生成网页的跨环境兼容性研究](https://awesomerea.org/zh/papers/paper-webcompat/index.md)：2026 · arXiv · 预印本 · WebCompat 评测由截图重建的网页在不同浏览器与设备中的表现。XCompat 结合渲染后 DOM 几何信息、视口元数据及截图检测布局与元素问题，并将跨环境一致性与原始设计的相似度区分开。
- [UI2App：评测可执行 Web 应用生成中的视觉交互推断](https://awesomerea.org/zh/papers/paper-ui2app/index.md)：2026 · arXiv · 预印本 · UI2App 使用来自 95 个 Web 应用的 600 张截图，评测生成的可运行 React/TypeScript 应用。它通过参考交互分类体系和公开评测流水线，分别衡量构建可执行性、视觉保真度，以及包括跨路由状态在内的截图隐含交互行为。
- [Dashboard2Code：评估多模态模型重建交互式仪表盘的能力](https://awesomerea.org/zh/papers/paper-dashboard2code/index.md)：2026 · ACL 2026 · 会议论文 · 评估智能体主动探索运行中的仪表盘后，重建其外观与交互逻辑的能力。DashboardMimic 提供 180 个 Plotly+Dash 示例，并以代码语义分析和动态交互测试评估生成的实现。
- [UniCoder：利用符号奖励与参考代码引导优化的统一视觉到代码生成](https://awesomerea.org/zh/papers/paper-unicoder/index.md)：2026 · arXiv · 预印本 · UniCoder 面向图表、SVG 与网页训练视觉到代码模型。强化学习目标结合渲染检查、图像相似度和代码中的视觉属性，并向低奖励训练组加入参考代码轨迹以改善探索。
- [CASCADE：谷歌基于大语言模型的 JavaScript 反混淆器](https://awesomerea.org/zh/papers/paper-cascade/index.md)：2026 · ICSE-SEIP 2026 · 会议论文 · 利用 Gemini 定位 Obfuscator.IO 为字符串混淆插入的前置（prelude）函数，再在 JSIR 编译器中间表示上执行常量传播与内联，以确定性方式还原字符串字面量和 API 名称。
- [ScreenCoder：以模块化多模态智能体推进面向前端自动化的视觉到代码生成](https://awesomerea.org/zh/papers/paper-screencoder/index.md)：2026 · EMNLP 2026 · 会议已接收 · 将截图到代码的生成分配给定位、规划和生成三个智能体，分别标注界面区域、构建层级布局树并编写 HTML/CSS。该流程还生成了用于监督微调和强化学习的 Screen-10K 训练数据；论文另提出包含 1,000 个网页的 ScreenBench。
- [IWR-Bench：大型视觉语言模型能否根据用户交互视频重建可交互网页？](https://awesomerea.org/zh/papers/paper-iwr-bench/index.md)：2026 · ICLR 2026 · 会议论文 · 测试模型利用用户交互视频和提供的静态资源重建可交互网页的能力。其 113 项任务通过重放标注的操作序列，评估已观察页面状态的视觉保真度与功能行为。
- [从混淆到清晰：面向安全分析的综合性 JavaScript 反混淆工具](https://awesomerea.org/zh/papers/paper-jsimplifier/index.md)：2026 · NDSS 2026 · 会议论文 · JSimplifier 分三个阶段从混淆脚本中恢复可读的 JavaScript：预处理器规范化格式错误或混合编码的输入；反混淆器将基于 AST 的静态简化与在 Node.js vm 上下文中有选择地执行混淆调用点相结合，并把执行结果写回 AST；可选的人性化模块借鉴 HumanifyJS，利用大语言模型重命名标识符，再用 Prettier 格式化输出。作者将混淆技术归纳为四大类共 20 种，并构建了 MalJS（23,212 个恶意脚本）与 BenignJS（21,209 个脚本）数据集。作者报告 JSimplifier 能处理全部 44,421 个样本，并在 JsDeObsBench 中 1,296 个组合多种技术的样本上将 Halstead 长度降低 88.2%。
- [JsDeObsBench：衡量与评测大语言模型的 JavaScript 反混淆能力](https://awesomerea.org/zh/papers/paper-jsdeobsbench/index.md)：2025 · ACM CCS 2025 · 会议论文 · 对附带测试用例的 Project CodeNet 程序施加 JavaScript-Obfuscator 的七种混淆变换，构建可通过执行验证的 JavaScript 反混淆基准，并从语法、执行结果、代码简化程度及与原始代码的相似度评估 LLM 和现有工具的输出。
- [Interaction2Code：从交互原型生成网页代码的多模态大语言模型评测基准](https://awesomerea.org/zh/papers/paper-interaction2code/index.md)：2025 · ASE 2025 · 会议论文 · 评测模型根据交互前后的截图重建可交互网页的能力。最终研究涵盖 127 个网页、374 项交互，并比较渲染外观、自动交互检查与人工可用性判断。
- [LaTCoder：以“布局即思维”将网页设计转换为代码](https://awesomerea.org/zh/papers/paper-latcoder/index.md)：2025 · KDD 2025 · 会议论文 · LaTCoder 将布局作为显式的中间步骤，把网页设计图转换为 HTML/CSS。基于规则的分割器递归寻找不穿过 OCR 识别文本的纯色水平或垂直线，再将过小区域合并为网格对齐的图块。多模态大语言模型使用思维链提示为每个图块编写代码；随后以绝对定位或由模型组装各图块，并由结合 MAE 与 CLIP、无需参考答案的验证器选出较优结果。论文还提出 CC-HARD，包含从 Common Crawl 人工抽取的 128 个复杂布局网页。
- [WebUIBench：评估多模态大语言模型从网页界面生成代码能力的综合基准](https://awesomerea.org/zh/papers/paper-webuibench/index.md)：2025 · Findings of ACL 2025 · 会议论文 · 通过视觉感知、HTML 编程、图像与 HTML 对应理解，以及截图重建任务，诊断从网页界面生成代码的能力；利用来自真实网站的问答对，分别考察各项基础技能。
- [WAFFLE：面向自动化前端开发的多模态模型微调](https://awesomerea.org/zh/papers/paper-waffle/index.md)：2025 · ACL 2025 · 会议论文 · WAFFLE 微调多模态大语言模型，使其根据界面截图生成 HTML/CSS。解码器中四分之一的注意力头使用结构感知掩码，使每个元素的词元只关注其父元素、前序兄弟元素及自身此前的词元。对比学习目标以四个经变异的 WebSight-v0.1 页面为一组，对齐图像与代码嵌入。以 VLM-WebSight 和 Moondream2 为骨干模型时，作者报告在 WebSight-Test 上比标准微调最多高 9.00 个百分点的 HTML-Match 和 0.0982 的 CW-SSIM，在 Design2Code 的各项指标上也均有提升。
- [分而治之：从截图生成界面代码](https://awesomerea.org/zh/papers/paper-dcgen/index.md)：2025 · Proceedings of the ACM on Software Engineering (FSE 2025) · 期刊论文 · 沿视觉分隔线递归切分网页截图，由多模态模型为每个叶子片段生成 HTML/CSS，再将子片段代码逐级向上组装为完整页面；评估涵盖 GPT-4o、Gemini 与 Claude 系列模型以及一项小规模开发者研究。
- [StructEval：评测大语言模型生成结构化输出的能力](https://awesomerea.org/zh/papers/paper-structeval/index.md)：2025 · arXiv · 预印本 · 评测结构化输出的生成与转换，包括 HTML、React 和 SVG，并分别检查格式遵循和结构正确性。
- [WebCode2M：面向网页设计稿代码生成的真实世界数据集](https://awesomerea.org/zh/papers/paper-webcode2m/index.md)：2025 · WWW 2025 · 会议论文 · WebCode2M 将约 256 万张真实网页截图与净化后的 HTML/CSS 代码及元素边界框布局树配对。数据取样自 Common Crawl 快照，经清洗（移除脚本、元数据与隐藏元素，并将样式合并为单一样式块）后用 Playwright 渲染，再由基于 10,000 条人工标注样本训练的神经评分器筛选。论文以 Pix2Struct-1.3B 微调出基线模型 WebCoder，提出衡量 DOM 结构召回率的 TreeBLEU 指标，并在短、中、长三个各含 256 个网页的测试子集上评测专用、开源及商业多模态模型。
- [Sketch2Code：评估视觉语言模型的交互式网页设计原型生成能力](https://awesomerea.org/zh/papers/paper-sketch2code/index.md)：2025 · NAACL 2025 · 会议论文 · Sketch2Code 评测视觉语言模型把粗略手绘线框草图转换为 HTML 网页原型的能力。众包标注者为来自 Design2Code 测试集的 484 个真实网页绘制了 731 张草图。十个模型（八个商业模型与两个 8B 开源模型）既直接生成页面，也在两种与 GPT-4o 模拟用户进行的多轮场景中工作：遵循其反馈，或向其提出澄清问题。输出依据 Design2Code 视觉相似度，以及基于文本块、图像、导航栏、表单与按钮等组件类型的新 IoU 布局相似度评分。Claude 3.5 Sonnet 与 GPT-4o 在单轮布局相似度上领先，而反馈轮次对商业模型的帮助大于提问方式。
- [Design2Code：面向自动化前端工程的多模态代码生成评测](https://awesomerea.org/zh/papers/paper-design2code/index.md)：2025 · NAACL 2025 · 会议论文 · 使用真实网页参考、视觉元素和布局指标及人工评估，测试从网页截图重建前端代码的能力。
- [面向代码分析的大语言模型：LLM 真的胜任吗？](https://awesomerea.org/zh/papers/paper-llm-code-analysis/index.md)：2024 · USENIX Security 2024 · 会议论文 · 评估 GPT-3.5-turbo、GPT-4、LLaMA-2-13B、Code-LLaMA-2-13B-Instruct 与 StarChat-Beta 解释已去除注释的 JavaScript、Python 和 C 代码功能的能力，再在经 JavaScript Obfuscator（标识符重命名、死代码注入、控制流平坦化与字符串拆分）及 Wobfuscator WebAssembly 变换混淆的 JavaScript 上重复该任务。研究还要求 GPT-3.5 与 GPT-4 将 100 个 IOCCC 获奖程序改写为可读、可编译的代码。案例研究将 GPT 模型用于一个僵尸网络仓库与一个正常浏览器扩展仓库、经 JD-GUI 反编译的 Android 短信窃取程序，以及经 RetDec 反编译的 WannaCry 代码。
- [借助 WebSight 数据集实现网页截图到 HTML 代码的转换](https://awesomerea.org/zh/papers/paper-websight/index.md)：2024 · arXiv · 预印本 · WebSight 是一个合成数据集，含 200 万份与整页截图配对的 HTML 文档，用于训练截图到 HTML 的模型。Mistral-7B-Instruct 生成网站构思，Deepseek-Coder-33B-Instruct 以 HTML 加 Tailwind CSS 编写每个页面，图片来自基于关键词的图库链接，经过筛选后由 Playwright 渲染截图。该 v0.2 版本取代了含 82.3 万对样本的 v0.1，后者使用传统 CSS，并以彩色矩形代替图片。作者用 DoRA 在该数据上微调了 8B 视觉语言模型 Sightseer，并展示了定性转换示例，其中包括一个由手绘草图转换的例子。
- [Web2Code：面向多模态大语言模型的大规模网页转代码数据集与评估框架](https://awesomerea.org/zh/papers/paper-web2code/index.md)：2024 · NeurIPS 2024 Datasets and Benchmarks · 会议论文 · 通过指令微调和两个评测基准研究从截图重建 HTML。Web2Code 结合生成网页、经改进的 WebSight 与 pix2code 图像／代码对，以及来自 WebSRC 的问答。模型根据网页图像与指令生成 HTML，渲染输出接受视觉比较，另一个基准则测量截图理解能力。
- [理解 JavaScript 基于事件的交互](https://awesomerea.org/zh/papers/paper-clematis/index.md)：2014 · ICSE 2014 · 会议论文 · Clematis 根据录制的用户会话，帮助开发者理解 JavaScript 网页应用的运行时行为。代理在传输过程中对 JavaScript 进行插桩，记录 DOM 事件、定时器、XMLHttpRequest 各阶段、函数调用及 DOM 变更。轨迹被划分为若干情节，每个情节包含触发事件、执行的函数及由此产生的 DOM 变化，情节之间以时间与因果边连接，并以交互式可视化呈现。在 Phormer 相册应用上开展、有 20 名开发者参加的工业研究中，作者报告其任务准确率比使用各自惯用工具的开发者高 61%，完成时间少 47%。
- [通过动态分析用户界面状态变化爬取基于 Ajax 的 Web 应用](https://awesomerea.org/zh/papers/paper-crawljax/index.md)：2012 · ACM Transactions on the Web · 期刊论文 · Crawljax 在真实浏览器中驱动 Ajax Web 应用，以推断其状态流图。它扫描 DOM 中候选的可点击元素并触发事件，再用可配置的比较方法与相似度阈值将得到的 DOM 与已知状态比对，记录新状态及状态间的事件转换，并通过重新加载与重放路径进行回溯。并发版本将爬取任务划分给多个浏览器实例。该 Java 工具基于 Selenium WebDriver 与插件机制，其中一个插件可为已爬取的状态生成静态镜像。作者评测了六个开源与工业网站，并在 Google AdSense 上测量并发浏览器数量对爬取耗时的影响。

## 游戏重建与逆向工程 (15)

- [Schema：通过智能体程序归纳发现未知环境机制](https://awesomerea.org/zh/papers/paper-schema-program-induction/index.md)：2026 · arXiv · 预印本 · 通过交互推断可执行的游戏状态与转移规则模型。智能体依据已记录的历史修订模型，在模型中搜索方案，并在执行计划时将预测观察与真实结果比较。
- [SWE-Game：编程智能体能否构建符合预期的游戏？](https://awesomerea.org/zh/papers/paper-swe-game/index.md)：2026 · arXiv · 预印本 · 以可执行参考游戏评估构建、补全、修复及 Godot 到 Unity 的移植；由评测方控制的探针与输入回放检查玩法行为，视觉评分准则另行评价表现。
- [GameReplica：视觉语言智能体的黑盒视觉游戏复刻基准](https://awesomerea.org/zh/papers/paper-gamereplica/index.md)：2026 · arXiv · 预印本 · 通过来自 25 款网页游戏、各设五个难度级别的 125 个任务，评估视觉语言智能体能否通过截图和主动交互推断隐藏规则，并构建可运行的单文件 HTML 游戏复刻。
- [Tycho：面向 ARC-AGI-3 的程序化世界模型主动抽象](https://awesomerea.org/zh/papers/paper-tycho/index.md)：2026 · arXiv · 预印本 · Tycho 根据陌生 ARC-AGI-3 游戏中的动作与观察历史，构建可编辑的 Python 模型，描述游戏状态、状态转移、渲染与结果。它将模型预测与已记录的转移进行核对，并在规划时选择使用、修复或绕过这些模型。
- [RevengeBench：通过行为实验逆向恢复代码形式的策略](https://awesomerea.org/zh/papers/paper-revengebench/index.md)：2026 · arXiv · 预印本 · 使用五种游戏环境中的 75 个合成策略，测试智能体能否通过行为轨迹和自行设计的对手探测恢复可执行决策策略，并衡量留出状态上的动作一致性及后续对抗价值。
- [SPRITE：从静态设计稿重建可用于游戏引擎的界面](https://awesomerea.org/zh/papers/paper-sprite-game-ui/index.md)：2026 · CHI EA 2026 (poster/extended abstract) · 会议论文 · 通过层级化 YAML、视觉定位、素材提取和 Unity UXML／USS 生成，将游戏界面截图转化为可编辑的引擎资源，并在精选游戏界面基准上评估，由三位资深 UI／UX 设计师进行审阅。
- [PoE-World：基于程序化专家乘积的组合式世界建模](https://awesomerea.org/zh/papers/paper-poe-world/index.md)：2025 · NeurIPS 2025 · 会议论文 · PoE-World 将 Atari 世界模型表示为许多小型 Python 程序（即程序化专家）的指数加权乘积，每个专家由大语言模型合成，用于解释观测动态中的一个方面；学习得到的权重和可选的合成硬约束把它们组合起来。作者从 OCAtari 在不足 1,000 帧的演示中解析出的对象列表出发，学习 Pong 与 Montezuma's Revenge 的随机、部分可观测模型，并将其用于规划智能体，包括没有演示的重排变体 Pong-Alt 和 Montezuma's Revenge-Alt。
- [扩散模型即实时游戏引擎](https://awesomerea.org/zh/papers/paper-gamengen/index.md)：2025 · ICLR 2025 · 会议论文 · GameNGen 以扩散模型而非游戏代码交互式地模拟 DOOM。首先由 PPO 智能体在 ViZDoom 中游玩，记录下从随机策略到训练后期的轨迹作为训练数据。随后微调 Stable Diffusion v1.4，使其根据最近 64 帧画面与动作预测下一帧；训练时向上下文帧加入噪声，以保持长时间自回归生成的稳定，并微调潜空间解码器以改善细节。使用 4 步采样时，它在单个 TPU-v5 上以每秒 20 帧运行。作者报告下一帧预测 PSNR 为 29.43，人工评估者在短片段中辨认出真实游戏的比例为 58%–60%。
- [WorldCoder：通过编写代码并与环境交互构建世界模型的基于模型的语言智能体](https://awesomerea.org/zh/papers/paper-worldcoder/index.md)：2024 · NeurIPS 2024 · 会议论文 · WorldCoder 根据环境交互和自然语言目标学习可执行的 Python 状态转移与奖励模型，利用已记录经验和乐观规划约束修正代码，并在 Sokoban、MiniGrid 与 ALFWorld 中研究迁移和任务求解。
- [通过蒙特卡洛树搜索引导大语言模型生成代码世界模型](https://awesomerea.org/zh/papers/paper-code-world-models/index.md)：2024 · NeurIPS 2024 · 会议论文 · GIF-MCTS 根据环境的自然语言描述与离线状态转移轨迹生成可执行的 Python 状态转移和奖励模型，并利用预测反馈生成、改进和修复代码。CWMB 评估 18 个强化学习环境及后续规划；另一个实验使用简化的 Read to Fight Monsters 网格世界。
- [结合函数合成与自动机合成以发现因果反应式程序](https://awesomerea.org/zh/papers/paper-autumnsynth/index.md)：2023 · Proceedings of the ACM on Programming Languages (POPL 2023) · 期刊论文 · AutumnSynth 根据观察到的画面帧及用户动作（如点击和方向键）构成的轨迹，合成 Autumn 程序；Autumn 是面向 Atari 风格网格世界的函数式反应式语言。基于启发式的感知步骤将每帧解析为带类型的对象，跟踪步骤再将对象跨时间步关联起来。随后，合成器为每个观察到的变化寻找更新函数，并搜索触发该变化的事件。当基于可观察状态的事件都无法解释某次更新时，自动机合成会借助基于 SAT 的 Sketch 编码或更快的启发式方法，引入计数器、模式等潜在状态。作者提出了含 30 个程序的 Causal Inductive Synthesis Corpus（CISC），启发式版本在其中合成出 27 个程序；经少量修改的版本在第三方 EMPA 网格世界语料库的 27 个游戏中合成出 21 个。
- [MappyLand：快速、准确的主机游戏地图构建](https://awesomerea.org/zh/papers/paper-mappyland/index.md)：2021 · AIIDE 2021 · 会议论文 · MappyLand 是早期 Mappy 系统的 Rust 重写版，它对 FCEUMM NES 模拟器核心进行插桩，在依据手柄输入运行动作／冒险游戏的同时绘制地图。系统拦截对图像处理单元滚动寄存器的访问并读取模拟器内存，据此完成滚动配准、区分游戏区域与菜单、检测和跟踪精灵、构建网格化图块地图并识别房间切换。一个在线合并步骤再把观测到的房间整合为一致的房间图，可覆盖折返路线和多次游玩会话。作者在一次 34,514 帧的测试中报告，地图构建每帧约增加 1.5 毫秒开销，而单纯模拟约为每帧 0.2 毫秒。
- [使用 GameGAN 学习模拟动态环境](https://awesomerea.org/zh/papers/paper-gamegan/index.md)：2020 · CVPR 2020 · 会议论文 · GameGAN 从录制的画面帧及对应动作中学习游戏的动作条件神经模拟器，无需访问游戏逻辑或引擎。带随机潜变量的动作条件 LSTM 动力学引擎预测下一状态；可选的外部记忆模块构建内部地图，使重新访问的位置保持一致；渲染引擎在解码画面时区分静态与动态成分。模型以端到端方式训练，采用包括动作条件判别器在内的对抗损失，并用时间循环损失保持记忆一致性。作者在修改版 Pac-Man、无幽灵的 Pac-Man-Maze 及 VizDoom “take cover” 上进行评测：在学得的模拟器中训练强化学习智能体并在真实游戏中测试，并用“返回原点”任务衡量长期一致性；论文还定性展示了可由人类游玩的官方 Pac-Man 模型。
- [通过交互式观察自动识别游戏机制：跳跃](https://awesomerea.org/zh/papers/paper-nes-jump-mechanics/index.md)：2017 · FDG 2017 · 会议论文 · 该研究在修改后的 FCEUX NES 模拟器中开展受控实验，推断平台游戏的跳跃机制。先由人工将每款游戏玩到安全状态；系统随后反复按住跳跃键 1 至 120 帧、等待 120 帧并复位，同时从 PPU 精灵表记录所有精灵。经常相互接触的精灵被合并为角色并加以跟踪。随后以线性支持向量回归拟合人工设计的四状态跳跃自动机（地面、按键上升、松键上升、下落），得到各状态的速度与重力参数，以及按键持续时间的最小值和最大值。在 48 款游戏（约占 NES 平台游戏的 30%）、52 个角色上，作者将学得的跳跃聚类为三种风格。
- [从视频中学习游戏引擎](https://awesomerea.org/zh/papers/paper-game-engine-learning/index.md)：2017 · IJCAI 2017 · 会议论文 · 从游戏录像中学习二维游戏的基于规则的前向模拟器。系统借助提供的精灵图集，用 OpenCV 定位每帧中的精灵；匹配后的精灵被转换为人工设计的事实类型，包括动画、位置、相对距离、x 与 y 方向速度及镜头偏移。随后 Game Engine Search 逐帧扫描，每当当前引擎预测的下一帧与真实帧的差异超过阈值时，便对引擎进行贪心搜索：新增或修改“条件—效果”规则，或将规则标记为玩家控制。引擎按像素误差与规则数量排序。在一段《超级马力欧兄弟》1-1 关卡视频上训练后，所学引擎预测另一位玩家视频帧的准确度高于 CNN 帧预测器与沿用上一帧的基线，基于它进行规划的价值迭代智能体，其表现与使用 Infinite Mario 引擎原生前向模拟的智能体无显著差异。

## 应用重建与分析 (16)

- [从失效代码与静态需求到可运行引擎：利用编程智能体恢复软件](https://awesomerea.org/zh/papers/paper-revivebench/index.md)：2026 · arXiv · 预印本 · ReviveBench 利用隐藏的参考检查，评估无法运行的软件修复，以及依据公开规范、在无法访问目标源码时实现限定范围的计算与事务引擎；同时审计可能误收或误拒重建结果的评分缺陷。
- [从代码到需求：企业规模的智能体业务规则逆向恢复](https://awesomerea.org/zh/papers/paper-agentic-business-rule-recovery/index.md)：2026 · arXiv · 预印本 · 利用七个智能体与人工审查，从源码、测试、配置及文档恢复业务需求；企业迁移案例以生产缺陷记录核对提取的规则。
- [从代码生成需求是否可行：一份经验报告](https://awesomerea.org/zh/papers/paper-requirements-generation-viability/index.md)：2026 · IEEE REW 2026 / AIRE · 会议论文 · 研究以 RAG 和人工监督从两个项目恢复需求与代码追踪关系的流程，并测试刻意生成未实现需求及需求异味（潜在质量问题），揭示验证与标注的困难。
- [从视觉组件到界面代码：借助工具证据的高效生成](https://awesomerea.org/zh/papers/paper-widgetgen/index.md)：2026 · MUCG @ ECCV 2026 · 会议已接收 · WidgetGen 将组件截图重建为 React JSX，利用 OCR 文本框与调色板支持整体布局推理及可选图表生成，最后渲染一次；生成的渲染图与代码配对还用于模型微调。
- [智能体逆向工程：利用发现智能体从输入输出行为恢复代码](https://awesomerea.org/zh/papers/paper-dio-agent/index.md)：2026 · NeurIPS 2026 · 会议已接收 · 通过 LLM 引导的演化搜索、逐步展示的样例、由简到繁的修改及执行错误反馈，从输入输出观察合成可执行程序；主动变体自行选择输入并查询隐藏的参考程序。
- [UIOrchestra：通过多智能体系统将 UI 设计转换为高保真代码](https://awesomerea.org/zh/papers/paper-uiorchestra/index.md)：2025 · Findings of EMNLP 2025 · 会议论文 · UIOrchestra 通过布局描述、代码生成及渲染图像比较三个智能体，将静态移动 UI 设计转换为 React/CSS。其 APPUI 基准包含 1,101 组经人工修订的代码与渲染图像，依据 12 类中的 165 款应用截图构建。参考代码为评测而重建，并非恢复出的原始应用源码。
- [DeclarUI：以自动生成声明式界面代码连接设计与开发](https://awesomerea.org/zh/papers/paper-declarui/index.md)：2025 · Proceedings of the ACM on Software Engineering (FSE 2025) · 期刊论文 · 结合视觉组件提取、多模态模型、页面跳转图与迭代检查，从设计稿或截图重建多页面移动界面代码，并在 React Native、Flutter 和 ArkUI 上评测。
- [面向 Android 恶意软件分析的代码大语言模型基准评测](https://awesomerea.org/zh/papers/paper-cama/index.md)：2025 · ISSTA Companion 2025 (LLMSC Workshop) · 会议论文 · CAMA 是一个评测代码大语言模型理解反编译 Android 恶意软件能力的基准框架。它使用 Androguard 将每个 APK 反编译为 Java 函数，并要求模型为每个函数输出结构化结果：功能摘要、改进后的函数名以及 0–10 分的恶意程度评分。两项分析任务以这些输出为基础。恶意函数识别以一致性（模型依据自身摘要再次作答时评分与命名是否稳定）和保真度（移除评分最高的函数描述后，LightGBM 恶意软件类别分类器的置信度下降多少）衡量；恶意软件用途摘要则以语义相关性（与参考应用描述之间的 BLEU、METEOR 和 ROUGE-L）衡量。基准包含来自 6 个类别、13 个家族的 118 个 APK，共 7,542,799 个反编译函数。在四个受测模型中，StarChat-Beta 的恶意程度一致性最高（0.813，CodeLlama 为 0.381），语义相关性得分也以微弱优势居首；保真度则随模型和移除数量大幅波动。用模型建议的名称重命名函数会提高 CodeLlama 和 StarChat 的保真度，但会使 METEOR 下降约 10%。
- [基于机器学习的移动应用图形用户界面原型生成](https://awesomerea.org/zh/papers/paper-redraw/index.md)：2020 · IEEE Transactions on Software Engineering · 期刊论文 · ReDraw 通过组件检测、CNN 控件类型分类及数据驱动的近邻层级组装，将截图或设计稿转换为原生 Android 图形界面原型。
- [pix2code：从图形用户界面截图生成代码](https://awesomerea.org/zh/papers/paper-pix2code/index.md)：2018 · EICS 2018 · 会议论文 · 学习从界面截图生成领域专用语言（DSL），再编译为原生 Android XML、iOS Storyboard 或网页 HTML/CSS 界面代码。
- [从 UI 设计图到 GUI 骨架：辅助启动移动界面实现的神经机器翻译器](https://awesomerea.org/zh/papers/paper-ui2code/index.md)：2018 · ICSE 2018 · 会议论文 · UI2code 使用神经编码器—解码器，将移动 UI 图像转换为 Android 组件层级与布局骨架。论文评估了结构预测，并通过小规模开发者实验研究如何基于生成的骨架实现布局。
- [Rico：用于构建数据驱动设计应用的移动应用数据集](https://awesomerea.org/zh/papers/paper-rico/index.md)：2017 · UIST 2017 · 会议论文 · Rico 是一个 Android 应用设计数据集，也是一套无需获取或修改应用源码的运行时挖掘系统。众包人员通过网页界面使用设备农场中的免费 Google Play 应用，并记录交互轨迹。自动爬虫随后重放每条轨迹并继续探索，借助基于截图与 resource-id 的相似度启发式识别新的界面状态。论文报告共获得来自 27 个类别、9,772 个应用的 10,811 条轨迹和 72,219 个唯一界面。每个界面附有截图、增强的视图层级、已探索的交互、转场动画，以及由自编码器得到的 64 维布局向量。
- [Android 应用的统计式反混淆](https://awesomerea.org/zh/papers/paper-deguard/index.md)：2016 · ACM CCS 2016 · 会议论文 · DeGuard 逆转 Android APK 中的布局混淆，为被 ProGuard 重命名的字段、方法、类和包预测原始名称。它基于 Soot 将应用表示为程序元素之间的依赖图，并保持 Android API 及其他未混淆名称不变；随后在从 1,684 个 F-Droid 应用学习的条件随机场上借助 Nice2Predict 进行 MAP 推断，并以约束保证重命名后的 APK 语义等价。在 100 个留出的、经 ProGuard 混淆的 F-Droid 应用上，与原始名称完全相同的比例从 13.3% 提升至 79.1%，第三方库预测的精确率为 91.3%、召回率为 91.0%。
- [使用 REMAUI 逆向重建移动应用用户界面](https://awesomerea.org/zh/papers/paper-remaui/index.md)：2015 · ASE 2015 · 会议论文 · 利用 OCR、计算机视觉和布局启发式规则，从截图或设计位图重建原生 Android 界面代码，并使用来自 100 多款 Android 与 iOS 应用的 488 张截图评估视觉相似性和视图层级。
- [以最少重启与近似学习引导的 Android 应用图形界面测试](https://awesomerea.org/zh/papers/paper-swifthand/index.md)：2013 · OOPSLA 2013 · 会议论文 · SwiftHand 在为 Android 应用生成测试输入的同时，于测试过程中学习近似的图形界面模型。它对 Dalvik 字节码插桩，读取界面组件树，并推导每个屏幕可用的触摸、滚动、文本、返回键和菜单键输入；可用输入相同的屏幕被视为扩展确定性标记迁移系统中的等价状态。学习得到的模型引导执行进入尚未探索的前沿状态，并尽量避免重启，因为重新安装一次应用约需 30 秒。在 10 个 F-Droid 应用上，作者报告其在给定时间预算内的分支覆盖率高于随机测试和基于 L* 的测试，且达到覆盖率的速度更快。
- [GUI 抓取：面向测试的图形用户界面逆向工程](https://awesomerea.org/zh/papers/paper-gui-ripping/index.md)：2003 · WCRE 2003 · 会议论文 · GUI 抓取从运行中的桌面应用程序逆向工程出测试模型，而不依赖其源码或规格说明。抓取器从顶层窗口开始，以编程方式点击可执行控件逐一打开子窗口，记录每个窗口的控件、属性与取值，并构建由窗口组成的 GUI 森林。它再从森林推导出事件流图（记录组件内哪些事件可以相继发生）以及表示组件调用关系的集成树。论文介绍了两种抓取器：面向 Microsoft Windows 应用、基于窗口句柄与 Windows API 的实现，以及面向 Java Swing 应用、基于 Java AWT 与 Swing API 的实现。作者将其应用于 WordPad、Notepad、Yahoo Messenger 及学生开发的 TerpOffice 办公套件中的四个应用，所得模型用于作者 GUITAR 与 DART 系统中的自动化测试生成。

## 固件分析与重托管 (27)

- [ARM Cortex-M 固件仿真动态分析研究的大规模实证综述（扩展版）](https://awesomerea.org/zh/papers/paper-cortexm-emulation-sok/index.md)：2026 · arXiv (extended version) · 预印本 · 将 24 项 MCU 分析工具组织为配置恢复、仿真、模糊测试及诊断阶段，并在 4,571 个筛选后的 Cortex-M 固件镜像上评估可运行且兼容流程的子集，研究恢复的配置和仿真产物为何无法支撑后续分析。
- [POZZER：面向黑盒嵌入式系统的功耗侧信道引导模糊测试器](https://awesomerea.org/zh/papers/paper-pozzer/index.md)：2026 · arXiv · 预印本 · 根据每个测试输入的一条功耗轨迹构建可容忍噪声的近似执行流图，将新观察到的行为用作 LibAFL 反馈；无需取得固件二进制、源码或插桩即可探索嵌入式固件。
- [面向忠实固件运行迁移的响应式外设建模](https://awesomerea.org/zh/papers/paper-bluezz-rpm/index.md)：2026 · arXiv · 预印本 · Bluezz 将外设建模为具有状态的事件—条件—动作系统，协调中断、MMIO 与 DMA，而非孤立处理各次访问；据此迁移 BLE 固件，进入已连接协议状态进行分析与模糊测试。
- [Khost：基于 KVM 的近原生 MCU 固件重托管](https://awesomerea.org/zh/papers/paper-khost/index.md)：2026 · USENIX Security '26 · 会议论文 · 扩展 KVM 的 MCU 指令处理、内存映射及中断建模，在 ARMv8-A 主机上重托管固件；MMIO 监控器与固件包装层支持外设交互及覆盖率引导测试。
- [FirmPilot：证据引导的多智能体物联网固件运行环境恢复](https://awesomerea.org/zh/papers/paper-firmpilot/index.md)：2026 · arXiv · 预印本 · FirmPilot 协调检索、规划、文件系统、持久状态与网络恢复来重建 QEMU 执行环境。候选修改被落实为受约束的产物差异，再通过重新运行固件与固定探测检查。
- [FirmCure：面向自主、自适应的 Linux 固件运行环境迁移](https://awesomerea.org/zh/papers/paper-firmcure/index.md)：2026 · arXiv · 预印本 · FirmCure 将静态依赖分析、启动配置迭代修复与运行时故障诊断结合起来，在 QEMU 中迁移 Linux 固件。专门的智能体执行针对性修复，并利用执行反馈恢复服务行为。
- [SatBleed：卫星商用通信模块的安全性](https://awesomerea.org/zh/papers/paper-satbleed/index.md)：2026 · IEEE S&P 2026 · 会议论文 · 通过硬件检查、固件逆向、协议分析、部分重托管及针对性测试研究卫星通信模块，以组件级威胁模型将恢复的数据流与安全边界联系起来。
- [面向 Linux 固件二进制的用户空间依赖感知重托管](https://awesomerea.org/zh/papers/paper-firmwell/index.md)：2026 · NDSS 2026 · 会议论文 · FIRMWELL 通过运行初始化进程、定位阻塞依赖并修补缺失的系统层行为，重建 Linux 固件服务的执行环境。它结合容器化 QEMU-user 仿真与 QEMU-system 回退，并利用进程轨迹和二进制分析恢复目标服务所需的资源。
- [使用 Penguin 进行以目标为中心的固件重托管](https://awesomerea.org/zh/papers/paper-penguin/index.md)：2025 · Workshop on Binary Analysis Research (BAR) 2025 · 会议论文 · Penguin 以提取出的固件文件系统为输入，通过静态分析生成可编辑的仿真变换配置（如文件修改、伪文件、NVRAM 值和网络接口），用于重托管嵌入式 Linux 固件。动态分析插件揭示运行失败，便于针对具体目标完善配置；配置最小化工具则找出可用的重托管所必需的变换。
- [固件所示并非应有的仿真方式：一种规范引导的固件仿真方法](https://awesomerea.org/zh/papers/paper-semu/index.md)：2022 · ACM CCS 2022 · 会议论文 · SEmu 依据厂商参考手册而非固件本身构建微控制器外设模型。一条基于 Stanford 词性标注器和句法分析器的 NLP 流程，把取自手册的寄存器说明、中断表和 DMA 通道表转换为结构化的条件—动作规则；仿真器在运行时检查、执行并串联这些规则，以响应 MMIO 访问并触发中断或 DMA 请求。基于 S2E 和 µEmu 的符号执行诊断工具会把无效状态回溯到可能出错的规则，供人工修正。作者还将这些模型用于模糊测试，以及依据规范规则检查驱动代码。
- [Fuzzware：利用精确的 MMIO 建模提升固件模糊测试效果](https://awesomerea.org/zh/papers/paper-fuzzware/index.md)：2022 · USENIX Security 2022 · 会议论文 · 重托管单体 ARM Cortex-M 固件以开展模糊测试，利用局部符号执行为内存映射 I/O 访问建模，使输入变异集中于影响固件逻辑的值。
- [ECMO：通过外设移植重托管嵌入式 Linux 内核](https://awesomerea.org/zh/papers/paper-ecmo/index.md)：2021 · Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security · 会议论文 · ECMO 将外设驱动移植到嵌入式 Linux 内核中，使固件能够在 QEMU 中启动。研究评估了 815 个固件镜像，涵盖 20 个内核版本、37 种设备型号和 24 家厂商；其中 710 个成功启动用户空间 shell。
- [Jetset：面向嵌入式系统的定向固件重托管](https://awesomerea.org/zh/papers/paper-jetset/index.md)：2021 · USENIX Security 2021 · 会议论文 · Jetset 只将固件重托管到分析人员指定的目标地址，例如模糊测试器可以注入输入的位置。给定体系结构、MMIO 地址范围、入口点与目标地址后，它使用 angr 配合修改过的 QEMU 对固件进行符号执行，将外设读取视为符号值、轮流触发中断，并借助控制流图距离与禁忌搜索向目标推进。求解得到的约束被转换为供 QEMU 使用的 C 语言外设模型，重放推断出的取值与中断，使固件以具体执行方式启动到目标处。作者在 x86、ARM 与 Motorola ColdFire 上评测了 13 个目标，包括 Raspberry Pi 2 上的 Linux、BeagleBoard-xM 引导程序、SEL-751 继电器、波音 737 的 CMU-900 以及九个 P²IM 固件，并利用 CMU 模型结合 AFL 在其 VRTX 内核中发现一个提权漏洞。
- [基于无效性引导知识推断的自动化固件仿真](https://awesomerea.org/zh/papers/paper-uemu/index.md)：2021 · USENIX Security 2021 · 会议论文 · µEmu 将未知外设寄存器表示为符号，对固件映像进行符号执行，从而在没有真实硬件或人工编写外设模型的情况下仿真 ARM Cortex-M 微控制器固件。无效性引导的探索会检测意外死循环等无效状态，并把执行引向有效路径；所选响应按单个外设访问点缓存在分层知识库中，规则从简单存储到基于程序计数器和调用上下文的匹配。动态分析阶段由知识库响应外设读取，集成的改造版 AFL 模糊测试器则提供数据寄存器输入。原型在 S2E 2.0 基础上增加了 Cortex-M 支持。
- [SoK：通过重托管实现嵌入式系统的安全分析](https://awesomerea.org/zh/papers/paper-rehosting-sok/index.md)：2021 · ACM ASIA CCS 2021 · 会议论文 · 系统化梳理“重托管”：把嵌入式固件从实体硬件迁移到虚拟环境中，该环境对硬件行为的建模足以支持模糊测试、符号执行等动态分析。作者以 2,574 个硬件配置衡量全系统仿真为何难以扩展，包括来自 Linux 5.11.4 的 1,956 个设备树二进制文件（DTB）和 618 个厂商提供的 ARM Cortex SVD 文件。他们将语料中的 CPU 型号与 QEMU 的支持情况对比，统计不同外设的数量，以驱动源码行数作为复杂度的近似指标，并以蒙特卡罗模拟逐个 SoC 添加外设模型。若要支持随机抽取的 10% SoC，Linux 语料约需 3,947 种外设，ARM Cortex 语料约需 1,730 种，而 QEMU 5.2 实现的外设为 1,083 种。论文随后按各系统在每一层采用仿真、替换、符号建模、透传至硬件或保持不变的方式对既有工作分类，描述含保真度评估的迭代式重托管流程，并列出开放问题。
- [Conware：硬件外设的自动化建模](https://awesomerea.org/zh/papers/paper-conware/index.md)：2021 · ACM ASIA CCS 2021 · 会议论文 · Conware 根据真实固件与外设交互的记录，构建可复用的硬件外设软件模型。一个 LLVM 编译遍对 Arduino 源码插桩，在真实开发板上记录 MMIO 读写和中断；也可改用已有的硬件在环记录方法。每份记录被转换为按外设划分的图，读取值以模式等简单子模型概括；这些图再经合并与优化形成自动机，可跨外设组合，并在基于 Avatar² 的仿真器中运行。作者在 Arduino Due（SAM3X Cortex-M3）上为十种外设建模，并仅用基于厂商示例代码训练的模型，仿真了一个未经插桩的智能门锁固件。
- [Snipuzz：通过消息片段推断对物联网固件进行黑盒模糊测试](https://awesomerea.org/zh/papers/paper-snipuzz/index.md)：2021 · ACM CCS 2021 · 会议已接收 · Snipuzz 作为客户端与物联网设备通信，根据设备响应推断消息片段，以指导固件黑盒模糊测试中的消息变异。论文在 20 款真实物联网设备上进行了评估，并与四种物联网模糊测试方法比较。
- [DICE：面向动态固件分析的 DMA 输入通道自动仿真](https://awesomerea.org/zh/papers/paper-dice/index.md)：2021 · IEEE S&P 2021 · 会议论文 · DICE 为既不模拟外设也不模拟 DMA 控制器的微控制器固件仿真器增加 DMA 输入仿真。它监视固件向内存映射 DMA 控制器区域写入的源与目的传输指针对，并根据固件随后的访问推断传输方向。当固件读取外设到 RAM 的目的缓冲区时，DICE 以分析器提供的输入（如模糊测试数据）作答，并以保守方式扩展缓冲区边界。原型修改了 P2IM（ARM Cortex-M）与一款 PIC32 仿真器（MIPS M4K/M-Class）所用的 QEMU 分支。在覆盖 5 家厂商 9 种 DMA 控制器的 83 个示例固件上，作者报告检测出 37 个输入通道中的 33 个且无误报，为 22 个缓冲区中的 21 个提供了正确输入，平均开销为 3.4%。对 7 个真实固件进行 48 小时模糊测试，发现 5 个此前未知的缺陷。
- [从库可移植性到辅助重宿主：在通用硬件上原生运行微控制器软件](https://awesomerea.org/zh/papers/paper-para-rehosting/index.md)：2021 · Proceedings 2021 Network and Distributed System Security Symposium · 会议论文 · 论文通过基于 POSIX 的可移植微控制器模型和可替换的外设驱动，将微控制器软件迁移到通用硬件上原生运行并进行安全测试。
- [FirmAE：面向动态分析的物联网固件大规模仿真](https://awesomerea.org/zh/papers/paper-firmae/index.md)：2020 · ACSAC 2020 · 会议论文 · 在 Firmadyne 基础上，针对启动、网络、NVRAM、内核行为及其他运行失败加入经验性干预，使 Linux 路由器与 IP 摄像机固件的 Web 服务能够运行并接受动态分析。
- [HALucinator：通过抽象层仿真实现固件重托管](https://awesomerea.org/zh/papers/paper-halucinator/index.md)：2020 · USENIX Security 2020 · 会议论文 · HALucinator 识别单体 ARM Cortex-M 固件中的硬件抽象库函数，并用人工编写的 Python 处理函数和外设模型替换它们，从而重托管固件。LibMatch 定位库接口；QEMU/Avatar2 实现支持交互式输入输出，与论文关联的 HAL-fuzz 变体则使用 AFL-Unicorn 进行模糊测试。
- [基于 Linux 的物联网系统通信协议的人工逆向工程](https://awesomerea.org/zh/papers/paper-manually-re-iot-protocols/index.md)：2020 · arXiv · 预印本 · 提出一种针对嵌入式 Linux 物联网系统通信协议的人工逆向工程框架，并将其应用于多个系统，详细展示了 WeMo 智能插座的案例。
- [BaseSAFE：通过仿真实现基带净化模糊测试](https://awesomerea.org/zh/papers/paper-basesafe/index.md)：2020 · Proceedings of the 13th ACM Conference on Security and Privacy in Wireless and Mobile Networks · 会议论文 · BaseSAFE 将闭源蜂窝基带固件部分迁移到仿真环境中进行插桩模糊测试，并用净化分配器检测堆缓冲区溢出。
- [Frankenstein：利用高级无线模糊测试攻击新的蓝牙权限提升目标](https://awesomerea.org/zh/papers/paper-frankenstein/index.md)：2020 · USENIX Security 2020 · 会议已接收 · Frankenstein 仿真蓝牙固件转储，并对虚拟调制解调器进行模糊测试。论文评估了博通和赛普拉斯蓝牙协议栈，发现三个零点击漏洞、涉及主机的权限提升问题，以及 Android 上的 BlueFrag 漏洞。
- [面向基于 Linux 的嵌入式固件的自动化动态分析](https://awesomerea.org/zh/papers/paper-firmadyne/index.md)：2016 · NDSS 2016 · 会议论文 · Firmadyne 对路由器、IP 摄像头等联网商用设备中基于 Linux 的固件进行爬取、提取与仿真。它以预先构建并插桩的小端 ARM 及小端、大端 MIPS 内核替换厂商内核，在 QEMU 全系统仿真中配合用户态 NVRAM 库启动提取出的文件系统，推断网络配置，再运行自动化分析，包括 60 个已知漏洞利用和 14 个新发现的漏洞利用。作者从 42 家厂商的 23,035 个固件映像中提取出 9,486 个，并报告在 1,971 个网络可达映像中有 887 个至少受一个所选漏洞利用影响。
- [大规模自动化动态固件分析：嵌入式 Web 界面案例研究](https://awesomerea.org/zh/papers/paper-dynamic-firmware-analysis-at-scale/index.md)：2015 · arXiv · 预印本 · 论文通过全系统仿真运行固件镜像，并结合静态与动态工具发现嵌入式 Web 界面的漏洞。研究评估了来自 54 家厂商的 1,925 个固件镜像，在其中 185 个镜像中发现漏洞。
- [Avatar：支持嵌入式系统固件动态安全分析的框架](https://awesomerea.org/zh/papers/paper-avatar/index.md)：2014 · NDSS 2014 · 会议论文 · Avatar 在插桩模拟器（基于 QEMU 的 S²E）中运行嵌入式固件，同时把内存映射 I/O 转发给真实设备，并将设备产生的中断注入回模拟器，使依赖无文档外设的固件仍可接受动态分析。框架经由 OpenOCD 通过 JTAG 访问设备，或通过串口上的小型调试桩访问。由于经 38400 波特串口转发每次访问非常缓慢（作者的一次测量中约为每秒五条指令），Avatar 还会把从不表现为 I/O 的内存保留在模拟器本地，将选定代码迁移到设备上原生运行，并在两者之间切换状态。结合 S²E 的选择性符号执行，作者检查了硬盘掩膜 ROM 引导程序中的隐藏命令、一个 IEEE 802.15.4 传感器节点中人为注入的溢出，以及一部 GSM 功能手机的短信解码例程。

## 协议推断与分析 (22)

- [通过深度迁移学习进行协议逆向工程](https://awesomerea.org/zh/papers/paper-transre/index.md)：2026 · Proceedings of the ACM on Software Engineering / FSE 2026 · 期刊论文 · 将 Tshark 标注的标准协议流量中的字段边界模式迁移到文档不足的目标协议。先选择相关源协议，再通过神经网络领域适应模型依据共享模式推断消息语法。
- [RFCLLM：评估大语言模型对网络协议状态机的推理能力](https://awesomerea.org/zh/papers/paper-rfcllm/index.md)：2026 · Findings of EMNLP 2026 · 会议已接收 · 以 16 种协议的 1,482 个问题评测协议状态机推理。四种上下文设置区分 RFC 检索与依据给定转换进行推理，任务涵盖后继状态、条件、前驱状态及路径。
- [基于搜索优化从工业网络流量恢复过程变量](https://awesomerea.org/zh/papers/paper-pvparser/index.md)：2026 · CCS 2026 · 会议已接收 · PVParser 根据工业流量与历史过程记录恢复过程变量布局：周期模式检测定位相关载荷，改进的蒙特卡洛树搜索推断字段边界、类型和字节序，再将解码序列与已观察的过程变量对齐。
- [ICEPRE：基于数据驱动混合符号执行的工控协议逆向工程](https://awesomerea.org/zh/papers/paper-icepre/index.md)：2025 · Proceedings of the ACM on Software Engineering (ISSTA 2025) · 期刊论文 · 在二进制协议解析器中沿具体报文引导的路径分析，再进行符号化重放，提取字节级数据流以推断报文字段边界。它依据保持原值的运算和相似处理轨迹合并字节。作者在四种公开工控协议、每组 1,000 条报文的数据集上，报告平均边界 F1 分数为 0.76、字段完美分割率为 0.67。
- [释放大语言模型潜力：从协议实现推断状态机](https://awesomerea.org/zh/papers/paper-protocolgpt/index.md)：2025 · IWQoS 2025 · 会议论文 · ProtocolGPT 借助检索增强的大语言模型，从协议实现源码推断协议状态机。它先用正则表达式和代码过滤器提取与状态机相关的代码，再按语法感知方式切分，以 OpenAI 嵌入存入 FAISS 向量库，并逐步提示 GPT-4 恢复状态及由报文触发的迁移。在五个开源代码库中的六种协议（IKEv2、TLS 1.3、TLS 1.2、BGP、RTSP 与 L2TP）上，作者报告迁移精确率超过 90%，精确率比基线高 30% 以上、召回率高 55% 以上。以推断出的状态机为 AFLNet 生成种子后，覆盖率提升 20% 以上，并在一个 RTSP 服务器中发现两个此前未知的崩溃漏洞。
- [BinPRE：增强基于二进制分析的协议逆向工程中的字段推断](https://awesomerea.org/zh/papers/paper-binpre/index.md)：2024 · ACM CCS 2024 · 会议论文 · 根据受插桩监测的服务端二进制及输入报文，推断协议报文的字段边界与语义。BinPRE 按处理字节的指令操作符进行分组，使用检测器识别字段类型和功能，再借助相似报文细化结果。作者在八种协议、每种 50 条报文上报告平均字段完美分割率为 0.73，类型／功能推断的 F1 分数为 0.74／0.81。
- [DynPRE：基于动态推断的协议逆向工程](https://awesomerea.org/zh/papers/paper-dynpre/index.md)：2024 · NDSS 2024 · 会议论文 · DynPRE 以捕获的客户端—服务端流量为起点，再与在线协议服务端交互，推断报文格式与类型。它检测 Cookie 等会话特定标识符并实时改写，使重放的请求保持有效；随后发送字节级探测请求，以服务端响应作为字段识别的语义反馈，对响应进行对齐分析，并通过请求—响应映射细化格式，同时识别报文类型。作者在 12 种协议、规模分别为 10、100 与 1,000 条报文的数据集上，报告平均字段完美分割率为 0.50、报文类型 V-measure 为 0.94，而 Netzob、NetPlier、FieldHunter、BinaryInferno 与 NEMESYS 的完美分割率为 0.15–0.31。
- [从网络协议实现提取精确格式规范及其安全应用](https://awesomerea.org/zh/papers/paper-netlifter/index.md)：2023 · ACM CCS 2023 · 会议论文 · NetLifter 将可获取源码的 C 协议解析器静态转换为 BNF 风格的报文文法及报文字段之间的一阶逻辑约束。它分析经过标注的 LLVM 位码，结合抽象格式图、局部路径敏感分析、展开与重排序。所得字段边界、约束与名称可用于报文生成及解析器构建。
- [通过受控静态循环分析将协议格式提取为状态机](https://awesomerea.org/zh/papers/paper-protocol-format-state-machine/index.md)：2023 · arXiv · 预印本 · 论文通过将解析循环分析为状态机，从解析器代码中提取协议消息格式，并评估格式推断效果及所提取状态机在协议模糊测试中的应用。
- [BinaryInferno：面向二进制报文格式字段推断的语义驱动方法](https://awesomerea.org/zh/papers/paper-binaryinferno/index.md)：2023 · NDSS 2023 · 会议论文 · 无需对可执行程序插桩，即可从静态报文样本推断部分二进制报文格式。专用检测器识别浮点数、时间戳、长度、熵边界和序列化模式，再通过基于图的集成步骤协调各自的描述。作者对十种协议的样本开展评估，在每组 1,000 条报文且不使用分析者先验的设置下，报告顶层字段边界的精确率为 0.69、召回率为 0.73、假阳性率为 0.04。
- [越仔细观察，学到的越多：用于协议状态机学习的灰盒方法](https://awesomerea.org/zh/papers/paper-stateinspector/index.md)：2022 · ACM CCS 2022 · 会议论文 · StateInspector 将主动消息查询与运行时内存快照结合起来，学习协议的 Mealy 状态机，无需目标实现的源代码。它识别可能决定状态的堆内存位置，并通过污点分析与混合执行合并状态；作者在 TLS 1.2 和 WPA/2 实现上进行了评估。
- [基于自动机学习的蓝牙设备指纹识别与分析](https://awesomerea.org/zh/papers/paper-ble-automata-learning/index.md)：2022 · Formal Methods in System Design · 期刊论文 · 通过主动自动机学习，为实体外设上的低功耗蓝牙（BLE）协议实现推断 Mealy 状态机模型。运行 SweynTooth 衍生固件的 nRF52840 中心设备发送抽象 BLE 输入，并以错误处理、重复查询和缓存应对丢包与不确定的响应。作者学习了六款设备的连接过程模型和其中三款的传统配对（legacy pairing）模型，并利用模型差异识别各设备的 SoC。
- [从协议规范文档中提取有限状态机以自动合成攻击](https://awesomerea.org/zh/papers/paper-attack-synthesis-fsm/index.md)：2022 · IEEE Symposium on Security and Privacy 2022 · 会议已接收 · 从 RFC 文本中提取协议有限状态机，方法结合技术词表示学习、零样本文本映射和规则映射，并用提取的状态机合成攻击。
- [将不合规视为偏离行为：面向 4G LTE 蜂窝设备的自动化黑盒不合规检查器](https://awesomerea.org/zh/papers/paper-dikeue/index.md)：2021 · ACM CCS 2021 · 会议论文 · DIKEUE 通过差分测试而非预先定义的安全属性，检查商用手机和调制解调器中 4G LTE 控制面（NAS 与 RRC）实现的不合规之处。其状态机推断模块借助 LearnLib 中的 TTT 主动自动机学习，经由面向 LTE 的适配器在改造后的 srsLTE 网络和 USRP B210 无线电上运行，并加入上下文检查器、查询缓存、不一致消解器以及无需重启的复位机制。随后，等价性检查器将两两学到的输入输出有限状态机编码给 nuXmv 模型检查器，枚举多样的偏离诱发输入序列，再由作者人工分析。
- [NetPlier：基于报文记录的概率网络协议逆向工程](https://awesomerea.org/zh/papers/paper-netplier/index.md)：2021 · NDSS 2021 · 会议论文 · 通过多序列比对与概率式关键字段推断，按类型对网络报文聚类，并在十种协议上评测及开展后续格式与状态机分析。
- [LibreCAN：自动化 CAN 报文翻译器](https://awesomerea.org/zh/papers/paper-librecan/index.md)：2019 · ACM CCS 2019 · 会议论文 · LibreCAN 在没有整车厂 DBC 翻译文件的情况下，根据在车辆 OBD-II 接口记录的流量逆向专有的 CAN 报文格式。阶段 0 扩展早期的 READ 算法，依据比特翻转行为提取候选信号边界；阶段 1 将提取出的信号与标准 OBD-II PID 及智能手机惯性测量数据做相关分析，识别运动学相关信号并估计其比例系数和偏移量；阶段 2 对驾驶者执行 53 个预定车身相关事件时记录的 CAN ID 进行过滤，为每个事件筛选候选 ID。
- [无线协议自动逆向工程](https://awesomerea.org/zh/papers/paper-wireless-protocol-re/index.md)：2019 · 13th USENIX Workshop on Offensive Technologies (WOOT 19) · 会议论文 · 从解调后的物理层捕获数据推断专有无线协议的报文格式：先依据前导码和同步字对齐报文，再结合 RSSI 与专用引擎标注长度、地址、序列号和校验和字段，并可利用已知地址或字段位置等先验信息。
- [NEMESYS：通过分析单条报文的内在结构逆向推断网络报文语法](https://awesomerea.org/zh/papers/paper-nemesys/index.md)：2018 · 12th USENIX Workshop on Offensive Technologies (WOOT 18) · 会议论文 · 根据单条二进制协议报文内比特一致性的变化，推断近似字段边界，并提出格式匹配分数，将推断的分段结果与已知协议解析器进行比较。
- [利用语义信息实现自动化协议逆向工程](https://awesomerea.org/zh/papers/paper-netzob/index.md)：2014 · ACM ASIA CCS 2014 · 会议论文 · 从通信流量记录中推断未公开协议的词汇，即报文类型与格式。该方法利用报文中嵌入的上下文信息改进报文聚类和字段边界识别；HAL 记录列出的关键词为上下文聚类与语义序列比对。作者以为网络安全产品构建解析器与流量生成器作为研究动机，并与自行重新实现的 ASAP、Discoverer 和 ScriptGen 进行比较。前两位作者也是开源协议逆向框架 Netzob 的作者。
- [Prospex：协议规范提取](https://awesomerea.org/zh/papers/paper-prospex/index.md)：2009 · IEEE S&P 2009 · 会议论文 · Prospex 从 Linux 服务端处理客户端会话时的执行轨迹推断报文格式与协议状态机。它利用动态污点分析把每个会话切分为报文并恢复其格式；再依据输入格式、执行过程及对服务端影响（如报文触发的系统调用、输出与文件路径）的相似度将报文聚类为不同类型。观察到的类型序列构成增广前缀树接受器，先由前置条件与结束状态启发式标注，再用 Exbar 求出一致的最小自动机。所得规范被转换供 Peach 模糊测试器使用，以到达协议的后续状态。评测覆盖 Agobot 命令与控制协议、Sendmail 上的 SMTP、Samba 上的 SMB 以及 Asterisk 上的 SIP。
- [Tupni：输入格式的自动逆向工程](https://awesomerea.org/zh/papers/paper-tupni/index.md)：2008 · ACM CCS 2008 · 会议论文 · Tupni 利用字节级动态污点跟踪，从 x86 程序解析单个输入时的执行轨迹推断输入格式。它依据处理污点字节的指令把输入切分为字段，从解析循环中找出记录序列，按处理代码将记录归为不同记录类型，并输出带有长度、取值及部分跨报文约束的增强 BNF 文法。多个输入得到的文法可以合并为更完整的规范。评测覆盖五种文件格式（WMF、BMP、JPG、PNG、TIF）和五种网络协议（DNS、RPC、TFTP、HTTP、FTP），并将输出用于 ShieldGen 的零日漏洞签名生成。
- [Polyglot：基于动态二进制分析的协议报文格式自动提取](https://awesomerea.org/zh/papers/paper-polyglot/index.md)：2007 · ACM CCS 2007 · 会议论文 · Polyglot 通过监测程序二进制如何处理接收到的报文来推断其格式，作者称这一方法为“影随”（shadowing）。执行监控器对网络输入施加污点标记并记录指令轨迹；离线分析再依据受污点数据参与的内存访问与循环条件识别长度字段、指针字段等指向字段，依据受污点字节与常量之间的比较识别分隔符，依据指令如何组合输入字节识别多字节定长字段，并依据成功的比较提取协议关键字。该方法适用于剥离符号的 IA-32 二进制，无需源码或调试信息。
