在 GitHub 上加星Star1.1k 个星标

研究与证据

逆向工程论文与评测基准

浏览 235 篇逆向工程与软件重建论文,各分区按年份从新到旧排列。

推荐论文浏览仓库论文 BibTeX ↓

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

逆向工程智能体评测

14 篇论文

人类与机器:AI 智能体在软件逆向工程中的对比研究

2026arXiv预印本

比较人类与 LLM 智能体在相同静态逆向挑战中的理解和导航方式,并研究二进制表示如何占用上下文窗口。

研究范围与作者

研究范围与局限

理解能力仅在两个紧凑挑战上评分;另一个包含 4,000 个二进制文件的实验测量上下文容量,并非解题准确率。接口为不含动态执行的静态 IDA/MCP,模型曾接触挑战源码的可能性仍是作者承认的有效性威胁。

作者与引文

Humans vs. Machines: A Comparison With AI Agents in Software Reverse Engineering

Samuele Doria; Stefano De Rosa; Ruoyu Wang; Zion Leonahenahe Basque; Eleonora Losiouk; Simone Aonzo

BibTeX

3 个来源 · 复核于 

使用 CTF-Dojo 训练语言模型智能体发现漏洞

2026ICML 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%。

研究范围与作者

研究范围与局限

这些环境涵盖夺旗赛的一般类别,并非只有逆向工程:658 道题目中,密码学 228 道、漏洞利用 163 道、逆向工程 123 道、杂项 85 道、取证 38 道、Web 21 道。在有成功轨迹的 274 道题目中,密码学是最大的类别(141 道),其次是逆向工程(52 道)。基准提升按基准(共 323 个任务,温度为 0、上限 40 轮)报告,而非按类别报告,因此不能衡量逆向工程准确率。去污染通过匹配竞赛名与题目名完成,移除了 3 道重叠题目;作者指出这无法排除任务之间更广泛的相似性。只有 150 道题目(23%)匹配到题解,所有轨迹都来自两个教师模型,研究也只考察监督微调;作者将 658 道题目的静态规模列为局限。上游归档中基于哈希的旗标检查程序可能有误,作者报告了四个此类错误。仓库代码采用 CC BY-NC 4.0 许可证,包含 CTF-Forge、元数据与题解匹配脚本以及题目索引,但不含题目文件;题目文件需另行从 pwn.college 的 CTF Archive 克隆,不受该仓库许可证覆盖。所审阅的目录中没有轨迹或训练好的权重,题解也需另行收集。夺得旗标并不表明恢复了程序结构。

作者与引文

Training Language Model Agents to Find Vulnerabilities with CTF-Dojo

Terry Yue Zhuo; Dingmin Wang; Hantian Ding; Varun Kumar; Zijian Wang

BibTeX

11 个来源 · 复核于 

Reveree:诊断大语言模型逆向工程智能体

2026arXiv预印本

从旗标恢复、八个分析阶段和操作特征评估逆向智能体轨迹,通过确定性检查与不知道最终结果的模型裁判定位失败环节。

研究范围与作者

研究范围与局限

涵盖 88 个公开 CTF 题和九种模型,仅其中四种比较全部四种提示策略;固定 D-CIPHER 框架,每配置仅一次尝试。一位专家检查 15 条轨迹,理解阶段一致为 53/60;记忆与表面扰动探测不能消除数据污染。

作者与引文

Reveree: Diagnosing LLM Reverse-Engineering Agents

Hadjer Benkraouda; Hongyu Cai; Berkay Celik; Gang Wang

BibTeX

3 个来源 · 复核于 

智能体网络安全的下一项挑战:真实场景且无训练数据污染的逆向工程基准

2026arXiv预印本

提出 SRE-Bench,使用私有编写的程序及带保护机制的二进制变体,研究智能体恢复程序语义的能力,并减少训练数据污染。

研究范围与作者

研究范围与局限

修订版研究报告 19 个程序、262 个二进制实例和 1,572 个评分任务。二进制与任务实例未公开发布,只能通过评估服务访问。污染控制是作者的方法论主张,并非独立保证。

作者与引文

The Next Challenge for Agentic Cybersecurity: A Realistic, Contamination-Free Reverse Engineering Benchmark

Jeremy Spence; Nicholas Assaderaghi; Feng Xiao; Jinhao Zhu; Nikil Ravi; Xiangyu Qi; Matthew Jagielski; Raluca Ada Popa; Eric Wallace; Guannan Wei; Yangruibo Ding; Zhuo Zhang

BibTeX

2 个来源 · 复核于 

针对软件逆向工程 AI 智能体的自动化攻击

2026ECCWS 2026会议论文

研究针对 Cline/GhidraMCP 二进制分析智能体的间接提示注入。改造后的 AutoDAN 生成嵌入字符串,使分析报告偏离程序实际行为。作者以四个小型 C 程序在 Qwen3-8B 上演示,并将样例迁移到 GPT-OSS-120B。

研究范围与作者

研究范围与局限

仅有四个单函数或双函数示例,没有重复试验成功率、真实恶意软件语料或防御评测。论文所用反编译设置会截断超过 2,048 字符的字符串,结果不能推及其他模型或复杂二进制。

作者与引文

Automatically Attacking Software Reverse Engineering AI Agents

Brian Crawford; Justin Phillips; Patrick McClure

BibTeX

5 个来源 · 复核于 

CrackMeBench:面向智能体的二进制逆向工程基准

2026arXiv预印本

用可执行程序判定结果的 CrackMe 任务评估智能体:从二进制推断验证逻辑,提交可被接受的输入或产物,并记录工具使用、耗时与评分尝试。

研究范围与作者

研究范围与局限

v0 研究使用 12 个生成任务和 8 个公开校准任务,限定 Linux x86-64 ELF、Shell 接口和五分钟预算。紧凑的教学任务不能证明大型应用上的表现。未确认论文直接关联的公开研究产物 URL。

作者与引文

CrackMeBench: Binary Reverse Engineering for Agents

Isaac David; Arthur Gervais

BibTeX

2 个来源 · 复核于 

迈向抗 LLM 的软件保护:CTF 逆向工程中的智能体失败模式

2026Workshop on Binary Analysis Research (BAR) 2026会议论文

让 Claude Code、Codex CLI 与 ChatGPT-5.2 Pro 求解从 2025 年 15 场国际 CTF 赛事中选出的 24 道 crackme 类题目,并将失败归因到“观察—理解—计划”循环的各阶段,以及隐藏、复杂化与误导三类保护效果。作者从失败日志中归纳出四类反复出现的弱点:训练偏差、过度信任观察结果、上下文限制和计划固守。他们还在移除反编译器后重新运行两个命令行智能体,并将结果与赛时解题率对比。

研究范围与作者

研究范围与局限

研究覆盖 24 道可在本地求解的 Linux x86-64 ELF crackme 题目和三个商用智能体(命令行工具使用 Claude Opus 4.5 与 GPT-5.1-Codex-Max,ChatGPT 所用模型未公开),于 2025 年 12 月在允许联网的条件下评测;查阅公开题解的运行已被排除。这些二进制相比真实软件规模较小,恶意软件分析与漏洞发现不在范围内。每种配置最多尝试三次,成功即停止,作者承认这种估计噪声较大;成功指输出正确 flag 或找到被程序接受的输入。弱点标签来自两名评估者对日志的定性分析,描述的是这些运行,并非 LLM 智能体的普遍属性。ChatGPT-5.2 Pro 在无法控制的网页沙箱中运行,未纳入反编译器对比。解题率按至少解出一题的队伍计算,其中六题没有数据,参赛队伍也可能借助 LLM。训练数据泄露仍是有效性威胁;论文未公开其整理的题目集、运行日志或代码。

作者与引文

Towards LLM-Resistant Software Protection: Agent Failure Patterns in CTF Reverse Engineering

Ryutaro Nishizaka; Yudai Fujiwara; Takuya Shimizu; Kazushi Kato; Yuichi Sugiyama

BibTeX

5 个来源 · 复核于 

ProgramBench:语言模型能否从零重建程序?

2026NeurIPS 2026会议已接收

通过 200 项任务评估黑盒程序重建:智能体运行可执行文件进行探测并阅读文档,再独立实现代码库,由生成的测试检查其行为。

研究范围与作者

研究范围与局限

推理阶段禁止检查二进制内容、反编译和访问互联网。通过有限测试不能证明完整行为等价或恢复了原始源码。实时榜单中的后续运行结果应与所审阅 arXiv 版本的结果区分。

作者与引文

ProgramBench: Can Language Models Rebuild Programs From Scratch?

John Yang; Kilian Lieret; Jeffrey Ma; Parth Thakkar; Dmitrii Pedchenko; Sten Sootla; Emily McMilin; Pengcheng Yin; Rui Hou; Gabriel Synnaeve; Diyi Yang; Ofir Press

BibTeX

12 个来源 · 复核于 

解构协同:软件逆向工程中人类与 LLM 协作的实证研究

2026NDSS 2026会议论文

研究人类分析人员在静态软件逆向工程中如何借助 LLM 辅助开展工作。作者依据对 153 名从业者的问卷,在带插桩的 IDA Pro 插件中实现六项 LLM 功能;随后 48 名参与者(自报新手与专家各 24 名)分析两个 CTF 风格的二进制程序,其中一道随机指定的题目启用这些功能。基于评分后的解题报告、交互日志和问卷,作者报告 18 项发现:新手的理解程度提升约 98%,达到专家水平,而专家收益甚微;已知算法函数的分诊速度最高提升 2.4 倍,产物恢复量至少增加 66%;同时也出现了有害的幻觉。

研究范围与作者

研究范围与局限

这是一项关于 LLM 辅助分析的人类研究,并非对自主智能体或 LLM 反编译准确率的评测。研究使用两个未经混淆、各含 26 个函数的 C 语言题目,仅允许在 IDA Pro 中进行静态分析(不能使用调试器或符号执行),提示词由研究团队编写,模型可在 GPT-4o、GPT-4o-Mini、GPT-4-Turbo、Claude-3-5-Sonnet 与 Gemini-Pro 中选择。2024–2025 年的实验在 51 名参与者中保留 48 名;专业水平为自报,理解程度是由两名研究人员按评分细则给解题报告打出的分数。LLM 直接生成的产物与理解程度提升无相关性;三名 LLM 用户报告了一个由 LLM 提示、实际并不存在的缓冲区溢出,而“查找漏洞”功能与理解得分呈负相关。个人观察记录、解题报告和问卷回答均不公开,也不接受申请;汇总数据仅可申请获取。

作者与引文

Decompiling the Synergy: An Empirical Study of Human–LLM Teaming in Software Reverse Engineering

Zion Leonahenahe Basque; Samuele Doria; Ananta Soneji; Wil Gibbs; Adam Doupé; Yan Shoshitaishvili; Eleonora Losiouk; Ruoyu Wang; Simone Aonzo

BibTeX

10 个来源 · 复核于 

Cyber-Zero:无需运行环境训练网络安全智能体

2026ICLR 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 个百分点增益。

研究范围与作者

研究范围与局限

训练轨迹均未实际执行:命令输出由一个知晓解题报告与旗标的 LLM 模拟,轨迹通过旗标完全匹配、格式检查和 LLM 评判筛选,而不是通过运行命令验证。作者承认语料可能包含错误的命令记录和编造的旗标,未报告定量错误分析,模拟轨迹也不包含 gdb、Python 交互环境和浏览器等交互式工具。解题报告与评测任务涵盖六个通用 CTF 类别,并非仅限逆向工程;三个测试基准共有 323 道可运行题目,其中 84 道属于逆向工程,总体 Pass@1 不代表逆向工程准确率。结果是在作者的 EnIGMA+ 框架中、以 40 轮为上限的单次贪心解码 Pass@1,所用基准副本经过作者修复;另有 17 道题目无法搭建。污染控制依靠人工比对移除了 47 道重叠题目。夺得旗标并不表明恢复了程序结构。仓库已归档,采用 CC BY-NC 4.0 许可证,其基准说明指出所附基准内容仍归原作者所有。

作者与引文

Cyber-Zero: Training Cybersecurity Agents without Runtime

Terry Yue Zhuo; Dingmin Wang; Hantian Ding; Varun Kumar; Zijian Wang

BibTeX

9 个来源 · 复核于 

CREBench:评估大语言模型的密码二进制逆向工程能力

2026COLM 2026会议论文

通过 432 个受控挑战,评估密码二进制逆向中的算法识别、密钥或 IV 提取、包装层重建及标志恢复。

研究范围与作者

研究范围与局限

语料组合 48 种算法、三类不安全密钥使用场景和三个难度等级。它不覆盖 Tigress、O-LLVM 等专业混淆器,结果不应推广到任意重度保护的二进制文件。

作者与引文

CREBench: Evaluating Large Language Models in Cryptographic Binary Reverse Engineering

Baicheng Chen; Yu Wang; Ziheng Zhou; Xiangru Liu; Juanru Li; Yilei Chen; Tianxing He

BibTeX

9 个来源 · 复核于 

EnIGMA:交互式工具显著帮助语言模型智能体发现安全漏洞

2025ICML 2025会议论文

EnIGMA 在 SWE-agent 基础上面向 CTF 题目进行扩展:交互式智能体工具可在多轮之间保持 gdb 调试会话或 pwntools 服务器连接,另有反编译与反汇编命令、用于长输出的语言模型摘要器,以及按题目类别编写的示例和指导。论文使用四种语言模型,在 NYU CTF、InterCode-CTF、Cybench 及作者收集的 HackTheBox 题集共 390 道题目上评测;还对工具、摘要器和示例做消融实验,并分析解答泄露和“自言自语”(soliloquizing)现象,即模型不与环境交互而自行编写观察结果。

研究范围与作者

研究范围与局限

各基准混合了密码学、取证、二进制漏洞利用、逆向工程、Web 与杂项任务(390 道题中有 104 道为逆向工程),因此 NYU CTF 上 13.5% 等总体解题率并不等于逆向工程准确率。分类别表格报告,使用 Claude 3.5 Sonnet 时,NYU CTF 中 51 道逆向工程题的解题率为 17.65%。结果采用 pass@1,每道题成本上限为 3 美元,使用 2024 年的模型(GPT-4 Turbo、GPT-4o、Claude 3.5 Sonnet 与 LLaMA 3.1 405B Instruct);NYU CTF 基线对比采用 pass@5。许多题目存在公开题解,作者对泄露和“自言自语”的度量属于启发式方法;在 21 道较晚发布的 CSAW 2024 题目上,最佳配置解出 2 道。解出 CTF 题目表明获得了 flag,而非恢复了程序结构或源码。

作者与引文

EnIGMA: Interactive Tools Substantially Assist LM Agents in Finding Security Vulnerabilities

Talor Abramovich; Meet Udeshi; Minghao Shao; Kilian Lieret; Haoran Xi; Kimberly Milner; Sofija Jancheska; John Yang; Carlos E Jimenez; Farshad Khorrami; Prashanth Krishnamurthy; Brendan Dolan-Gavitt; Muhammad Shafique; Karthik R Narasimhan; Ramesh Karri; Ofir Press

BibTeX

12 个来源 · 复核于 

Cybench:评估语言模型网络安全能力与风险的框架

2025ICLR 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%。

研究范围与作者

研究范围与局限

40 道题目中只有 6 道属于逆向工程,其余为密码学(16)、Web(8)、取证(4)、杂项(4)与漏洞利用(2),因此总体成功率并不代表逆向工程准确率,Cybench 也不是专门的逆向工程基准。在无引导的结构化 bash 实验中,八个模型中有六到七个解出了两道最简单的逆向题(人类首解用时分别为 2 分钟和 6 分钟),其余四道均无模型解出。结果仅涵盖 2024 年的模型(GPT-4o、o1-preview、Claude 3 Opus、Claude 3.5 Sonnet、Gemini 1.5 Pro、Llama 3 与 3.1、Mixtral 8x22b)及作者的智能体框架:无引导模式 15 轮、子任务模式每个子任务 5 轮,记忆较短,未提供反编译器工具;主比较只尝试一次,框架比较取三次尝试中的最好结果。首解用时来自各竞赛记录,不同竞赛之间不能直接比较。作者依据模型知识截止日期判断训练—测试重叠,无法排除 Claude 3.5 Sonnet 存在重叠。夺旗赛题目是用时较短、代码规模较小的竞赛问题,夺得旗标并不表明恢复了程序结构。

作者与引文

Cybench: A Framework for Evaluating Cybersecurity Capabilities and Risks of Language Models

Andy K. Zhang; Neil Perry; Riya Dulepet; Joey Ji; Celeste Menders; Justin W. Lin; Eliot Jones; Gashon Hussein; Samantha Liu; Donovan Jasper; Pura Peetathawatchai; Ari Glenn; Vikram Sivashankar; Daniel Zamoshchin; Leo Glikbarg; Derek Askaryar; Mike Yang; Teddy Zhang; Rishi Alluri; Nathan Tran; Rinnara Sangpisit; Polycarpos Yiorkadjis; Kenny Osele; Gautham Raghupathi; Dan Boneh; Daniel E. Ho; Percy Liang

BibTeX

10 个来源 · 复核于 

NYU CTF Bench:用于评估大语言模型攻击性安全能力的可扩展开源基准数据集

2024NeurIPS 2024 Datasets and Benchmarks会议论文

NYU CTF Bench 收录 2017–2023 年 CSAW CTF 资格赛与决赛中经人工验证的 200 道题目,涵盖密码学、取证、二进制漏洞利用、逆向工程、Web 与杂项任务,并为题目提供 challenge.json 元数据,为需要服务端的题目提供 Docker 镜像。论文还提出一个自动化框架,通过函数调用为大语言模型提供执行 Shell 命令、创建文件、使用 Ghidra 反汇编与反编译、检查 flag 和放弃求解等工具。论文评测了五种大语言模型,并将其得分与 CSAW 2022 和 2023 的人类参赛队伍比较。

研究范围与作者

研究范围与局限

200 道题中只有 51 道为逆向工程题(资格赛 31 道、决赛 20 道),因此总体解题率并不等于逆向工程准确率。所有题目均来自同一系列赛事,各类别数量不均衡;最初 567 道题中其余 367 道(包括事件响应类任务)因尚未完成验证而未收录。基线评测中,五次尝试中任意一次成功即算解出,每个模型限时 48 小时,且未进行统计检验。在 GPT-3.5、GPT-4、Claude 3、Mixtral 与 LLaMA 中,逆向工程类最佳解题率为 9.80%(GPT-4),两个开源模型未解出任何题目。与人类的比较基于四场 CSAW 赛事的比赛得分;公开仓库在论文发表后仍持续变化,后续运行未必与论文中的题目集或框架一致。

作者与引文

NYU CTF Bench: A Scalable Open-Source Benchmark Dataset for Evaluating LLMs in Offensive Security

Minghao Shao; Sofija Jancheska; Meet Udeshi; Brendan Dolan-Gavitt; Haoran Xi; Kimberly Milner; Boyuan Chen; Max Yin; Siddharth Garg; Prashanth Krishnamurthy; Farshad Khorrami; Ramesh Karri; Muhammad Shafique

BibTeX

9 个来源 · 复核于 

反编译与符号恢复

110 篇论文

先定位再推理:剥离符号二进制中的端到端补丁存在性测试

2026arXiv预印本

结合指令对齐检索及调用者/被调用者上下文,在剥离符号的二进制中定位补丁相关代码,再由 LLM 筛选候选匹配并对照漏洞版与修复版参考程序判断补丁特定行为。

研究范围与作者

研究范围与局限

需要已知源码补丁以及漏洞版/修复版参考二进制,并非源码恢复或未公开漏洞发现。评测覆盖四个 C/C++ 项目的 62 个 CVE、124 个参考二进制及 496 个目标二进制,限于 x86-64、指定 GCC/Clang 配置和一个报告的推理模型。标签平衡不代表实际部署分布;公开补丁可能出现在训练数据中。不确定与定位失败结果虽单独报告,但二分类指标分别将其计为仍有漏洞的正类及负类;选定子集准确率则排除两者。

作者与引文

Locate, Then Reason: End-to-End Patch Presence Testing in Stripped Binaries

Huaijin Wang; Tongda Wang; Zhibo Liu; Yue Zhang; Shuai Wang; Pengfei Hu; Jianzhong Liu; Fangtian Zhong; Shaohua Wang

BibTeX

3 个来源 · 复核于 

面向召回率的精确二进制到源码函数匹配

2026arXiv预印本

BScout 通过分块嵌入及考虑内联的训练,将反编译函数匹配到源码语料;已有匹配提供位置线索以扩充候选,再由大语言模型选择及结构过滤改进对应关系。

研究范围与作者

研究范围与局限

BinKit-BCSA 包含 3,904 个小型工具二进制,Large-10 的较大项目仅采用 x86-64/O2 构建;部分异常阈值来自 Large-10 中的 FreeCAD。不完整真值、稀疏锚点及源码语料覆盖限制结论。函数分块独立编码,增加改进轮次会在召回、精度和成本之间权衡。这是对应关系检索,不是源码恢复或语义等价证明。

作者与引文

Recall-Oriented Precise Binary-to-Source Function Matching

Junlin Li; Jianjun Huang; Wei You; Bin Liang

BibTeX

2 个来源 · 复核于 

解码 iOS 定位服务发送给 Apple 的数据:大语言模型并非可靠分析员,却能辅助构建工具

2026arXiv预印本

比较直接用大语言模型恢复 Apple PBCodable 模式与构建 Extractor 工具两种路径;工具以编译后的合成样本、既有描述文件和捕获流量交叉检查,说明看似合理的模式也可能静默解码出错误值。

研究范围与作者

研究范围与局限

直接智能体评测采用 17 个种子,共 7,788 次字段出现,其中 4,987 个不同字段。Apple 的真实模式未公开,合成测试共享恢复模板的假设。流量来自一台运行 iOS 16.7.11 的越狱 iPhone 8;较新系统二进制中的字段一致,不等于其联网行为已验证。维护中的代码也明确记录估计或尚未解决的字段。

作者与引文

Decoding What iOS Location Services Send to Apple: An LLM Is an Unreliable Analyst but a Useful Toolmaker

Douglas Leith

BibTeX

4 个来源 · 复核于 

SoK:LLM 恢复源码是否可靠?分类体系与实证评估

2026arXiv预印本

该 SoK 组织 LLM 辅助源码恢复方案,并区分编译、可读性、结构与行为指标。受控研究改变架构、编译优化及符号状态,并以较小的消融实验考察输入表示、模型角色和源语言。

研究范围与作者

研究范围与局限

45,000 个案例是 500 个函数的变体,并非独立程序。输入/语言消融使用 50 个函数,跨语言变体由 LLM 翻译后以有限 I/O 测试检查。研究假设调用接口可推导,结果受提示影响,也无法排除 ExeBench 进入预训练。测试一致性与屏蔽重定位位置的字节匹配具有不同假设。

作者与引文

SoK: Are LLMs Reliable at Source Code Recovery? A Taxonomy and Empirical Evaluation

Varun Kohli; Lee Bing Cheng; Nur Hazim Ghazali; Gao Yuze; Daryl Poon; Dinil Mon Divakaran

BibTeX

4 个来源 · 复核于 

CodeInverter 套件:利用高效大语言模型进行结构与数据感知的二进制反编译

2026ASE 2026会议论文

CodeInverter 研究函数级 LLM 反编译,使用 IDA/objdump 提取的控制流图和内存到数据映射补充输入。论文提出提示工作流、训练语料与模型系列,并以编译、基准输入输出测试和编辑相似性评估结果。

研究范围与作者

研究范围与局限

评估针对 32/64 位 GCC 设置下的单个 C 函数。完整程序恢复、激进优化和受保护二进制仍有局限。正文写有 1 个 epoch(15 步),固定版本启动示例设置 1 个 epoch 及 100 个预热步,尚无法据此核实精确训练日程。

作者与引文

The CodeInverter Suite: Structure- and Data-Aware Binary Decompilation with Efficient LLMs

Peipei Liu; Jian Sun; Rongkang Sun; Li Chen; Zhaoteng Yan; Xiaoling Zhang; Dawei Wang; Dapeng Sun; Peizheng Zhang; Dan Li

BibTeX

12 个来源 · 复核于 

超越文本匹配:面向人的二进制逆向工程的无参考评估

2026ASE 2026会议论文

BinJudgeBench 收集函数命名、二进制代码摘要及反编译改进的专家评分。BinJudge 学习为每个输入及任务选择评审配置,评估与人工评分的一致性,而非可执行正确性。

研究范围与作者

研究范围与局限

路由器在 1,233 个已标注输出上进行五折验证。初始标注者是三位作者,另有独立产业专家复核子集。人工评分具有主观性,流畅但无依据的回答也可能误导评审。任务上的相关性既不证明程序等价,也不能据此认定评审模型可替代人工复核。

作者与引文

Beyond Text Matching: Towards Reference-Free Evaluation for Human-Oriented Binary Reverse Engineering

Xiuwei Shang; Li Hu; Xiao Jiang; Jieke Shi; Junda He; Zhou Yang; Shaoyin Cheng; Guoqiang Chen; Weiming Zhang; David Lo

BibTeX

5 个来源 · 复核于 

将量子汇编反编译为结构化程序

2026arXiv预印本

Quelle 从编译后的 OpenQASM 恢复库调用、循环、函数及符号参数,通过消除路由痕迹、提出结构化重建并核对电路语义,在恢复失败时保留门级表示。

研究范围与作者

研究范围与局限

范围限于理想设备语义下的量子电路,不保证恢复原作者源码。稠密检查采用 1e-6 容差,大电路还依赖可信重写记录、未检查的宽区域 H 共轭恒等式及 QCEC;动态电路及超时检查保持未验证。算法命名需要模板,刻意混淆不在评估范围内。

作者与引文

Decompiling Quantum Assembly into Structured Programs

Pingchuan Ma; Zhantong Xue; Zongjie Li; Qixin Zhang; Yuxuan Du; Zhaoyu Wang; Yuguang Zhou; Shuai Wang; Xiaoqin Zhang

BibTeX

3 个来源 · 复核于 

ASAP:通过汇编与源码对齐改进二进制反编译伪代码

2026arXiv预印本

ASAP 在训练中对齐汇编与源码表示,将汇编特征压缩为标记,并与反编译伪代码一起交给 LLM 改进。掩码及汇编优势目标用于鼓励模型利用低层证据。

研究范围与作者

研究范围与局限

评估使用 HumanEval、MBPP 的 C 改编版本,采用 x86-64 GCC 11.4 的 O0–O3 及 Ghidra 11.0.3 伪代码。重新执行率指通过既有测试,并非等价证明。方法没有专门的标识符/注释恢复模块,也未穷尽评估前沿规模模型的训练。

作者与引文

ASAP: Assembly-Source Aligned Pseudocode Refinement For Binary Decompilation

Yujian Zhuang; Dehong Gao; Qichao Zhang; Qijing Lai; Jiaxin Wang; Libin Yang; Xiaoyan Cai

BibTeX

2 个来源 · 复核于 

Faultless:验证和评估神经反编译器的程序等价性方法

2026arXiv预印本

利用符号执行与专门的内存模型,将神经反编译器生成的 C 代码与确定性反编译结果或参考函数比较,无需完整周边代码库,可用于分析人员的结果核查及模型评估。

研究范围与作者

研究范围与局限

检查限定于函数级,抽象掉副作用顺序和部分编译器细节,选项还可放宽返回值、实参及类型条件。实现明确存在与堆有关的可靠性缺口,并要求兼容的循环结构;不支持的 C 特性及脱离上下文的依赖假设也限制覆盖。未能建立等价关系并不证明不等价。实验使用筛选后的 realtype 与 ExeBench 函数对,不代表任意整程序等价。

作者与引文

Faultless: A Program Equivalence Technique for Validating and Evaluating Neural Decompilers

Luke Dramko; Claire Le Goues; Edward Schwartz

BibTeX

7 个来源 · 复核于 

提交之间:一个完全由 AI 编写的代码库中的过程、错误与陈述可靠性

2026arXiv预印本

通过提交、可用会话日志及代码溯源研究 Extractor 逆向工具的开发,用分类体系区分指令意图、变更触发因素及智能体陈述,揭示普通仓库历史无法反映的提交前纠错。

研究范围与作者

研究范围与局限

仅研究一个由人指导开发的代码库,没有人工编写代码的对照。14.3% 指 105 次已审计生成事件中的 15 次,包含测试缺陷及未同步更新的测试,不是源码行或已交付代码的缺陷比例。大语言模型评分接受抽样人工校准,但会话记录不完整,归档缺少逐响应评分证据包。该配套研究并不独立佐证相关模式恢复结果。

作者与引文

Between the Commits: Process, Error, and Claim Reliability in a Wholly AI-Authored Codebase

Douglas Leith

BibTeX

4 个来源 · 复核于 

Echo:基于可信回译的学习式匹配反编译

2026arXiv预印本

Echo 迭代生成源码及编译配置,重新编译候选,并使用汇编差异指导配置搜索与代码修正。研究在函数基准和一个 Mirai 二进制的部分函数上评估匹配结果。

研究范围与作者

研究范围与局限

匹配指评估配置下归一化函数汇编相同,并非逐字节恢复完整可执行文件。测试覆盖选定的 x86 GCC/LLVM 设置及 62 个 Mirai 函数;通过有限测试框架不是一般等价证明。较长的优化函数及搜索空间外的编译配置仍是限制。

作者与引文

Echo: Learning-based Matching Decompilation using Trusted Back Translation

Jun Bi; Xiangxin Fang; Aarsh Chaube; José Wesley De Souza Magalhães; Rodrigo C. O. Rocha; Michael O'Boyle

BibTeX

2 个来源 · 复核于 

大语言模型改进反编译代码中的记忆基线

2026arXiv预印本

研究大语言模型改进反编译 C 代码时,标识符恢复来自输入证据还是先验知识。通过同一条目的消融实验和与输出词汇匹配的随机基线,比较教材式函数与新编写函数的命名增益,并进行第二模型复核。

研究范围与作者

研究范围与局限

研究仅含 25 个教材式函数和 20 个作者编写的小函数,使用 x86-64 上的 GCC/Ghidra,每个模型只有一种提示。操作仍可观察,消融也改变惯用模式识别线索,因此有限检出能力下的零结果不能证明记忆或完全不利用输入。没有预登记假设得到确认,正确性指标未通过区分能力门槛;原 T3 逐项产物丢失后重新执行,精度随之改变。多数结果只来自一个改进模型,后续第二模型扩展与最初预登记分开报告。

作者与引文

A Memorization Floor for LLM Refinement of Decompiled Code

Muhammad Asjad

BibTeX

6 个来源 · 复核于 

当 LLM 反编译器更易重编译,却更少保留原始行为

2026arXiv预印本

Decompile-Diverge 基于源码生成驱动,并对参考实现进行模糊测试,以构建函数级行为比较。研究让重建函数使用相同输入,检查编译及既有测试可能漏掉的行为差异与崩溃消失。

研究范围与作者

研究范围与局限

该判定器需要参考源码、受支持输入及可构建的测试框架。比较仅覆盖有限输入语料和有界可观测状态;Matched 不代表所有输入上的等价。300 个 GitHub 参考函数中九个无法构建,最终保留 291 个;部分类型与函数被排除。DeGPT-Qwen 使用替换后的后端,并非原始发表的 DeGPT 模型。

作者与引文

When LLM Decompilers Recompile More and Preserve Less

Chang Liu; Edward Raff; Kristopher Micinski

BibTeX

2 个来源 · 复核于 

解耦的必要性:面向优化与混淆、无需识别具体变换的反编译代码恢复

2026arXiv预印本

ReSource 针对受编译优化与混淆影响的反编译函数进行修复:先从语义失真数据库检索指导信息,再预测控制流骨架,最后调整名称与格式。评估衡量代码相似性,以及能否从源码语料中检索到对应的原始函数。

研究范围与作者

研究范围与局限

函数级相似性与检索指标属于替代指标,不能证明代码可编译、可执行等价或完整程序恢复。第 5.2 节指出全局上下文缺失,以及定制混淆尚未测试。作者链接的产物页面介绍了简化数据集,并明确说明数据库构建与控制流预测模块尚未提供。

作者与引文

Decoupling is a Necessity: Transformation-Agnostic Decompiled Code Recovery under Optimization and Obfuscation

Zhiping Zhou; Xiaohong Li; Ruitao Feng; Yao Zhang; Yuekang Li; Wenbu Feng

BibTeX

5 个来源 · 复核于 

STILL:为 LLM 辅助 C++ 反编译恢复编译后隐藏的 STL 语义

2026arXiv预印本

STILL 从去符号控制流图预测函数级 STL 容器的存在情况,并将预测转成紧凑提示,供 LLM 改进 Ghidra 输出。StlBench 为五类容器提供受控标注。

研究范围与作者

研究范围与局限

接口覆盖 map、queue、set、string、vector,不恢复完整变量类型、模板参数、嵌套关系、迭代器或 std::array。实验采用 g++/x86-64/libstdc++、angr 及 Ghidra,未验证向其他工具链的迁移。测试集可执行性不等于等价;提示收益也取决于下游模型及适配。

作者与引文

STILL: Recovering Lowered STL Semantics for LLM-assisted C++ Decompilation

Xiaohan Wang; Kevin Leach

BibTeX

2 个来源 · 复核于 

现代二进制反编译的演进:分类体系、文献回顾与未来展望

2026arXiv预印本

该综述梳理传统、动态、匹配及神经反编译方法,并组织类型恢复、控制流重构、命名和改进等任务及其评估指标、基准选择。配套仓库提供所审文献列表。

研究范围与作者

研究范围与局限

文献搜索截止 2025 年 12 月,重点是源自 C 的二进制及经过同行评审的研究。筛选和分类含人工判断。工具能力描述反映所审出版物,不必然对应当前实现。这是文献综合,而非新近复现的跨工具性能基准,也不是完整的 2026 年预印本汇总。

作者与引文

The Evolution of Binary Decompilation in the Modern Era: A Taxonomy, Literature Review, and Future Perspectives

Omar Abusabha; Sungjae Hwang

BibTeX

6 个来源 · 复核于 

基于结构感知检索与迭代验证将优化二进制提升为规范编译器 IR

2026ACL 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%。

研究范围与作者

研究范围与局限

评测在函数级别、针对短小的基准程序进行:HumanEval-Decompile 与 MBPP 子集,输入为 2 至 628 条汇编指令,由作者在 Linux 上使用单一 LLVM/Clang 19 工具链构建。“规范”指与一个固定的 clang -O0 配置输出一致,而非恢复原始源码。修正过程与可重新执行率指标都使用这些基准自带的单元测试;作者指出,实际逆向工程中很少有这类测试预言。在 x86-64 HumanEval-Decompile 上,改用大语言模型生成的测试时可重新执行率从 65.2% 降至 60.8%,不使用测试时降至 53.5%。输出在结构上仍与参考结果存在差异:平均编辑相似度低于 50%,该基准上控制流图完全匹配率为 25.9%。流水线调用托管的大语言模型 API,大语言模型基线同样如此;结果为五次运行的几何平均值,可能随托管模型变化而改变。作者认为 Forklift 与 LLM Compiler FTD 处理的是编译器生成的汇编文本,因此未将其列为基线;MCTOLL 仅在 x86-64 上参与比较。支持其他指令集需要重建检索数据库。BRIDGE 输出的是 LLVM IR 而非 C 源码,因此不是面向 C 的反编译器。代码仓库没有许可证。

作者与引文

Lifting Optimized Binaries to Canonical Compiler IR via Structure-Aware Retrieval and Iterative Verification

Xiaoao Zhu; Jie Ren; Zhiqiang Li; Jie Zheng; Zhanyong Tang; Zheng Wang

BibTeX

11 个来源 · 复核于 

有本事就骗过我:二进制代码相似性检测模型对语义保持变换的鲁棒性研究

2026Proceedings 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 条指令。

研究范围与作者

研究范围与局限

所有样本都是作者由开源软件包和 SPEC2006 编译的 x86-64 ELF 二进制;部分软件包未能成功编译或变换,原地变换具有不确定性,也未经形式化验证。评测的六个模型(Genius、Gemini、Asm2Vec、SAFE、Trex 与 BinShot)不包括 jTrans 及基于大语言模型的相似性模型,因此研究结论未被证明适用于更新的或基于大语言模型的系统。结果取决于作者为适应各模型输入上限而设定的变换预算,语义空操作与垃圾代码也只插入在函数入口处。加壳、加密、字符串混淆以及 VMProtect、Themida 等商业保护工具不在研究范围内,对抗训练留待后续工作。

作者与引文

Fool Me If You Can: On the Robustness of Binary Code Similarity Detection Models against Semantics-Preserving Transformations

Jiyong Uhm; Minseok Kim; Michalis Polychronakis; Hyungjoon Koo

BibTeX

5 个来源 · 复核于 

MirrorCode:仅凭行为重建完整程序的评测

2026arXiv预印本

利用仅可执行的参考程序、文档及可见样例,评测 25 个命令行程序的重新实现;在独立评分环境中对可见及留出端到端测试进行精确输出比较。

研究范围与作者

研究范围与局限

目标限于指定范围内、确定性、无状态且输出文本的程序。测试一致不等于普遍等价或代码质量评估;记忆探测发现 17 个目标可能已被接触。较大推理预算及框架选择限制与低成本基准的比较,三个目标仍未公开。

作者与引文

MirrorCode: AI can rebuild entire programs from behavior alone

Tom Adamczewski; David Owen; David Rein; Florian Brand; Giles Edkins; Allen Hart; Daniel O'Connell

BibTeX

5 个来源 · 复核于 

SoK:人工智能增强的二进制逆向工程

2026arXiv预印本

一篇系统化知识综述,梳理机器学习、大语言模型与智能体方法在二进制逆向中的应用。第二版通过关键词检索 11 个安全、软件工程与人工智能会议并辅以引文滚雪球,收集 2015 年以来的 246 篇论文,按推断任务归入 22 个领域:从代码边界检测,到函数名、类型与结构体布局恢复,再到代码相似性、恶意软件与漏洞分析以及反编译。其分类体系通过二进制派生的分析产物,把传统的初筛、静态分析、动态分析与安全测试同人工智能流程联系起来,并总结出 12 条洞见及若干开放方向,例如与二进制对齐的语义真值和目标驱动的智能体逆向。

研究范围与作者

研究范围与局限

这是一篇文献系统化综述,不包含新的实验、基准或工具;它对已报告的结果进行分类和总结,并未复现。语料涵盖截至 2026 年 7 月 31 日可获得的论文,引用量门槛从 2015—2016 年论文的 12 次逐步降至 2025—2026 年论文的 2 次,排除推断时需要源码的方法,也不包括 Android 与解释型语言字节码。各阶段的详细表格基于 88 项顶级会议研究,而非完整语料。它是未注明发表场所的 arXiv 预印本。

作者与引文

SoK: AI-Augmented Binary Reversing

Yujeong Kwon; Yiyue Zhang; Kexin Pei; Dokyung Song; Hyungjoon Koo

BibTeX

5 个来源 · 复核于 

基于反馈驱动多轮修正的二进制反编译大语言模型

2026arXiv预印本

AutoDecompiler 训练函数级反编译模型,利用编译、执行及 I/O 反馈修正汇编或伪代码输入产生的输出。其强化学习设计结合诊断反馈及代码有效性、测试行为、语法和数据流结构奖励。

研究范围与作者

研究范围与局限

评估采用 HumanEval、MBPP 的 C 改编版本及验证反馈,有限测试不证明一般等价。HumanEval 还用于选择奖励权重,无法排除基座模型预训练时接触基准。修正受上下文长度限制,不恢复完整程序依赖,对未见工具链或受保护二进制仍有局限。

作者与引文

Binary Decompilation LLM with Feedback-Driven Multi-Turn Refinement

Peipei Liu; Jian Sun; Mingzhe Xing; Yicheng Zeng; Zhaoteng Yan; Lixiao Zhang; Li Chen; Dan Li

BibTeX

6 个来源 · 复核于 

以量化可读性指标引导 LLM 智能体辅助逆向工程

2026arXiv预印本

用综合量化可读性分数(QRS)引导智能体改进反编译 C 代码,将词汇熟悉度、结构简洁度和编程惯用法与二进制结构相似性门槛结合,在 210 个简单 C 二进制程序上比较有无 shell 访问的迭代。

研究范围与作者

研究范围与局限

结构相似性不能证明语义等价。QRS 同时用于指导和评价改进,仍缺少人工可读性验证;经过筛选的合成语料限制了泛化。处理困难二进制并恢复可编译、行为正确代码,不属于本文的贡献范围。

作者与引文

LLM Agent-Assisted Reverse Engineering with Quantitative Readability Metrics

Neil Archibald; Ruben Thijssen

BibTeX

2 个来源 · 复核于 

SCDBench:基于大语言模型的智能合约反编译器基准

2026arXiv预印本

在 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 个被完全恢复。

研究范围与作者

研究范围与局限

重放在生成的输入上比较返回数据、回滚、日志和被访问的存储变化,这些输入平均达到 77.8% 的代码覆盖率;通过重放并不能证明等价,而且重放需要以太坊归档节点。合约均为源码已验证、编译器版本 v0.4 至 v0.8 的以太坊 Solidity 合约,因此不覆盖未验证、经混淆、Vyper 或其他链上的字节码。论文通过 OpenRouter 对三个模型进行零样本评测:高推理强度的 Claude Opus 4.7 与 GPT-5.3-Codex,以及开启和关闭扩展思考的 GLM-5。结果与所列成本仅对应这些 2026 年的模型快照。Gigahorse 与 Heimdall-rs 因不生成可编译的 Solidity,仅评测选择器与函数原型恢复;DiSCo 和 David 等人的微调反编译器仅在文中讨论,并未运行。

作者与引文

SCDBench: A Benchmark for LLM-Based Smart Contract Decompilers

Kaihua Qin; Dawn Song; Arthur Gervais

BibTeX

2 个来源 · 复核于 

加壳识别工具的语义验证:特征分析、修正与下游影响

2026arXiv预印本

以脱壳结果作为参考证据评估壳标签,规范化不同工具的输出,并评估互补签名/启发式规则池及从脱壳器实现提取的静态判定条件;同时追踪识别错误对后续脱壳和恶意软件分类的影响。

研究范围与作者

研究范围与局限

语料约含 160,000 个 Windows PE 样本,其中约 130,000 个用于分析与构造规则,约 30,000 个用于测试。脱壳失败或仅部分恢复可能影响由此生成的参考标签。壳家族识别改进采用公共规则池配置,并非对七个独立工具分别验证补丁。修正评测不涵盖专有实现及基于图或学习的方法;结果不证明覆盖其他可执行格式、所有壳家族或一般语义等价。

作者与引文

Semantic Validation of Packer Identification Tools: Characterization, Repair, and Downstream Impact

Fangtian Zhong; Zhuoyun Qian; Yili Jiang; Jiaqi Huang; Yunming Pang; Xiuzhen Cheng

BibTeX

5 个来源 · 复核于 

Decaf:通过自动反馈与搜索改进神经反编译

2026arXiv预印本

Decaf 采样多个反编译候选,重新编译后利用字节距离或学习式重排序器排序。研究通过候选选择改进神经反编译,而非使用迭代源码修复对话。

研究范围与作者

研究范围与局限

字节匹配假设能取得参考编译器及配置。实验对 ExeBench 抽样,并排除 Hex-Rays 无法反编译的样例;去符号 Synth 因调用目标无法链接而未进行执行评分。既有测试可能漏错,实验未覆盖其他架构及混淆代码,Juliet 结果也不必然泛化到复杂漏洞。

作者与引文

Decaf: Improving Neural Decompilation with Automatic Feedback and Search

Alexander Shypula; Osbert Bastani; Edward Schwartz

BibTeX

6 个来源 · 复核于 

NotDec:通过跨过程类型恢复进行 WebAssembly 反编译

2026ICSE 2026会议论文

NotDec 将 WebAssembly 提升为 SSA 中间表示,通过基于 Retypd 的类型约束及指针/数值区分恢复结构,并生成 C。研究区分完整跨过程分析与较快的过程内变体。

研究范围与作者

研究范围与局限

研究使用 O0/O3 下的 Juliet 样例和五个 Howard 程序。Howard 二进制未实际链接所需库,无法执行,因此重编译不证明行为等价。完整分析有六个 Howard 变体在 24 小时超时;重编译结果仅覆盖成功反编译的样例。已检查的 README 也提醒复杂语句可能产生后端语法错误。

作者与引文

NotDec: WebAssembly Decompilation With Inter-Procedural Type Recovery

Jikai Wang; Ningyu He; Tianming Liu; Junhai Wang; Haoyu Wang

BibTeX

5 个来源 · 复核于 

HELIOS:面向结构感知大语言模型反编译的分层图抽象

2026arXiv预印本

HELIOS 将二进制程序的控制流和函数调用整理成分层摘要,与反编译器输出一同提供给大语言模型,并可加入编译器反馈。论文评估了生成代码的可编译性和功能正确性。

研究范围与作者

研究范围与局限

评估涵盖 x86_64 上的 HumanEval-Decompile,使用 Gemini 2.0 和 GPT-4.1 Mini,并覆盖来自 x86、ARM 和 MIPS 的六种架构。

作者与引文

HELIOS: Hierarchical Graph Abstraction for Structure-Aware LLM Decompilation

Yonatan Gizachew Achamyeleh; Harsh Thomare; Mohammad Abdullah Al Faruque

BibTeX

1 个来源 · 复核于 

Deception Delta:基于大语言模型的智能合约字节码取证对抗评测

2026ACM CCS 2026会议已接收

评估语言模型如何解释人工构造的欺骗性合约与对照合约的原始 EVM 字节码,区分识别隐藏转账机制与正确判断其风险,并结合模型评审和不依赖评审模型的检查。

研究范围与作者

研究范围与局限

主要评测覆盖 22 个模型与 13 个合成合约,仅单轮提供原始字节码,不含执行工具、源码检索或链上上下文。8,528 条纳入分析的回答排除了拒答及待完成运行。金标准来自一位专家,部分评审模型与被测模型属于相同系列。各合约的真值检查不一致,包括仅检查所有者权限或选择器,以及两个注入变体没有专门 EVM 测试。结果不能估计真实部署合约中的发生率,也不能推广到交互式逆向智能体。

作者与引文

The Deception Delta: Adversarial Evaluation of LLM-Based Smart Contract Bytecode Forensics

Timo Schefold

BibTeX

7 个来源 · 复核于 

SK2Decompile:从骨架到皮肤的大语言模型两阶段二进制反编译

2026ICLR 2026会议论文

将 LLM 反编译分为两个阶段:结构恢复模型把反编译器伪代码转换为保留控制流和数据结构、但不含标识符的中间表示,并以编译器反馈作为强化学习奖励;标识符命名模型再以语义相似度为奖励恢复名称。作者报告,其在 HumanEval 上的平均可重新执行率比 GPT-5-mini 高 21.6%,在 GitHub2025 上的平均 R2I 比 Idioms 提升 29.4%。

研究范围与作者

研究范围与局限

训练和主要评测均使用函数级 C 代码,以 GCC 和 Clang 在 -O0 至 -O3 下编译为 x86-64 Linux 二进制,并以 IDA Pro 伪代码作为模型输入。可重新执行率仅在 HumanEval 和 MBPP 上测量;ExeBench 与 GitHub2025 采用 R2I 可读性指标和 GPT-5-mini 评审。附录实验扩展到 BringUpBench 项目、macOS arm64 与 Windows MSVC 构建以及 Obfuscator-LLVM,但模型仅以 C 代码训练,论文预计遇到 C++ 模板等没有 C 对应物的语言特性时效果会下降。

作者与引文

SK2Decompile: LLM-based Two-Phase Binary Decompilation from Skeleton to Skin

Hanzhuo Tan; Weihao Li; Xiaolong Tian; Siyi Wang; Jiaming Liu; Jing Li; Yuqun Zhang

BibTeX

10 个来源 · 复核于 

ShieldedCode:学习虚拟机保护代码的鲁棒表示

2026ICLR 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 攻击。

研究范围与作者

研究范围与局限

全部数据均为 x86-64,所有训练配对都由论文未具名的同一款商业 VMP 工具生成,因此结果未必适用于其他架构、保护工具或虚拟指令设计。生成的虚拟机代码通过 HumanEval-compile 测试用例检验,而非形式化等价验证;各保护级别的 Pass@1 仅在 14.71% 至 26.95% 之间。相对 jTrans 的相似性优势只出现在 O0+L1 设置中:在 BinaryCorp-VirtualAssembly 的其余五种设置中,采用线性探针的 jTrans 的 Recall@1 更高(例如 O2+L1 下为 0.715,ShieldedCode 为 0.309);论文对这一比较的概括也不一致(摘要称提升 10%,引言称提升 15.5 个百分点,结果部分则称性能相当)。消融表中 ContraBin、CLAP 与 CEBin 的得分据论文说明是依其架构估计而非实测。保护强度的结论依赖作者自行开展的攻击和人工研究:12 名研究生与 3 名专业逆向工程师分析 20 个函数,每个函数限时 30–45 分钟,对 ShieldedCode 输出的成功率为 17%,对 VMProtect 和 Themida 分别为 67% 与 58%。ShieldedCode 不是去虚拟化工具或反混淆工具,论文也未链接代码、模型或生成的训练数据。

作者与引文

ShieldedCode: Learning Robust Representations for Virtual Machine Protected Code

Mingqiao Mo; Yunlong Tan; Hao Zhang; Heng Zhang; Yangfan He

BibTeX

5 个来源 · 复核于 

Idioms:以明确定义的类型显著增强局部神经反编译的简单有效框架

2026NDSS 2026会议论文

Idioms 微调代码语言模型,把单个目标函数的 Hex-Rays 输出转换为预测的原始 C 代码,并同时给出其中使用的用户自定义结构体、联合体和类型别名定义。输入可按调用图广度优先顺序附带相邻的反编译函数,使分散在调用者与被调用者中的类型线索能够提供给模型。作者还构建了 Realtype 数据集,包含来自已编译开源 C 仓库的 157,163 个函数及完整类型定义。其基于 CodeGemma-7b 的模型在 ExeBench 上有 54.4% 的函数通过单元测试,LLM4Decompile 为 46.3%,Nova 为 37.5%;在 Realtype 上的得分至少高出 95%。

研究范围与作者

研究范围与局限

这是局部、函数级的神经反编译:每次预测只覆盖一个目标函数及其类型定义,而非可编译的完整程序。评测使用来自 GitHub 开源项目的 x86-64 Linux gcc 二进制及 ExeBench 的“real”子集;O1–O3 构建禁用内联,且只保留在所有优化级别均能反编译的函数,使 Hex-Rays 与 Ghidra 测试集分别减少 21% 和 76%。ExeBench 单元测试是偏乐观的代理指标;Realtype 没有测试,因此以依赖图等价性及名称、类型的完全匹配作为偏保守的代理指标,且 Realtype 的用户自定义类型须所有字段(递归计算平均 17.6 个)均匹配才算正确。主要模型使用专有 Hex-Rays 的输出,上下文窗口为 2,048 或 4,096 个词元。预测的名称与类型属于统计推断,并非恢复的原始信息。仍可能存在来自 GitHub 的预训练数据泄漏,且未评估混淆代码和恶意软件。

作者与引文

Idioms: A Simple and Effective Framework for Turbo-Charging Local Neural Decompilation with Well-Defined Types

Luke Dramko; Claire Le Goues; Edward J. Schwartz

BibTeX

9 个来源 · 复核于 

FidelityGPT:利用检索增强生成纠正反编译失真

2026NDSS 2026会议论文

FidelityGPT 对现有反编译器输出进行后处理:由大语言模型为代码行标注六类失真(如非常规解引用、冗余变量和令人困惑的控制流),再改写被标注的行。其提示词定义各失真类型,并从人工标注的 IDA Pro 与 Ghidra 失真代码行数据库中检索增强上下文。语义强度算法负责选择用于查询的代码行,变量依赖分析则在 50 行分块之间传递冗余变量上下文。作者在 620 对函数上报告检测准确率 89%、精确率 83%,纠正的修复率(FR)为 94%、正确修复率(CFR)为 64%,而他们运行的 DeGPT 分别为 83% 和 37%。

研究范围与作者

研究范围与局限

620 对函数大多取自二进制相似性数据集中 Coreutils、curl、ImageMagick、OpenSSL、PuTTY 与 SQLite 的构建产物,经 IDA Pro 7.5 在 -O0 下反编译,覆盖 ARM-32、MIPS-32 与 x86-32,另含 x86-64 的 TheAlgorithms/C 代码;另有 -O1–-O3 与 Ghidra 数据集用于检验泛化能力。真实标签与 FR/CFR 均由作者团队依照论文标准人工评估。修复率统计的是被标为已修复的行,并非语义等价证明:作者指出修复后的代码往往无法重新编译或执行。纠正阶段以整个函数为单位,函数较长时效果可能下降;失真数据库由 150 行 IDA Pro 与 91 行 Ghidra 代码构建,可能遗漏较少见的异常。主要结果使用温度为 0.5 的 GPT-4o,仍具随机性;DeepSeek-chat 与温度为 0 的结果另行报告。无法排除这些开源项目出现在训练数据中的可能。

作者与引文

FidelityGPT: Correcting Decompilation Distortions with Retrieval Augmented Generation

Zhiping Zhou; Xiaohong Li; Ruitao Feng; Yao Zhang; Yuekang Li; Wenbu Feng; Yunqian Wang; Yuqing Li

BibTeX

9 个来源 · 复核于 

CHISEL:借助 AI 迭代恢复源码

2026SURE @ ACM CCS 2026会议已接收

CHISEL 利用编译诊断及针对原函数的类型感知差分模糊测试改进 Ghidra 伪代码,并保留反例与候选历史。既有 I/O 样例用于保留评测,不提供给恢复循环。

研究范围与作者

研究范围与局限

评估覆盖 120 个选定 ExeBench 函数、x86-64 的 O0–O3、有/无符号变体及固定的 Gemma4:31b 模型。反馈判定器仍会错误接受候选;有限模糊测试及保留测试不证明等价。签名恢复及基准可能进入预训练语料仍是限制。

作者与引文

CHISEL-ing Back Source Code with AI-enabled Iterative Recovery

Varun Kohli; N Raghava; Biplab Sikdar; Dinil Mon Divakaran

BibTeX

5 个来源 · 复核于 

REx86:辅助 x86 汇编逆向工程的本地大语言模型

20252025 IEEE Annual Computer Security Applications Conference (ACSAC)会议论文

论文使用 5,981 个 x86 汇编样例微调了 CodeLlama、Qwen2.5-Coder 和 CodeGemma 系列的八个本地模型,并评估它们辅助二进制逆向工程的效果。

研究范围与作者

研究范围与局限

评估范围包括整理后的 x86 汇编数据集,以及针对逐行理解和解题的 43 人用户案例研究。

作者与引文

REx86: A Local Large Language Model for Assisting in x86 Assembly Reverse Engineering

Darrin Lea; James Ghawaly; Golden Richard; Aisha Ali-Gombe; Andrew Case

BibTeX

2 个来源 · 复核于 

这还是同一份代码吗?WebAssembly 二进制反编译技术的全面研究

2025SecureComm 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 个。

研究范围与作者

研究范围与局限

正确性评测仅覆盖生成的单个函数,其中只有局部变量算术运算,不含库调用、指针或全局状态,因此 wasm2c 的结果不能证明其在一般程序上的正确性。w2c2 未纳入正确性评测,wasm-decompile 的输出仅在 -O0 下能被解析用于结构相似度评测。原生基线经过 DecFuzzer 的语法改写器处理,作者指出 Ghidra 与 RetDec 的部分失败可能源于这一评测步骤而非反编译器本身。可读性依据代码行数、嵌套深度、圈复杂度、Halstead 复杂度、goto 与类型转换数量等指标估计,并非人工研究。基准是作者使用单一 Emscripten/clang 工具链编译的 C 程序集,而非真实环境中的 WebAssembly 模块;工具版本仅说明为当时的最新版本。

作者与引文

Is This the Same Code? A Comprehensive Study of Decompilation Techniques for WebAssembly Binaries

Wei-Cheng Wu; Yutian Yan; Hallgrimur David Egilsson; David Park; Steven Chan; Christophe Hauser; Weihang Wang

BibTeX

4 个来源 · 复核于 

BinMetric:面向大语言模型的综合二进制代码分析基准

2025IJCAI 2025会议论文

BinMetric 提供六类二进制分析任务共 1,000 道题目:调用点重建、反编译、函数签名恢复、二进制代码摘要、算法分类与汇编指令生成。题目取自 20 个开源 C 项目:项目针对 x86-64 编译、剥离符号并经 IDA Pro 处理,再借助 DWARF 信息与源码对齐。作者使用单样例提示评测来自五个模型家族的 12 个大语言模型,并在适用任务上与 IDA Pro 反编译器、LLM4Decompile、BinT5 和 HexT5 对比。

研究范围与作者

研究范围与局限

得分是针对孤立代码片段的题目级指标,并不代表端到端逆向工程流程或智能体工具使用能力。预处理需要 IDA Pro,所有二进制均是在 Ubuntu 22.04 上以各项目默认编译设置构建的 x86-64 程序;未研究其他架构、优化级别变化或混淆。多数任务以 Rouge-L、BLEU、METEOR 或 CodeBLEU 衡量文本重合度,因而并不检验语义等价;只有汇编生成任务检查能否编译及测试用例执行结果,其平均执行通过率低于 1%。摘要标签由 ChatGPT 生成后经人工审核;算法分类使用取自单一算法项目的 80 个片段。数据泄露筛查依赖网页精确匹配搜索。被评测模型均早于 2025 年(包括 gpt-3.5-turbo-16k-0613 与 gpt-4-0613),最大长度设为 8,192 个词元,因此排名只反映当时情况。

作者与引文

BinMetric: A Comprehensive Binary Code Analysis Benchmark for Large Language Models

Xiuwei Shang; Guoqiang Chen; Shaoyin Cheng; Benlong Wu; Li Hu; Gangyang Li; Weiming Zhang; Nenghai Yu

BibTeX

5 个来源 · 复核于 

探索大语言模型在代码去混淆中的潜力

2025DIMVA 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%。随机化常量的记忆测试只发现一个样本复现了记忆中的代码。

研究范围与作者

研究范围与局限

混淆使用 Tigress(发布脚本中为 3.3.3 版),以源码到源码的方式作用于单个 C 函数。研究未评估已编译二进制、反编译器输出、商业保护器、跨过程混淆、基于虚拟机的加壳或自修改代码;作者仅指出可通过反编译从二进制得到近似的 C 代码。这是源码级简化,并非二进制去混淆或虚拟机去虚拟化。语义正确性是主要短板:在单一变换场景中,微调模型保持行为的样本比例为 50% 至 94.5%,大多低于 GPT-4,除分支编码外也低于 Clang,并且随着变换链变长而下降。复杂度得分只统计语法与语义均正确的样本。行为通过 ExeBench 输入/输出样例检查,而非等价性证明;输入受 6,144 个词元的上下文限制,模型微调时还使用了 8 位量化。研究只使用一种混淆器,因此对其他混淆器、版本、机器码或字节码的泛化仍待验证;基线是 GPT-4 与 Clang,而非专用去混淆工具。

作者与引文

Exploring the Potential of LLMs for Code Deobfuscation

David Beste; Grégoire Menguy; Hossein Hajipour; Mario Fritz; Antonio Emanuele Cinà; Sébastien Bardin; Thorsten Holz; Thorsten Eisenhofer; Lea Schönherr

BibTeX

10 个来源 · 复核于 

DecompileBench:面向真实场景的反编译器综合评测基准

2025Findings of ACL 2025会议论文

利用真实程序中的函数、运行时行为检查,以及 LLM 辅助的代码可理解性评估,比较传统反编译器与基于 LLM 的方法。

研究范围与作者

研究范围与局限

评估语料包含 130 个程序中的 23,400 个函数。基于模糊测试的检查覆盖有限,可理解性评分部分依赖 LLM 评审器。研究产物说明,重新构建的 OSS-Fuzz 项目可能与论文版本不同。

作者与引文

DecompileBench: A Comprehensive Benchmark for Evaluating Decompilers in Real-World Scenarios

Zeyu Gao; Yuxin Cui; Hao Wang; Siliang Qin; Yuanda Wang; Zhang Bolun; Chao Zhang

BibTeX

5 个来源 · 复核于 

利用大语言模型反编译智能合约

2025arXiv预印本

分两个阶段将以太坊虚拟机字节码转换为 Solidity。首先通过静态分析把字节码提升为带有恢复控制流的三地址码;随后由基于 238,446 对三地址码—Solidity 函数、以 LoRA 微调的 Llama-3.2-3B 模型逐个生成函数。作者在来自已验证以太坊合约的 9,731 个留出函数上报告,与原始源码的平均语义相似度为 0.82,78.3% 的函数高于 0.8。消融实验在 663 个函数上比较未微调的基础模型,案例研究则反编译了一个未验证的 Dx Protocol 合约和一个遭攻击的 MEV 机器人合约。

研究范围与作者

研究范围与局限

0.82 是论文自定的语义相似度分数,v1 未说明其计算方式。该分数与归一化编辑距离、词元频率比较一起,衡量的是与已验证源码的相似程度,而非行为等价性;v1 未报告对生成的 Solidity 进行编译、执行或差分测试。训练与测试函数均来自已验证合约,闭源部署仅出现在案例研究中。与传统反编译器的比较只是笼统表述,未报告与 Elipmoc 等具名反编译器的直接对比实验。作者展示了一个 DeFi 质押函数,其输出丢失了定点运算与基于时间的奖励逻辑(相似度 0.52),并报告在超长函数以及继承层次深或控制流嵌套深的合约上效果较弱。

作者与引文

Decompiling Smart Contracts with a Large Language Model

Isaac David; Liyi Zhou; Dawn Song; Arthur Gervais; Kaihua Qin

BibTeX

3 个来源 · 复核于 

DecLLM:借助大语言模型实现可重新编译的反编译,支持以程序化方式使用反编译代码

2025Proceedings 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%。

研究范围与作者

研究范围与局限

在 Code Contest 上,成功的含义是修复后的代码能够编译,且重建的可执行文件通过所提供的测试用例,并以 AFL++ 模糊测试作额外检查;Coreutils 与 CGC 的总体比率还计入功能异常或崩溃的重建二进制。这确立的是可编译性和基于测试的一致性,而非语义等价性,作者亦指出后者不可判定。结果依赖 IDA Pro 8.3 的输出(另以 Ghidra 10.4 重复一次实验),以及通过 API 提供、上下文上限为 4,096 个词元的 gpt-3.5-turbo-0613 与 gpt-4-0314 快照,因此所选程序须控制在该上限的一半以内。300 个 Code Contest 程序平均 112.9 行;Coreutils 9.5 与 CGC 二进制编译时未剥离符号,并逐函数修复,这种方式无法推断未定义的全局变量。约 30% 的困难案例仍然失败,主要原因包括反编译器混淆地址与数据、缓冲区大小推断错误、包含 STL 代码的过长输出,以及大语言模型以类型强制转换走捷径;测试未覆盖的行为偏差仍无法发现。对 Juliet 样本进行 CodeQL 分析时需要人工调整查询。

作者与引文

DecLLM: LLM-Augmented Recompilable Decompilation for Enabling Programmatic Use of Decompiled Code

Wai Kin Wong; Daoyuan Wu; Huaijin Wang; Zongjie Li; Zhibo Liu; Shuai Wang; Qiyi Tang; Sen Nie; Shi Wu

BibTeX

9 个来源 · 复核于 

DiSCo:利用大语言模型将 EVM 字节码反编译为源代码

2025Proceedings of the ACM on Software Engineering (FSE 2025)期刊论文

DiSCo 通过提示冻结参数的大语言模型,把以太坊合约的创建字节码提升为 Solidity 源码,而不是输出反编译伪代码。它将控制流路径抽象为逻辑不变的语义单元,模拟执行从区块执行中捕获的创建字节码以恢复构造函数逻辑,并借助签名数据库与类型感知图模型推断被剥离的名称。这些单元被转写为自然语言描述,并与编码规范一起放入提示词。主要模型为 GPT-4,另测试了 Llama 3。

研究范围与作者

研究范围与局限

真实标签来自 Etherscan 上的源码文件:200 个余额最高的合约用于全部基线,1,000 个用于自动化测试;另有独立实验使用 50 个 Vyper 合约、50 个新部署合约和 149 个闭源攻击合约。可编译率(五次采样取优约为 75%,单次运行为 46%)、差分模糊测试通过率与嵌入相似度都不能证明与已部署源码等价。模仿学习模糊测试器生成的交易近半数会回滚;人工审查认为约 28.5% 的生成合约语义一致,Vyper 输入仅为 12%。作者报告路径过多的合约会导致超时或分析不可靠,名称推断能力也仍然有限。基线是将 Panoramix、Ethervm 和 Elipmoc 的输出(多取自其网站,部分为人工反编译)交给同一大语言模型,并非独立反编译器之间的比较。结果依赖某个 GPT-4 预览版快照。攻击复现仅覆盖 2025 年 1 月的十起事件,其中四起复现成功。

作者与引文

DiSCo: Towards Decompiling EVM Bytecode to Source Code using Large Language Models

Xing Su; Hanzhong Liang; Hao Wu; Ben Niu; Fengyuan Xu; Sheng Zhong

BibTeX

7 个来源 · 复核于 

D-LiFT:通过代码质量驱动的微调改进基于大语言模型的反编译器后端

2025arXiv预印本

D-LIFT 使用 D-Score 指导大语言模型微调和输出选择,在优先保证准确性的同时改善反编译代码,并评估了 Ghidra 对 coreutils 和 util-linux 程序的输出。

研究范围与作者

研究范围与局限

评估涵盖 coreutils 和 util-linux 中的函数,使用 Ghidra 和多种大语言模型。按 D-Score 衡量,微调后的模型比基线模型多改善了 55.3% 的函数;D-LIFT 改善了原生反编译器输出中 68.2% 的函数。

作者与引文

D-LiFT: Improving LLM-based Decompiler Backend via Code Quality-driven Fine-tuning

Muqi Zou; Hongyu Cai; Hongwei Wu; Zion Leonahenahe Basque; Arslan Khan; Berkay Celik; Dave; Tian; Antonio Bianchi; Ruoyu; Wang; Dongyan Xu

BibTeX

1 个来源 · 复核于 

ReF Decompile:通过重标记和函数调用增强反编译

2025arXiv预印本

ReF Decompile 通过重标记跳转目标、利用函数调用恢复变量信息,将二进制代码转换为源代码。论文在 HumanEval-Decompile 基准上进行了评估。

研究范围与作者

研究范围与局限

评估范围是 HumanEval-Decompile 基准上的二进制代码反编译;论文与同类方法进行了比较,报告的性能为 61.43%。

作者与引文

ReF Decompile: Relabeling and Function Call Enhanced Decompile

Yunlong Feng; Bohan Li; Xiaoming Shi; Qingfu Zhu; Wanxiang Che

BibTeX

1 个来源 · 复核于 

释放生成式模型在剥离符号二进制变量名恢复中的能力

2025NDSS 2025会议论文

GenNm 通过微调生成式代码模型(默认 CodeGemma-2B,另测试 CodeLlama-7B 及经 LoRA 微调的 CodeLlama-34B),为剥离符号二进制反编译代码中的占位变量建议名称。查询会加入沿调用图传播、已重命名的调用者代码与被调用者签名;类 DPO 的符号偏好优化(SymPO)抑制模型偏向训练集中高频名称,基于数据流的名称验证步骤则在多轮迭代中从候选名称里选择。作者报告,在重建的 DIRTY 与 VarCorpus 数据集上,其精确率比 VarBERT 和 ReSym 高 5.6–11.4 个百分点;对训练中未出现的名称,精确率为 22.8%,最强基线为 17.3%。

研究范围与作者

研究范围与局限

预测结果依据调试符号中的名称评分:一方面借助 SymLM 的词簇与规则进行词元匹配,另一方面由 GPT-4 评估器判断上下文相关性与语义准确性;两者都不能说明输出就是原始标识符,按二进制划分时整体精确率为 35.8%(DIRTY)和 41.2%(VarCorpus)。对训练中未出现的项目,精确率约为 30%,在 -O2 与 -O3 下的提升也较小。真实标签来自由 GitHub 项目或 Gentoo 软件包重建的 Linux 二进制文件中的调试信息,论文示例使用 IDA Pro 输出。GenNm 需要每个二进制的调用图,这也是重建 DIRTY 数据集的原因;VarCorpus 按函数划分的结果只使用 15% 的二进制样本,与黑盒 GPT-3.5/GPT-4 的比较使用 1,000 个抽样函数。它只恢复变量名,不恢复类型、函数名或完整的反编译代码。

作者与引文

Unleashing the Power of Generative Model in Recovering Variable Names from Stripped Binary

Xiangzhe Xu; Zhuo Zhang; Zian Su; Ziyang Huang; Shiwei Feng; Yapeng Ye; Nan Jiang; Danning Xie; Siyuan Cheng; Lin Tan; Xiangyu Zhang

BibTeX

11 个来源 · 复核于 

TypeForge:为去符号二进制合成并选择最适配的复合数据类型

2025IEEE S&P 2025会议论文

TypeForge 从去符号二进制中恢复复合数据类型,包括结构体布局、联合体以及指针引用和嵌套关系。它在 Ghidra 反编译器推断出的变量之上构建全程序类型流图,传播成员偏移与大小,切断由类型转换和联合体引起的冲突边,并合成候选类型声明。大语言模型只在这些静态合成的候选中进行选择:每个候选通过反编译器的重定类型接口应用,再以双败淘汰赛比较所得伪代码的可读性。作者在 OSPREY 的 coreutils 数据集上报告复合类型识别 F1 为 81.7%、布局恢复 F1 为 88.2%、关系恢复 F1 为 72.1%。

研究范围与作者

研究范围与局限

恢复的是成员偏移、大小和类型间关系,而非原始类型名或成员名;由于名称不可得,关系是否正确以布局匹配判定。主要评测使用 OSPREY 的数据集,包括 GNU coreutils 与 Howard 数据集中较大的程序,涵盖超过 10,000 个函数和 11,000 个复合类型变量,优化级别为 O0–O3,真实标签取自调试信息;论文未按架构分别报告结果。基线比较中,OSPREY 的结果由其作者提供,运行时间为估算值,ReSym 的数据取自其已发表结果,因此并非所有基线均经重新运行。保守地删除冲突边可能遗漏有效成员;合并或展平成员的编译器优化会降低较高优化级别下的准确率。约 75% 的运行时间用于大语言模型选择阶段;默认模型为 GPT-4o mini,每轮比较执行三次。下游可读性与漏洞检测示例属于案例研究,不能证明语义等价。

作者与引文

TypeForge: Synthesizing and Selecting Best-Fit Composite Data Types for Stripped Binaries

Yanzhong Wang; Ruigang Liang; Yilin Li; Peiwei Hu; Kai Chen; Bolun Zhang

BibTeX

10 个来源 · 复核于 

Nova:结合层次注意力与对比学习的汇编代码生成式语言模型

2025ICLR 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。

研究范围与作者

研究范围与局限

反编译以函数为单位,在 HumanEval-Decompile 的 164 个 C 问题上评测;每个问题在 O0–O3 下编译为 x86-64,每个函数采样 20 次并以题目测试用例运行。基于这些测试的 Pass@k 既不能证明整程序反编译能力,也不能证明等价性。除 LLM4Decompile 与 Nova 外,其他基线采用三样例提示而非微调。相似性结果针对 O0 查询与 O3 候选,候选池为来自 Binutils、Curl、ImageMagick、SQLite、OpenSSL 与 PuTTY 的 50–500 个函数,模型先在 BinaryCorp-3M 上微调。反编译微调使用抽样的 216 万对数据,README 称仅从 The Stack 获取 5 万个文件;论文也说明 Nova 仅支持 x86-64 汇编,模型规模限于 1.3B 和 6.7B。输入需要按论文方式规范化汇编。

作者与引文

Nova: Generative Language Models for Assembly Code with Hierarchical Attention and Contrastive Learning

Nan Jiang; Chengxiao Wang; Kevin Liu; Xiangzhe Xu; Lin Tan; Xiangyu Zhang; Petr Babkin

BibTeX

11 个来源 · 复核于 

Malsight:结合恶意源代码与良性伪代码的二进制恶意软件迭代式摘要生成

2025IEEE 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 模型相当。

研究范围与作者

研究范围与局限

训练用摘要由大语言模型生成,再经五位专家审阅完善,并非从零开始人工撰写。MalP 的 500 个测试函数来自对同一批 GitHub 恶意代码仓库中 20 个仓库的编译与反编译,而非野外样本;作者也指出,过滤不够严格可能导致训练集与测试集重叠,从而使结果偏高。质量评估主要采用作者自行提出的 BLEURT-sum 指标。在十个真实恶意软件样本上(其中 79 个函数另由三名逆向工程人员评分),BLEURT-sum 比在 MalP 上低约 30%,作者将其归因于函数过长:15.8% 的函数超过 1,000 个词元,而大多数训练函数不足 300 个。该流程依赖 IDA Pro 伪代码,静态注释依赖在线代码搜索和通用大语言模型。MALSIGHT 用于概括行为,既不是恶意软件检测器,也不是分类器。

作者与引文

Malsight: Exploring Malicious Source Code and Benign Pseudocode for Iterative Binary Malware Summarization

Haolang Lu; Hongrui Peng; Guoshun Nan; Jiaoyang Cui; Cheng Wang; Weifei Jin; Songtao Wang; Shengli Pan; Xiaofeng Tao

BibTeX

5 个来源 · 复核于 

Lares:面向补丁存在性测试的大语言模型驱动代码切片语义搜索

2025ASE 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。

研究范围与作者

研究范围与局限

Lares 回答的问题范围很窄:给定某个 CVE 的补丁差异、带有版本历史的项目源码以及候选函数,判断该函数属于修复前版本还是已修复版本。它同时需要补丁差异与项目源码,并假定已由另外的二进制代码相似性工具(论文以 BinaryAI 为例)定位候选函数。它不负责发现漏洞函数、挖掘新漏洞或比较任意二进制。其判断依赖大语言模型与基于反编译伪代码的 SMT 推理:Z3 只能处理约 21% 的测试用例(仅用 Z3 验证时召回率为 0.221),多数判断来自大语言模型;作者列出的失败原因包括大语言模型在比较时产生幻觉、隐蔽的修改型补丁以及重复出现的补丁语句。结果使用 IDA Pro 7.5 与商用模型,每个用例约花费 0.20 美元;GPT-3.5-Turbo 与 DeepSeek-Coder 的得分更低。评测覆盖四个 C 项目、73 个 CVE 及作者自行编译的二进制,另以 2024 年 10 月之后披露的 20 个漏洞(400 个用例)检验训练数据污染;未评测固件、其他语言或真实厂商构建。仓库没有许可证文件,因此未授予任何复用条款。

作者与引文

Lares: LLM-driven Code Slice Semantic Search for Patch Presence Testing

Siyuan Li; Yaowen Zheng; Hong Li; Jingdong Guo; Chaopeng Dong; Chunpeng Yan; Weijie Wang; Yimo Ren; Limin Sun; Hongsong Zhu

BibTeX

7 个来源 · 复核于 

Decompile-Bench:面向真实二进制反编译的百万级二进制与源码函数对

2025NeurIPS 2025 Datasets and Benchmarks会议论文

通过 Compile-Trace-Filter 流程构建 200 万组 C/C++ 二进制与源码函数对,并提供涵盖转写为 C/C++ 的 HumanEval、MBPP 任务及近期 GitHub 函数的评测集。

研究范围与作者

研究范围与局限

该工作研究函数级反编译。重新执行测试覆盖 HumanEval、MBPP;GitHub2025 未提供单元测试。内联可能使二进制与源码无法一一对应,微调实验仅使用 10% 的语料。这些结果不能证明整程序恢复能力。

作者与引文

Decompile-Bench: Million-Scale Binary-Source Function Pairs for Real-World Binary Decompilation

Hanzhuo Tan; Xiaolong Tian; Hanrui Qi; Jiaming Liu; Zuchen Gao; Siyi Wang; Qi Luo; Jing Li; Yuqun Zhang

BibTeX

11 个来源 · 复核于 

超越分类:借助领域适配的大语言模型推断去符号二进制中的函数名

2025NDSS 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 恶意软件的案例研究。

研究范围与作者

研究范围与局限

函数名被拆分为单词,并以精确率、召回率和 F1 评分,同时使用 SymLM 的 CodeWordNet 归并语义相近的词;预测结果是描述性的推测,并非恢复的原始符号。平均 F1 为 0.277,在 MIPS(0.137)和 ARM(0.262)上更低。摘要中最高 409.3%、553.5% 与 489.4% 的提升是作者报告的相对 AsmDepictor 的改进;各基线在作者去重后的数据集上重新训练,得分远低于其原论文结果,XFL 仅在 x86-64 上比较。每种架构和优化级别分别训练一个模型。所有二进制均由 GCC 9.4.0 构建,输入依赖 Ghidra 输出,且 Code Llama 的预训练数据未公开,仍可能存在数据泄漏。混淆测试对来自六个项目的 363 个二进制应用 Hikari 的三种默认混淆(F1 为 0.271–0.303);恶意软件研究涵盖 16 个 x86-64 构建中的 812 个函数(F1 为 0.348)。

作者与引文

Beyond Classification: Inferring Function Names in Stripped Binaries via Domain Adapted LLMs

Linxi Jiang; Xin Jin; Zhiqiang Lin

BibTeX

10 个来源 · 复核于 

ReSym:利用大语言模型恢复去符号二进制中的变量与数据结构符号

2024ACM CCS 2024会议论文

结合两个微调语言模型与基于 Prolog 的跨函数推理,从去符号二进制的反编译结果中推断局部变量符号及用户自定义数据结构。

研究范围与作者

研究范围与局限

该方法依赖底层反编译结果及针对 C/C++ 数据学习的预测。交叉检查可减少预测冲突,但不能证明恢复的名称或布局与缺失源码完全一致。公开研究产物包含模型、处理后的数据与评估代码。

作者与引文

ReSym: Harnessing LLMs to Recover Variable and Data Structure Symbols from Stripped Binaries

Danning Xie; Zhuo Zhang; Nan Jiang; Xiangzhe Xu; Lin Tan; Xiangyu Zhang

BibTeX

7 个来源 · 复核于 

自构造上下文反编译与细粒度对齐增强

2024Findings of EMNLP 2024会议论文

为大语言模型将函数级 x86-64 GCC 汇编反编译为 C 的流程增加两项技术。自构造上下文反编译(sc²dec)无需微调:把模型首次生成且可编译的结果重新编译,以得到的汇编—源码对作为上下文示例再次反编译。细粒度对齐增强(FAE)利用 DWARF 调试信息构造语句级汇编—C 对齐数据,以 LoRA 微调 llm4decompile-6.7b。两者结合后,作者报告在 Decompile-Eval 上的平均可重执行率为 52.41%,基础模型为 48.60%。

研究范围与作者

研究范围与局限

结果为 Decompile-Eval 上的函数级可重执行率:164 道源自 HumanEval 的 C 题目,分别以 O0–O3 编译,并通过重新编译和 HumanEval 测试用例检查。通过这些测试不代表完整程序或全部输入上的等价性;论文也未评估真实二进制、其他架构或可读性。只有首次输出能够重新编译时 sc²dec 才有帮助,因此可重编译率低会限制其收益;作者报告以不匹配的优化级别构造上下文会使结果降低 1–2%,用 clang 构造的上下文得分也略低于 GCC。FAE 仅使用 10,000 个只依赖 C 标准库的 ExeBench 函数,训练一个轮次,且只基于一个 6.7B 基础模型;作者未在更大数据集或模型上验证,它还使 1-shot 结果略有下降。GPT-4 与 DeepSeek 基线是 API 快照,未必可复现。

作者与引文

Self-Constructed Context Decompilation with Fined-grained Alignment Enhancement

Yunlong Feng; Dechuan Teng; Yang Xu; Honglin Mu; Xiao Xu; Libo Qin; Qingfu Zhu; Wanxiang Che

BibTeX

11 个来源 · 复核于 

LLM4Decompile:使用大语言模型反编译二进制代码

2024EMNLP 2024会议论文

训练语言模型将汇编反编译为 C,并改进 Ghidra 伪代码,以恢复函数能否重新编译并正确执行为评估目标。

研究范围与作者

研究范围与局限

论文实验限定于 x86 平台的 C 代码和函数级基准。通过抽样测试重新执行,不代表整程序等价或恢复了原始源码。仓库后续版本应与 2024 年论文区分。

作者与引文

LLM4Decompile: Decompiling Binary Code with Large Language Models

Hanzhuo Tan; Qi Luo; Jing Li; Yuqun Zhang

BibTeX

5 个来源 · 复核于 

WaDec:基于大语言模型的 WebAssembly 反编译

2024ASE 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 进行比较。

研究范围与作者

研究范围与局限

所报告的比率是作者在经 Emscripten 编译为 Wasm 的 C 程序上取得的结果。约一半输出可重新编译,不到一半可重新执行,约四分之一能复现原始输出,因此反编译代码总体上并不语义等价。含 3,977 个文件的基准与训练程序来自相同的两个来源。未评估优化构建:作者既未针对 O1/O2 代码调整方法,也未用其训练模型。模型处理数据结构的能力也较弱,常将其拆成独立变量或数组。研究仅涉及 C 源码,未评估由其他语言或工具链生成的 Wasm。基线为 Wasm2c 与 Ghidra 的 Wasm 插件;由于没有大语言模型能在未经微调时反编译 Wasm 函数,此类基线被排除。切片意味着一个函数可能需多次反编译,每个提示约需 0.1 至 2 秒。

作者与引文

WaDec: Decompiling WebAssembly Using Large Language Model

Xinyu She; Yanjie Zhao; Haoyu Wang

BibTeX

8 个来源 · 复核于 

大语言模型理解二进制代码的能力已走多远

2024ICSME 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 远程访问木马的案例研究。

研究范围与作者

研究范围与局限

基准仅覆盖按各项目默认编译器与优化设置构建的 x86-64 二进制及 IDA Pro 伪代码,因此结果不能说明在其他架构、优化级别、反编译器或混淆代码上的表现;作者明确未考虑混淆。参考摘要由 ChatGPT 根据源码生成,并经三位专家筛查,而 ChatGPT 本身也是被评测的模型。BLEU-4、METEOR 与 Rouge-L 衡量的是与这些参考摘要的重合度,作者也指出这些指标未必适合二进制代码摘要。函数名恢复采用词元级精确率、召回率与 F1,而非完全匹配。微调使用来自 O0 级 x86-64 GNU 构建的 30,000 个函数。结果对应 2023 年中至 2024 年初发布的模型版本,包括 gpt-3.5-turbo-16k。

作者与引文

How Far Have We Gone in Binary Code Understanding Using Large Language Models

Xiuwei Shang; Shaoyin Cheng; Guoqiang Chen; Yanming Zhang; Li Hu; Xiao Yu; Gangyang Li; Weiming Zhang; Nenghai Yu

BibTeX

4 个来源 · 复核于 

CLAP:借助自然语言监督学习可迁移的二进制代码表示

2024ACM 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。

研究范围与作者

研究范围与局限

训练用的解释由 GPT-3.5 和经微调的 Vicuna 模型依据源码生成,并非人工撰写;五位专家为每个模型的 50 条解释打分,多数被评为可接受。作者指出,仅使用 Ubuntu 构建环境以及采用 GPT-3.5 生成解释都可能带来偏差。函数由 IDA Pro 7.6 反汇编,少于三个基本块的函数被排除。相似性结果使用 BinaryCorp-3M 中不同优化级别的函数对,各基线采用线性探测,jTrans 另做了完整微调,CLAP 则未经微调;密码算法识别(17 种算法,约 7 万个依据函数名与软件包元数据标注的函数)和协议分类(18 种类型)使用作者从 Ubuntu 软件包构建的数据集,其中微调后的 CLAP 超过基线,零样本 CLAP 在密码算法识别上则略逊于最佳基线。恶意软件与排序算法结果仅为个案研究。训练使用 32 块 A100 GPU。CLAP 输出的是嵌入和标签分数,既不是反编译器,也不是恶意软件检测器。

作者与引文

CLAP: Learning Transferable Binary Code Representations with Natural Language Supervision

Hao Wang; Zeyu Gao; Chao Zhang; Zihan Sha; Mingyang Sun; Yuchen Zhou; Wenyu Zhu; Wenju Sun; Han Qiu; Xi Xiao

BibTeX

8 个来源 · 复核于 

TYGR:基于图神经网络的剥离符号二进制类型推断

2024USENIX 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%。

研究范围与作者

研究范围与局限

真实标签来自作者自行编译的二进制中的 DWARF 信息,训练与测试使用 TyDa-min,即约 8% 的 TyDa 二进制,因此结果不涵盖野外样本、混淆代码或 C++ 代码。分析是过程内的,仅覆盖栈变量与堆变量,不包括全局变量;未解析的间接跳转可能使部分代码未被分析,相邻的栈上结构体会被预测为一个结构体,但作者发现这种情况在 TyDa 中很少见。随着训练数据增加,准确率在 80% 左右趋于平稳,作者将其归因于罕见类型以及仅凭使用方式无法区分的类型。比较按各基线的原始设定进行:DIRTY 与 OSPREY 仅在 x64 上比较,OSPREY 则使用其作者提供的 Coreutils x64-O0 结果。准确率未直接与 Ghidra 或 IDA Pro 比较。预测结果取自固定的基本类型、指针类型与结构体成员类型集合,并不恢复类型名称或完整的结构体声明。

作者与引文

TYGR: Type Inference on Stripped Binaries using Graph Neural Networks

Chang Zhu; Ziyang Li; Anton Xue; Ati Priya Bajaj; Wil Gibbs; Yibo Liu; Rajeev Alur; Tiffany Bao; Hanjun Dai; Adam Doupé; Mayur Naik; Yan Shoshitaishvili; Ruoyu Wang; Aravind Machiry

BibTeX

6 个来源 · 复核于 

D-Helix:基于符号差分的通用反编译器测试框架

2024USENIX 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 个缺陷。

研究范围与作者

研究范围与局限

仅测试了 Ghidra 与 angr,未测试 Hex-Rays、Binary Ninja、RetDec 或基于大语言模型的反编译器;作者估计,若要支持中间表示尚未受支持的反编译器,至少需要 40 天的符号执行引擎开发工作。结果是对作者所选 2,004 个 x86-64 Linux 输入的函数级符号等价检查,这些输入由 GCC 11.1.0 与 Clang 16.0.0 按各项目默认优化选项构建,并排除了大于 30 MiB 的二进制。覆盖并不完整:RECOMPILER 能重新编译 Ghidra 反编译函数的 72.4% 与 angr 反编译函数的 45.0%,SYMDIFF 又分别成功分析其中的 91.3% 与 93.9%。符号执行限制循环次数,默认超时为两分钟,将全局变量视为常量,且不解析浮点约束;精度上的取舍会导致误报,误报情况基于每个反编译器 100 个函数的样本测量。TUNER 在其检查的 443 处偏差中自动修复了 72 处。函数通过检查并不能证明整个程序正确。

作者与引文

D-Helix: A Generic Decompiler Testing Framework Using Symbolic Differentiation

Muqi Zou; Arslan Khan; Ruoyu Wu; Han Gao; Antonio Bianchi; Dave (Jing) Tian

BibTeX

5 个来源 · 复核于 

代码并非自然语言:释放面向语义的图表示在二进制代码相似性检测中的潜力

2024USENIX Security 2024会议论文

HermesSim 将每个函数提升为 Ghidra P-code,并构建面向语义的图,以显式表示指令内部的操作数结构、定义—使用关系、控制流及副作用顺序,同时舍弃与语义无关的细节,例如由哪个寄存器临时保存某个值。它使用带多头 softmax 聚合器的门控图神经网络对图进行嵌入,再按嵌入相似度比较函数。作者在 Marcelli 等人发布的 Dataset-1 基准上报告:在 10,000 个函数的候选池中进行 x64 跨编译器检索时,RECALL@1 为 48.1%,经微调的 jTrans 为 31.4%;HermesSim 模型参数量为 388K。

研究范围与作者

研究范围与局限

实验室结果沿用 Marcelli 等人的 Dataset-1:训练、验证与测试集分别含 257K、13K 与 522K 个函数,覆盖 x86、ARM 和 MIPS 的 32 位与 64 位代码,由 GCC 和 Clang 以 O0–O3 及 Os 编译。HermesSim 保留该数据集由 IDA Pro 7.3 恢复的控制流和基本块边界,仅用 Ghidra 反汇编并提升各基本块,因此结果并不衡量函数或控制流图的恢复能力。每项设置抽取 1,000 个查询函数,候选池最多为 10,000 个函数;性能提升是相对于论文自行运行的 SAFE、Asm2Vec、GMN、Trex 和 jTrans 而言,其中 jTrans 仅支持 x86,只在 x64 子集上比较。真实场景实验在来自三家厂商 12 个 RTOS 固件映像的 62,605 个 ARM32 与 MIPS32 函数中,检索与 5 个 CVE 相关的 10 个函数;其真实标签来自对各比较方法前 20 个结果的人工检查。方法不编码字符串、整数及外部符号引用,只建模内存副作用,未解析的间接跳转也会使图不完整。相似度用于为人工审查排列候选,并不能证明等价性或存在漏洞。

作者与引文

Code is not Natural Language: Unlock the Power of Semantics-Oriented Graph Representation for Binary Code Similarity Detection

Haojie He; Xingwei Lin; Ziang Weng; Ruijie Zhao; Shuitao Gan; Libo Chen; Yuede Ji; Jiashui Wang; Zhi Xue

BibTeX

8 个来源 · 复核于 

C 语言反编译器保真度问题分类

2024USENIX Security 2024会议论文

对反编译所得与原始 C 函数构成的代码对进行开放式编码,归纳反编译器输出在缺失名称与类型之外如何偏离源码。作者借助语句对齐抽象与主题分析,构建包含 15 个顶层类别、共 52 个编码的层级化编码手册,既涵盖不等价表达式、错误返回行为等正确性问题,也涵盖多余变量、不符合惯用写法的控制流及反编译器特有宏等可读性问题。该编码手册基于 Hex-Rays 输出建立,并应用于 Ghidra、retdec 与 angr;作者据此提出以类型预测、基于规则的修正及整程序级学习技术来应对各类缺陷。

研究范围与作者

研究范围与局限

这是定性分类,并非基准分数或反编译器排名。编码主要基于从小函数集中随机抽取的 200 个 Hex-Rays 反编译/原始函数对,另加十个大型函数;作者报告共编码 235 个函数对。Ghidra、retdec 与 angr 仅在 25 个函数的子样本上与 Hex-Rays 比较。输入是对多数代码为 C 的 GitHub 仓库经 GHCC 构建后的 Hex-Rays 反编译结果,偏向具有可识别且可用构建脚本的项目,并经过一个也误删部分有效函数的过滤步骤;数据集不含混淆二进制,也不太可能包含恶意软件。缺失的变量名与类型被有意不作标注。Java 检查作为附带研究,将编码手册应用于 25 个经 JD-GUI 反编译的 Defects4J 函数。这些问题对逆向工程人员工作效率的影响留待后续研究。

作者与引文

A Taxonomy of C Decompiler Fidelity Issues

Luke Dramko; Jeremy Lacomis; Edward J. Schwartz; Bogdan Vasilescu; Claire Le Goues

BibTeX

4 个来源 · 复核于 

CodeArt:在缺少符号时通过注意力正则化改进代码模型

2024Proceedings 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%。

研究范围与作者

研究范围与局限

模型仅处理 x86-64,函数由 IDA Pro 反汇编,输入上限为 512 个词元。相似性任务在 BinaryCorp-3M 上微调,以 Coreutils 作验证集,在 Curl、Binutils、ImageMagick、SQLite、OpenSSL 和 PuTTY 六个项目上测试,基线为 GNN、GMN、jTrans 与 DiEmph;PuTTY 的函数较短,CodeArt 在其上仅与 DiEmph 相当。类型推断使用 StateFormer 数据集中的 x86-64 部分及 35 个标签,并与 StateFormer 已报告的结果比较,而非重新运行。恶意软件分类使用来自 VirusTotal 与 VirusShare、属于最常见 100 个家族的 5,484 个样本,对比 jTrans 和重新实现的 CNN。所有提升都是相对这些基线和设定而言。CodeArt 输出嵌入及特定任务的预测,既不是反编译器,也不是恶意软件检测器。

作者与引文

CodeArt: Better Code Models by Attention Regularization When Symbols Are Lacking

Zian Su; Xiangzhe Xu; Ziyang Huang; Zhuo Zhang; Yapeng Ye; Jianjun Huang; Xiangyu Zhang

BibTeX

9 个来源 · 复核于 

StackSight:借助大语言模型与神经符号思维链反编译揭示 WebAssembly

2024ICML 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。

研究范围与作者

研究范围与局限

输入是 HumanEval-X(164 个中 161 个可编译)与 MBXP(974 个中 773 个)C++ 子集中的简短练习函数,以 Emscripten 3.1.46 按 -Oz 编译为侧模块,通过 --profiling-funcs 保留函数名,再用 wasm2wat 1.0.33 转换;未评估经过压缩、混淆或完整应用规模的 WebAssembly。正确性指输出能够编译并通过基准测试用例的比例;测试判定器会重命名函数、插入测试并补充命名空间指令,按值传参则由人工修改。通过这些测试并不证明与原始模块等价。函数摘要以 BERTScore 和 SBERT 评分;用户研究有 15 名参与者,每个数据集 20 个代码片段。wasm2c 与一种早期神经反编译器因无法生成可编译输出而未纳入比较,结果也依赖特定版本的托管模型。

作者与引文

StackSight: Unveiling WebAssembly through Large Language Models and Neurosymbolic Chain-of-Thought Decompilation

Weike Fang; Zhejian Zhou; Junzhou He; Weihang Wang

BibTeX

4 个来源 · 复核于 

STRIDE:反编译可执行文件中的简单类型识别

2024arXiv预印本

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 毫秒。

研究范围与作者

研究范围与局限

这是一篇未标明发表场所的 arXiv 预印本。STRIDE 依据完全一致的 N-gram 匹配进行分类,因此预测取决于训练数据中出现过的词元序列:它无法模糊匹配,也无法预测训练中未出现的名称或类型;基于某一反编译器词元格式训练的模型预计不能迁移到其他反编译器。结果基于 DIRT、DIRE 与 VarCorpus 三个基准数据集中的反编译器输出。DIRT 使用 GitHub 项目经 GCC -O0 编译后的 Hex-Rays 输出,并以 DWARF 信息生成标签,较早的 DIRE 数据集以类似方式构建;VarCorpus 覆盖以 Hex-Rays 和 Ghidra 在 -O0 至 -O3 下反编译的 Gentoo 软件包。类型恢复只在 DIRT 上评测,且仅覆盖 x86 C/C++ 代码。准确率按完全匹配计算,近义名称也算作错误。约 60% 的 DIRT 测试函数同样出现在训练集中,STRIDE 在这部分依靠记忆达到约 99% 的准确率;训练集中未出现的函数上的结果更具代表性。DIRT 保留了函数名与全局变量名,去除这些标识符后重命名准确率会下降几个百分点。部分基线数据摘自既有论文,并未重新运行。作者在 README 中预计,对包含训练中未出现结构体的自定义闭源二进制文件效果不佳。仓库是研究原型,不含反编译器插件或训练好的数据库。

作者与引文

STRIDE: Simple Type Recognition In Decompiled Executables

Harrison Green; Edward J. Schwartz; Claire Le Goues; Bogdan Vasilescu

BibTeX

5 个来源 · 复核于 

探索大型语言模型(GPT-4)在二进制逆向工程中的效能

2024arXiv预印本

论文评估 GPT-4 在二进制逆向工程中的表现,考察其对人工编写代码和反编译代码的理解与解释,涵盖基础代码解读和恶意软件分析。

研究范围与作者

研究范围与局限

评估范围包括 GPT-4、人工编写代码和反编译代码,以及基础代码解读和较复杂的恶意软件分析。

作者与引文

Exploring the Efficacy of Large Language Models (GPT-4) in Binary Reverse Engineering

Saman Pordanesh; Benjamin Tan

BibTeX

1 个来源 · 复核于 

评估大语言模型对真实恶意软件活动中恶意代码的去混淆能力

2024arXiv预印本

论文使用 Emotet 恶意软件活动中的真实恶意脚本,评估四种大语言模型的去混淆能力及其在逆向工程中的应用。

研究范围与作者

研究范围与局限

评估范围为四种大语言模型和 Emotet 活动中的恶意脚本。

作者与引文

Assessing LLMs in Malicious Code Deobfuscation of Real-world Malware Campaigns

Constantinos Patsakis; Fran Casino; Nikolaos Lykousas

BibTeX

1 个来源 · 复核于 

跨内联的二进制函数相似性检测

2024ICSE 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%。

研究范围与作者

研究范围与局限

三种模式源自作者自行构建的 51 个 GNU 项目编译矩阵;作者指出,非默认优化等其他编译设置,或采用不同内联惯例的项目,可能不适用于已学习的模型。标签依赖 IDA Pro 与 DWARF 调试工具,作者将其列为构造效度威胁;属性控制流图由 IDA Pro 7.3 构建,反汇编错误可能影响结果。精确率与召回率来自各含 40,000 个正例与 40,000 个负例的平衡测试对,并按 F1 调整阈值,而非大规模候选池检索。基线为已发布的 Gemini、SAFE 与 GMN 模型,以及结合 Asm2Vec 的 Bingo 式内联策略。研究未评估混淆二进制或基于大语言模型的相似性模型。

作者与引文

Cross-Inlining Binary Function Similarity Detection

Ang Jia; Ming Fan; Xi Xu; Wuxia Jin; Haijun Wang; Ting Liu

BibTeX

7 个来源 · 复核于 

BinaryAI:基于智能二进制—源代码匹配的二进制软件成分分析

2024ICSE 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%。

研究范围与作者

研究范围与局限

训练函数对来自自动编译并保留 DWARF 调试信息的 ArchLinux 与 AUR 软件包,语料和测试集均只涵盖 C/C++ 项目。软件成分分析测试集是作者由 85 个 GitHub 项目编译出的 150 个剥离符号的二进制,其中 1,045 个被复用库依据构建文件、头文件和许可证元数据人工标注;函数级真实标签仅覆盖其中 15 个二进制(23,529 对)。recall@1 数据合并了模型验证集与这 15 个二进制。两款商业基线依保密协议匿名,所有基线均在作者的 12,013 个库数据集上重建。作者检查的 112 个误报都可追溯到不完整的库依赖数据。模型、训练函数对、源码函数语料和带标注的测试集均未公开;论文链接的在线服务所用模型与语料可能不同于 2024 年评测的系统。匹配结果说明复用了哪些源码,并不是反编译结果,也不能证明二进制未被修改。

作者与引文

BinaryAI: Binary Software Composition Analysis via Intelligent Binary Source Code Matching

Ling Jiang; Junwen An; Huihui Huang; Qiyi Tang; Sen Nie; Shi Wu; Yuqun Zhang

BibTeX

6 个来源 · 复核于 

FoC:利用大语言模型识别去符号二进制文件中的密码函数

2024arXiv预印本

FoC 使用 FoC-BinLLM 概括去符号二进制文件中密码函数的语义,并使用 FoC-Sim 检索相似实现。论文评估了两个模型,以及它们在病毒分析和已披露一天的漏洞检测中的应用。

研究范围与作者

研究范围与局限

评估使用构建的密码函数二进制数据集和自动生成的语义标签。论文报告 FoC-BinLLM 的 ROUGE-L 分数比 ChatGPT 高 14.61%,FoC-Sim 的 Recall@1 比此前最佳方法高 52%。

作者与引文

FoC: Figure out the Cryptographic Functions in Stripped Binaries with LLMs

Xiuwei Shang; Guoqiang Chen; Shaoyin Cheng; Shikai Guo; Yanming Zhang; Weiming Zhang; Nenghai Yu

BibTeX

1 个来源 · 复核于 

SLaDe:面向优化汇编的可移植小语言模型反编译器

2024IEEE/ACM CGO 2024会议论文

SLaDe 使用 200M 参数的编码器—解码器模型、面向代码的分词及 PsycheC 类型补全,将函数级汇编转换为 C。研究覆盖 x86 与 ARM 的 -O0、-O3 设置,并结合生成候选与输入/输出检查。输入是汇编文本而非原始机器字节,反汇编不属于该方法。

研究范围与作者

研究范围与局限

评测覆盖约 4,000 个 ExeBench 函数及含 112 个程序的合成基准。束宽为 5,并选择首个通过有限输入/输出测试的候选;生成函数被放回原始调用上下文。通过这些测试不代表完整程序或全部输入上的等价性。编辑相似度只是可读性的代理指标。较长函数、外部调用及错误的类型/运算符预测仍会导致失败;模型的输入和输出窗口均为 1,024 个位置。历史基线比较的覆盖范围不同,不能据此确立当前排名。

作者与引文

SLaDe: A Portable Small Language Model Decompiler for Optimized Assembly

Jordi Armengol-Estapé; Jackson Woodruff; Chris Cummins; Michael F. P. O'Boyle

BibTeX

9 个来源 · 复核于 

CEBin:面向大规模二进制代码相似性检测的低成本框架

2024arXiv预印本

CEBin结合代码嵌入筛选候选函数,再通过成对比较检测相似的二进制代码,包括含漏洞的函数。

研究范围与作者

研究范围与局限

论文在三个二进制代码相似性数据集和一个大规模 1-day 漏洞检测基准上评估了 CEBin。针对漏洞检测任务,论文报告其可在数秒内从数百万个候选函数中找到相似函数,召回率为 85.46%。

作者与引文

CEBin: A Cost-Effective Framework for Large-Scale Binary Code Similarity Detection

Hao Wang; Zeyu Gao; Chao Zhang; Mingyang Sun; Yuchen Zhou; Han Qiu; Xi Xiao

BibTeX

1 个来源 · 复核于 

“len、index 或 count,就是别叫 v1”:基于迁移学习预测反编译输出中的变量名

2024IEEE 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%。

研究范围与作者

研究范围与局限

预测名称是模型学到的建议,以开发者原名称评分,并非恢复出的原始符号。在 O2 的按二进制划分上,Top-1 准确率降至 42.40%(IDA)与 40.49%(Ghidra);在 IDA-O0 的按二进制划分上,其领先 DIRTY 的幅度为 4.52 个百分点。与 DIRE、DIRTY 的比较仅覆盖 O0 下的 IDA,并因 DIRE 训练耗时过长而只使用约 40 万个函数(约占 VarCorpus 的 15%)。方法只能为反编译器恢复出的变量命名,标注则依赖 IDA 与 Ghidra 在匹配调试符号时保留变量。语料来自 Linux 发行版软件包,以 x86-64 为主,另有规模较小的 AArch64 O2 实验,可能不代表 Windows 或 macOS 可执行文件;去重仅删除完全重复项。用户研究由 27 名完成全部 13 组函数的学生参与。类型、数据结构与可重新编译的代码不在其范围内。

作者与引文

“Len or index or count, anything but v1”: Predicting Variable Names in Decompilation Output with Transfer Learning

Kuntal Kumar Pal; Ati Priya Bajaj; Pratyay Banerjee; Audrey Dutcher; Mutsumi Nakamura; Zion Leonahenahe Basque; Himanshu Gupta; Saurabh Arjun Sawant; Ujjwala Anantheswaran; Yan Shoshitaishvili; Adam Doupé; Chitta Baral; Ruoyu Wang

BibTeX

6 个来源 · 复核于 

DeGPT:使用大语言模型优化反编译器输出

2024NDSS 2024会议论文

通过三个协同角色选择、提出并检查修改,改进已有的类 C 反编译输出。其流程简化代码结构、添加注释并重命名变量,在接受结构修改前,使用微代码片段语义计算比较模拟的符号值与调用。作者以四个代码库中的 620 个函数评估可读性与命名效果,并分别测试保留与剥离符号的版本。

研究范围与作者

研究范围与局限

报告的 24.4% 降幅来自保留符号版本输出的 Halstead 工作量代理指标,并非直接测得的人力节省。62.9% 的注释结果是人工判定正确的注释中,具有非平凡信息者的平均占比。MSSC 是过程内启发式检查:调用被抽象处理,循环转化为分支;解析、别名与路径增长仍有限制。其 80 个案例的人工审查报告准确率为 84%、召回率为 85%,其中漏过三处有害修改。这支持辅助理解伪代码,不能保证二进制等价、整程序可重新编译或恢复原始源码。

作者与引文

DeGPT: Optimizing Decompiler Output with LLM

Peiwei Hu; Ruigang Liang; Kai Chen

BibTeX

10 个来源 · 复核于 

Assemblage:面向机器学习的二进制数据集自动构建

2024NeurIPS 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 的函数边界识别。

研究范围与作者

研究范围与局限

这些二进制均由 GitHub 与 vcpkg 上的开源项目构建,其中许多是小型学生项目或实用工具,因此不能代表商业、加壳或混淆软件。Assemblage 不独立检测恶意软件,作者依赖 GitHub 禁止恶意软件的政策,并计划在后续版本中加入扫描。论文报告的构建成功率在 Windows 上约为 30%,在 Linux 上为 7%。公开数据集仅包含采用宽松许可证的仓库,因此可下载的副本只是论文语料的子集;元数据中的仓库链接会把二进制与作者的 GitHub 主页关联起来。案例研究在原有协议下以最小改动重新训练现有模型,展示的是 Windows 与 Linux 之间的泛化差距(例如 jTrans 在 Windows 上的 MRR 为 0.52,在 Linux 上为 0.83),而非新的分析方法。

作者与引文

Assemblage: Automatic Binary Dataset Construction for Machine Learning

Chang Liu; Rebecca Saul; Yihao Sun; Edward Raff; Maya Fuchs; Townsend Southard Pantano; James Holt; Kristopher Micinski

BibTeX

9 个来源 · 复核于 

二进制代码摘要:ChatGPT/GPT-4 及其他大语言模型的基准评测

2023arXiv预印本

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。

研究范围与作者

研究范围与局限

参考摘要是从源码中提取的开发者注释,作者指出这些注释可能与代码不一致。基于 all-mpnet-base-v2 的嵌入相似度和 n-gram 指标衡量的是与这些注释的接近程度,而非摘要是否正确或对分析人员有用;论文未报告人工评估。所有二进制均为使用同一 GCC 版本构建的开源 GNU 程序,作者指出固件、恶意软件和混淆代码不在覆盖范围内。提示词基于随机抽取的 1,000 个函数选出。结果对应 2023 年 6 月的 gpt-4-0613 与 gpt-3.5-turbo-16k-0613 快照,以及 7B 和 13B 规模的 Llama 2 与 Code Llama 模型,不能据此对当前模型排名。

作者与引文

Binary Code Summarization: Benchmarking ChatGPT/GPT-4 and Other Large Language Models

Xin Jin; Jonathan Larson; Weiwei Yang; Zhiqiang Lin

BibTeX

4 个来源 · 复核于 

利用大语言模型改进反编译的 C 代码

2023arXiv预印本

论文提出一种两步混合方法,利用大语言模型改进 IDA-Pro 反编译生成的 C 代码,使其能够重新编译。在一组常见的 C 测试用例上,该方法以适度工作量实现了超过 75% 的重新编译成功率。

研究范围与作者

研究范围与局限

先导研究考察了重新编译 IDA-Pro 输出时遇到的障碍;评估使用了一组常见的 C 测试用例。

作者与引文

Refining Decompiled C Code with Large Language Models

Wai Kin Wong; Huaijin Wang; Zongjie Li; Zhibo Liu; Shuai Wang; Qiyi Tang; Sen Nie; Shi Wu

BibTeX

1 个来源 · 复核于 

kTrans:用于二进制代码嵌入的知识感知 Transformer

2023arXiv预印本

kTrans 使用融合汇编语言知识的 Transformer 生成二进制代码嵌入。论文通过离群点检测和可视化考察嵌入,并评估其在二进制代码相似性检测、函数类型恢复和间接调用识别中的表现。

研究范围与作者

研究范围与局限

涵盖二进制代码及三项下游任务:二进制代码相似性检测、函数类型恢复和间接调用识别,报告的提升分别为 5.2%、6.8% 和 12.6%。

作者与引文

kTrans: Knowledge-Aware Transformer for Binary Code Embedding

Wenyu Zhu; Hao Wang; Yuchen Zhou; Jiaming Wang; Zihan Sha; Zeyu Gao; Chao Zhang

BibTeX

1 个来源 · 复核于 

反编译 x86 深度神经网络可执行文件

2023USENIX Security 2023会议论文

BTD(Bin to DNN)将深度学习编译器生成、已剥离符号的 64 位 x86 可执行文件反编译为模型规格:算子类型、网络拓扑、维度与参数。学习得到的分类器把反汇编函数标注为 DNN 算子,Intel Pin 动态分析将算子串联起来,再在经污点分析裁剪的执行轨迹上进行符号执行,借助针对各算子的模式恢复维度与参数布局。作者在 PyTorch 中重建恢复出的模型并重新编译,以便与原可执行文件比较行为。

研究范围与作者

研究范围与局限

评测仅覆盖由 TVM v0.7、v0.8、v0.9.dev(-O0 与 -O3)、2020–2022 年的三个 Glow 快照以及 NNFusion v0.2/v0.3 生成的 64 位 x86 可执行文件;GPU、加速器及其他架构的可执行文件只作讨论,未被反编译。方法假定反汇编与函数恢复完全正确(论文使用 IDA Pro 7.5),且编译来源已知;维度与参数模式需针对各算子人工设计:需要此类模式的 36 个 ONNX 算子中覆盖了 22 个,不含 QLinearConv 等量化算子。作者报告在来自七个计算机视觉模型和 FastText 的 65 个可执行文件中,有 59 个得到正确规格;一个 TVM -O3 ResNet18 卷积算子的参数布局需借助真实标签人工修正,NNFusion 也只能编译其自带的 VGG11。重新编译后的行为仅在 100 张 ImageNet 图片或 50 条人工构造的 FastText 输入上比较,并未证明对全部输入一致。未评测经过混淆的可执行文件。

作者与引文

Decompiling x86 Deep Neural Network Executables

Zhibo Liu; Yuanyuan Yuan; Shuai Wang; Xiaofei Xie; Lei Ma

BibTeX

8 个来源 · 复核于 

XFL:基于极端多标签学习的二进制函数命名

2023IEEE 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。

研究范围与作者

研究范围与局限

预测结果是固定词表中的词元标签,经排序后可选地组合成名称;它们并非恢复的源码名称,评分也按词元而非完整名称匹配。评测使用来自 Debian 软件包、以多种编译器与优化设置构建的 x86-64 ELF C 二进制,以及规模较小的 Nero 数据集;训练所得模型仅适用于 x86-64 GNU/Linux 二进制。测试时所有工具均从符号表获取函数边界,因此不计入边界检测错误。许多测试函数名也出现在训练集中;仅考察训练中从未出现的名称时,F1 降至 0.242。混淆和对抗性二进制不在研究范围内。Nero 数据集上 Debin 与 Dire 的数据取自 Nero 论文,并未重新运行。

作者与引文

XFL: Naming Functions in Binaries with Extreme Multi-label Learning

James Patrick-Evans; Moritz Dannehl; Johannes Kinder

BibTeX

10 个来源 · 复核于 

基于可解释特征工程重新审视二进制代码相似性分析及经验教训

2023IEEE 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 分析错误、编译器后端差异和架构特定代码。

研究范围与作者

研究范围与局限

研究对象是函数级的前语义(语法与结构)特征,样本为从源码编译、带调试信息以构建真实标签的 Linux GNU 软件包;语义特征、基于 NLP 的模型以及整个二进制或其他相似性任务不在评测范围内。AUC 超过 0.99 的结果所用参数与返回类型通过 Ctags 和调试信息从源码获得,并非从剥离符号的二进制中恢复。与现有最优方法的比较是将 TikNib 在 VulSeeker 的 ASE 数据集上的 AUC 与 VulSeeker 作者报告的数值对照,而非重新运行,并且省略了原论文使用的固件映像。混淆仅涵盖 Obfuscator-LLVM 的指令替换、虚假控制流和控制流平坦化,且只应用一次。实验使用 IDA Pro 6.95,作者也无法排除 MIPS 特征提取有误的可能。结果不能用于对后续学习模型或大语言模型方法排名。

作者与引文

Revisiting Binary Code Similarity Analysis Using Interpretable Feature Engineering and Lessons Learned

Dongkwan Kim; Eunsoo Kim; Sang Kil Cha; Sooel Son; Yongdae Kim

BibTeX

8 个来源 · 复核于 

Asteria-Pro:融合领域知识提升基于深度学习的二进制代码相似性检测

2023arXiv预印本

Asteria-Pro 在基于 Tree-LSTM 的二进制代码相似性检测中加入领域知识预筛选和重排序,并评估其在不同物联网硬件架构的固件漏洞搜索中的表现。

研究范围与作者

研究范围与局限

评估涵盖固件漏洞搜索:预筛选将计算时间缩短 96.9%;重排序使 MRR 提升 23.71%、Recall 提升 36.4%。大规模搜索以 91.65% 的精确率发现了 1,482 个存在漏洞的函数。

作者与引文

Asteria-Pro: Enhancing Deep-Learning Based Binary Code Similarity Detection by Incorporating Domain Knowledge

Shouguo Yang; Chaopeng Dong; Yang Xiao; Yiran Cheng; Zhiqiang Shi; Zhi Li; Limin Sun

BibTeX

1 个来源 · 复核于 

SymLM:基于上下文敏感、执行感知代码嵌入的去符号二进制函数名预测

2022ACM 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,并给出固件案例研究。

研究范围与作者

研究范围与局限

函数名被预测为来自固定训练词表的无序单词集合,并按单词级精确率、召回率和 F1 评分,CodeWordNet 会将语义相近的单词计为匹配。这并非精确恢复源码名称,且无法生成词表外的单词。二进制由 GCC 7.5 为 Linux 构建,并在同样的 27 个项目内按二进制划分数据集。在来自 12 个未见项目的 540 个二进制上,整体表现仍然较低,作者将部分原因归于词表不匹配;后来一项 NDSS 2025 研究在去重数据上比较时,报告 SymLM 的平均 F1 为 0.105。与 NFRE 的比较仅针对 x64,与 NERO 的比较使用 NERO 的数据集。混淆实验覆盖四种 Hikari 混淆,不包括加壳或加密。固件案例中,八个 32 位 ARM 固件映像的 1,061 个函数里有 172 个得到部分正确的名称。

作者与引文

SymLM: Predicting Function Names in Stripped Binaries via Context-Sensitive Execution-Aware Code Embeddings

Xin Jin; Kexin Pei; Jun Yeon Won; Zhiqiang Lin

BibTeX

9 个来源 · 复核于 

机器学习如何解决二进制函数相似性问题

2022USENIX Security 2022会议论文

在统一的、基于 IDA Pro 的框架中重新实现来自安全、程序语言与机器学习三个研究社区的十种代表性方法,对二进制函数相似性研究开展测量,方法涵盖模糊哈希(Catalog1、FunctionSimSearch)以及图神经网络、NLP 编码器与 Transformer 模型。两个新数据集支撑六项改变优化级别、编译器、位宽与架构的任务,以 AUC 和排序指标评分,另含一项固件漏洞搜索案例。作者报告称,模糊哈希在较难的跨架构场景中失效,基于图神经网络的模型几乎在所有任务中表现最佳,许多近期模型在相同数据上的得分相近。

研究范围与作者

研究范围与局限

这是 2022 年对作者自行重新实现版本的比较,并非对原论文代码或所报告数值的比较,作者也未尝试复现这些数值;CodeCMR 由其原作者运行,Trex 仅在 Dataset-2 上使用其作者提供的模型测试。研究按设计排除了动态分析、符号执行及其他较慢的直接比较方法,也不涵盖基于大语言模型的相似性模型。Dataset-1 使用 GCC 与 Clang,在关闭函数内联的条件下,将七个开源项目(ClamAV、Curl、Nmap、OpenSSL、Unrar、Z3、Zlib)编译为 x86-64、ARM 与 MIPS 的 32 位及 64 位版本,优化级别为 O0–O3 与 Os,并剔除少于五个基本块的函数。Dataset-2 复用 Trex 作者发布的十个 GCC 7.5 项目。特征提取依赖 IDA Pro 7.3;由于缺少较新的 Hex-Rays MIPS 反编译器许可证,BinaryAI 仅覆盖部分数据。固件案例在两个映像中搜索十个 OpenSSL 函数。研究未评估混淆代码,结果也不代表当前排名。

作者与引文

How Machine Learning Is Solving the Binary Function Similarity Problem

Andrea Marcelli; Mariano Graziano; Xabier Ugarte-Pedrero; Yanick Fratantonio; Mohamad Mansouri; Davide Balzarotti

BibTeX

7 个来源 · 复核于 

DeepDi:在指令上学习关系图卷积网络模型以实现快速准确的反汇编

2022USENIX 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 倍)。

研究范围与作者

研究范围与局限

仅覆盖 x86 与 x64 的 ELF 和 PE 二进制。ELF 的真实标签假定代码节中没有数据,并基于线性反汇编与符号表获得;PE 的真实标签来自 PDB 文件,由于 PDB 只提供数据地址而无数据长度,数据长度为估计值。结果是作者 2022 年在自有数据集与硬件上与 Binary Ninja 2.2、IDA Pro 7.2 及 Ghidra 9.1.2 的比较,使用单块 GTX 2080Ti GPU;Datalog Disassembly 仅支持 x64 ELF,因此只覆盖部分评测。混淆测试使用 Linn–Debray 样本和以 Hikari 构建的二进制;作者指出,掌握模型梯度的强攻击者可能构造对抗样本,并将其留作后续工作。恶意软件案例报告训练数据上的十折交叉验证准确率,以及挑战赛在线评测系统返回的对数损失,因为测试标签并未公开。反汇编准确率不等于在所有情况下函数边界正确,也不代表反编译或源码恢复。

作者与引文

DeepDi: Learning a Relational Graph Convolutional Network Model on Instructions for Fast and Accurate Disassembly

Sheng Yu; Yu Qu; Xunchao Hu; Heng Yin

BibTeX

5 个来源 · 复核于 

Decomperson:人类如何反编译以及我们能从中学到什么

2022USENIX Security 2022会议论文

将人工逆向工程重新表述为“完美反编译”:编写源码,使其在原始工具链与编译选项下编译后,能完全复现目标函数的二进制代码。作者开发了 Decomperson——一个对每次提交进行编译、反汇编、测试与差异比对的网页编辑器,并在 2020 年 11 月举办的 24 小时 Jeopardy 式竞赛 Decompetition 中使用;竞赛包含 23 个未剥离符号、以 C、C++、Go、Rust 与 Swift 编写的挑战二进制。150 余名参与者提交了 35,000 多份代码,其中 300 多份达到完美反编译;除一个挑战外,其余均被完美反编译。作者分析记录下的编辑历史,以描述人类的反编译过程。

研究范围与作者

研究范围与局限

参与者是自愿参加 2020 年单次竞赛的选手,多数以单人队伍参赛(队伍人数不限),赛后问卷仅有 12% 的注册者填写。挑战为组织者编写的 23 个小型竞赛二进制,未剥离符号但不含调试信息,且 Decomperson 假定已知原始工具链与编译选项。完美反编译要求与编译器输出一致;作者指出,这并非传统的逆向工程任务,无法反映筛查大型二进制等技能,还可能包含与编译器特性“较劲”所花的时间。网页编辑器使选手离开了惯用工具,可能影响计时。选手可以粘贴自动反编译器的输出;约 20% 的 C 函数尝试与工具输出相似,主要来自 Hex-Rays、Ghidra 或 Binary Ninja。该研究观察的是人类,并未评估自动反编译器或智能体。

作者与引文

Decomperson: How Humans Decompile and What We Can Learn From It

Kevin Burk; Fabio Pagani; Christopher Kruegel; Giovanni Vigna

BibTeX

5 个来源 · 复核于 

利用学习得到的变量名称与类型增强反编译输出

2022USENIX Security 2022会议论文

提出 Transformer 模型 DIRTY,根据反编译代码和布局信息推荐变量名与类型,并提供用于训练和评估的 DIRT 语料。

研究范围与作者

研究范围与局限

原始流程围绕 C 程序和 Hex-Rays 输出构建。预测名称与类型是模型推断,不保证与原始符号一致。正式论文发表于 2022 年,arXiv 预印本首次提交于 2021 年。

作者与引文

Augmenting Decompiler Output with Learned Variable Names and Types

Qibin Chen; Jeremy Lacomis; Edward J. Schwartz; Claire Le Goues; Graham Neubig; Bogdan Vasilescu

BibTeX

5 个来源 · 复核于 

jTrans:面向二进制代码相似性检测的跳转感知 Transformer

2022ACM ISSTA 2022会议论文

jTrans 使用 BERT 风格的 Transformer 为二进制函数生成嵌入,以支持相似性检索。其跳转感知表示让直接跳转的操作数词元与跳转目标的位置嵌入共享参数,从而无需单独的图神经网络即可将控制流引入指令序列。模型先以掩码语言建模和跳转目标预测进行预训练,再以余弦三元组目标在同一源码不同优化级别编译出的函数上微调。论文还发布了 BinaryCorp,它由 gcc 与 g++ 编译 Arch Linux 官方仓库及 AUR 中的 C/C++ 软件包构建而成。

研究范围与作者

研究范围与局限

模型仅在单一架构上训练(据论文讨论部分为 x86),未评估跨架构检索。方法只编码直接跳转,间接跳转目标不在研究范围内。反汇编与函数提取依赖 IDA Pro 7.5,上游的边界识别错误未被衡量。BinaryCorp 在 O0–O3 与 Os 之间配对 gcc/g++ 构建结果,并按项目划分训练集与测试集;它不涵盖混淆或其他编译器,只有漏洞检索实验额外加入 clang 变体。作者报告在 BinaryCorp-26M、候选池规模为 10,000 时,平均 Recall@1 为 62.5%,最佳基线为 32.0%;随着候选池增大,准确率仍会下降,作者也指出真实场景的候选池更大。漏洞检索实验使用八个 CVE,每个有十个变体。基线来自 2022 年,其中 Asm2Vec 与 OrderMatters 为重新实现,因此该比较不能确立当前排名。相似性排序只给出候选匹配,并不恢复源码、名称或类型。

作者与引文

jTrans: Jump-Aware Transformer for Binary Code Similarity Detection

Hao Wang; Wenjie Qu; Gilad Katz; Wenyu Zhu; Zeyu Gao; Han Qiu; Jianwei Zhuge; Chao Zhang

BibTeX

9 个来源 · 复核于 

ExeBench:机器学习规模的可执行 C 函数数据集

2022ACM SIGPLAN MAPS 2022会议论文

ExeBench 是数据集,而非反编译器。它从 GitHub 与 AnghaBench 中提取 C 函数,通过查找真实的头文件与定义或注入合成定义使其可编译,再依据函数签名生成输入/输出样例,并以 C++ 包装器运行每个函数。精确去重后,作者报告共有 4,485,817 个可编译函数和 687,843 个可执行函数,其中 124,612 个带有常量或恒等实现无法通过的丰富 IO;论文还说明每行数据附有 O0、Os 与 Ofast 下的 x86 和 ARM 汇编。SLaDe、LLM4Decompile 等反编译研究随后用它检验反编译函数能否正确重新执行。

研究范围与作者

研究范围与局限

IO 依据函数签名生成,不考虑程序上下文:每个函数 10 对(合成定义使用三个随机种子,共 30 对),数组默认长度为 32;含指针与整数互转的函数生成成功率低于 5%,含 goto、标签及复杂控制流的函数成功率也较低,因此可执行函数整体比可编译函数更简单。合成 IO 基于注入的替代定义,而非函数的真实依赖生成;带有真实定义且具备丰富 IO 的函数仅有 4,464 个。有限的 IO 对只检验采样输入上的行为,并不证明语义等价;去重也只删除分词后完全相同的函数。运行带真实依赖的函数意味着执行不受信任的代码,作者使用了权限受限的容器。论文所用的 v1.00 原始数据仅可申请获取,公开的 v1.01 版本调整了数据划分(例如真实测试函数为 2,134 个,而非 2,232 个)。每个函数保留其来源仓库的许可证,ExeBench 新增内容采用 MIT 许可。

作者与引文

ExeBench: an ML-scale dataset of executable C functions

Jordi Armengol-Estapé; Jackson Woodruff; Alexander Brauckmann; José Wesley de Souza Magalhães; Michael F. P. O'Boyle

BibTeX

8 个来源 · 复核于 

Elipmoc:以太坊智能合约的高级反编译

2022Proceedings 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 倍以上。

研究范围与作者

研究范围与局限

仅面向 EVM 字节码。评测指标包括操作数解析、结构化控制流、函数与跳转目标精度、外部调用与事件覆盖率、超时及速度,对比对象为 2022 年的 Gigahorse 产物与 Panoramix;这些指标不衡量与原始 Solidity 源码的等价性或源码恢复,输出也是三地址中间表示而非可重新编译的代码。实验使用 2021 年五个月部署窗口内的一个 5,000 合约样本、每个合约 120 秒的时限以及 Souffle 2.0.2。未与 JEB、Trustlook SECaaS 和 EtherSolve 比较,EtherVM、Porosity 与 Vandal 则因较弱或已停止维护而被排除。基于 Elipmoc 的漏洞发现被描述为端到端影响,并非系统性评测。

作者与引文

Elipmoc: Advanced Decompilation of Ethereum Smart Contracts

Neville Grech; Sifis Lagouvardos; Ilias Tsatiris; Yannis Smaragdakis

BibTeX

5 个来源 · 复核于 

随堂测验!大语言模型能帮助逆向工程吗?

2022arXiv预印本

检验 OpenAI 的 Codex 模型 code-davinci-001 能否在零样本问答式提示中回答有关 C 代码的逆向工程问题。程序来自作者编写的模板,涵盖网络安全代码片段以及 PID 控制器、滤波器等工业控制算法,另有五个来自 vx-underground 的单文件 Linux 恶意软件样本。每个程序以原始或名称随机化的源码,或以 gcc -O1 构建(带调试信息、不带调试信息或剥离符号)经 Ghidra 反编译的形式呈现。在探索性的开放式提问之后,作者针对程序用途、能力与关键变量自动生成判断题和简答题,并依据答案标准评分;Codex 在 136,260 个问题中答对 72,754 个。

研究范围与作者

研究范围与局限

全部结果均来自单一模型 code-davinci-001,OpenAI 已于 2023-03-23 停用该模型,因此无法针对原模型重跑实验,结果也不代表当前的大语言模型。准确率依据自动生成的判断题与简答题测验衡量,判断题以正反两种表述成对提出以揭示回答偏向,并非真实分析任务;总体 53.4% 的正确率使作者得出大语言模型尚不能胜任零样本逆向工程的结论。程序均为可放入模型约 4,000 词元窗口的小型单文件 C 代码,且只以 -O1 编译;真实恶意软件类别仅有五个样本。答案标准结合了作者标注与 capa 工具的能力匹配结果。

作者与引文

Pop Quiz! Can a Large Language Model Help With Reverse Engineering?

Hammond Pearce; Benjamin Tan; Prashanth Krishnamurthy; Farshad Khorrami; Ramesh Karri; Brendan Dolan-Gavitt

BibTeX

5 个来源 · 复核于 

超越 C:基于神经机器翻译的可重定向反编译

2022Workshop 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。

研究范围与作者

研究范围与局限

评测在函数层面覆盖四种语言,仅以与原始源码的归一化编辑距离评分;未报告编译、测试或语义等价检查,也未评估完整程序的反编译。作者指出该方法无法保证语义正确,尚不能用于真实代码:即便最佳分数也意味着大约一半的函数词元需要修改。输入是保留标签与 CFI 指令的编译器生成 x86-64 汇编,因此对去符号二进制的反汇编、其他架构以及不输出此类指令的编译器均不在评测范围内。序列长度限制排除了较长函数,小型语料主要来自编程竞赛题和小型工具代码。与 Katz 等人的比较引用的是该工作在更短代码片段上报告的分数,而非在相同数据上重新运行。

作者与引文

Beyond the C: Retargetable Decompilation using Neural Machine Translation

Iman Hosseini; Brendan Dolan-Gavitt

BibTeX

6 个来源 · 复核于 

Asteria:基于深度学习的抽象语法树编码,用于跨平台二进制代码相似性检测

20212021 51st Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)会议论文

ASTERIA 使用 Tree-LSTM 编码函数的抽象语法树,以比较不同平台上的二进制函数。论文评估了函数对的相似性检测,并将其用于物联网固件漏洞搜索。

研究范围与作者

研究范围与局限

模型使用 1,022,616 对函数训练,并在 95,078 对函数上评估。跨平台范围涉及不同的物联网架构;固件搜索在 5,979 个镜像中识别出 75 个存在漏洞的函数。

作者与引文

Asteria: Deep Learning-based AST-Encoding for Cross-platform Binary Code Similarity Detection

Shouguo Yang; Long Cheng; Yicheng Zeng; Zhe Lang; Hongsong Zhu; Zhiqiang Shi

BibTeX

2 个来源 · 复核于 

Trex:从微轨迹中学习执行语义以识别相似二进制函数

2020arXiv预印本

Trex 从函数微轨迹中学习执行语义,再利用所学知识匹配语义相似的二进制函数。

研究范围与作者

研究范围与局限

评估涵盖 13 个软件项目的 1,472,066 个二进制函数,涉及不同架构、编译器优化和混淆方式。

作者与引文

Trex: Learning Execution Semantics from Micro-Traces for Binary Similarity

Kexin Pei; Zhou Xuan; Junfeng Yang; Suman Jana; Baishakhi Ray

BibTeX

1 个来源 · 复核于 

基于增强控制流图的剥离符号二进制神经逆向工程

2020Proceedings 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 语言 GNU 软件包、构建为 x86-64 Linux 可执行文件的 67,246 个过程;在剔除 C++ 可执行文件、测试程序、静态链接软件包及同一软件包的重复版本后,按软件包划分为 60,403/2,034/4,809 个样本。标签取自剥离前的名称,F1 按名称子词计算,因此输出是模型学到的建议,而非恢复出的原始符号。模拟 API 名称混淆(将 .dynstr 节清零)会使 Nero-GNN 的 F1 降至 38.83;论文未处理加壳和更强的混淆。每个过程至少需要一个可静态检测的调用点,内联过程无法命名。数据生成依赖已授权的 IDA Pro(测试版本 6.95)识别过程边界并导出,另需 angr 与 LLVM 10;模型代码使用 TensorFlow 1.13.1。本条不对与当前工具版本的兼容性作任何判断。

作者与引文

Neural reverse engineering of stripped binaries using augmented control flow graphs

Yaniv David; Uri Alon; Eran Yahav

BibTeX

10 个来源 · 复核于 

我们走了多远:C 反编译器反编译正确性测试

2020ACM ISSTA 2020会议论文

测试 C 反编译器能否保持程序行为。作者的 DecFuzzer 编译由 Csmith 生成的程序,反编译所得可执行文件,在源码中用反编译出的函数替换原函数后重新编译,并比较两个程序的输出;随后通过模输入等价(EMI)变异,从种子程序派生更多测试程序。作者在四种常用反编译器上报告了 1,423 个触发反编译错误的输入,并经人工分析在两个开源反编译器中确认 13 个缺陷。他们认为现代反编译器在功能正确性上取得了切实进展,但类型恢复与优化仍妨碍其输出准确的代码。

研究范围与作者

研究范围与局限

测试使用规模较小的生成程序,而非真实二进制;重新编译失败与行为不一致分开记录。在作者的产物中,测试程序以 GCC 在 -O0 下编译为 32 位 x86 代码,Csmith 被限制为生成单个函数,且不含数组、结构体、联合体、指针或 long long 类型,因此优化代码和更丰富的数据类型不在该配置范围内。四种反编译器(IDA Pro、JEB3、RetDec 及 Radare2 的 r2ghidra 插件)均按 2020 年时的版本测试;错误数量与缺陷针对这些版本,而非当前版本。IDA Pro 与 JEB3 属商业软件,未包含在产物中,产物只配置了 RetDec 与 r2ghidra。

作者与引文

How far we have come: testing decompilation correctness of C decompilers

Zhibo Liu; Shuai Wang

BibTeX

6 个来源 · 复核于 

无需控制流恢复的二进制重写

2020PLDI 2020会议论文

E9Patch 对 x86-64 二进制进行静态重写:插入跳转到跳板代码的指令,而不移动其他任何指令,从而保留原有跳转目标集合,无需控制流恢复、符号化或调试信息。当五字节跳转放不下时,它通过指令双关、填充以及后继或邻近指令驱逐,使跳转与已有字节重叠,或把邻近指令移入各自的跳板;物理页分组则降低分散跳板带来的内存与文件体积开销。指令位置由独立的前端提供,评测中使用的是基础线性反汇编器。作者评测了 SPEC2006、Ubuntu 16.04 系统二进制以及超过 100 MB 的 Chrome 与 Firefox,并演示了二进制修复和基于低胖指针的堆写加固。

研究范围与作者

研究范围与局限

这是静态二进制重写与插桩,而非反编译或源码恢复。它依赖前端提供正确的指令位置与长度,假定被修补的代码不会被当作数据读取或自修改,并假定输入本身未使用重叠指令。各项策略都可能失败:约 1,050 万个修补位置中有 1,098 个未能修补;仅用基线方法时,跳转指令覆盖率为 72.79%,堆写指令为 81.63%;非 PIE 二进制比 PIE 更难处理。由于 Chrome 的代码段混有数据,需从 ChromeMain 之后开始反汇编;Firefox 的代码则在 libxul.so 中修补。报告的开销(例如对堆写指令插桩后,在 Dromaeo DOM 基准上 Chrome 约 113%、Firefox 约 46%)是用 PLDI 原型测得的,SPEC2006 以 GCC 非 PIE 模式编译;这些数据不代表当前版本。

作者与引文

Binary Rewriting without Control Flow Recovery

Gregory J. Duck; Xiang Gao; Abhik Roychoudhury

BibTeX

6 个来源 · 复核于 

RetroWrite:为模糊测试与内存检测静态插桩商用现成二进制

2020IEEE S&P 2020会议论文

RetroWrite 通过生成可重汇编的汇编代码,对 64 位位置无关的 Linux 二进制进行静态改写,从而像在编译时一样插入插桩代码。它不依赖启发式规则,而是依据二进制自身的元数据进行符号化:控制流操作数、位置无关代码必须使用的 PC 相对寻址以及数据重定位均被转换为汇编标签,从而区分引用与标量。作者在此基础上实现了 AFL 覆盖率插桩和仅针对二进制的 AddressSanitizer。他们报告其模糊测试吞吐量与编译器插桩相当,比 AFL 的 QEMU 模式快 4.5 倍,并在 LAVA-M 上发现更多缺陷;在 SPEC CPU2006 上,二进制 ASan 比 Valgrind memcheck 快 3 倍,并在作者的评测中多检测出 80% 的缺陷,其检测覆盖率测试采用 Juliet 内存破坏用例。

研究范围与作者

研究范围与局限

该方法依赖位置无关代码;论文的实现面向 Linux x86-64,并借助符号表确定函数起点与大小,因此去除符号的二进制需要由其他工具提供函数边界。由于未对 DWARF 栈展开信息进行符号化,它无法安全改写含异常处理的 C++ 二进制,也不处理混淆或对抗性二进制。二进制 ASan 对栈只按栈帧粒度插桩,也不在全局变量周围添加红区,因此会遗漏部分编译器 ASan 能发现的溢出,且仍慢于编译器 ASan。这些结果基于 2019—2020 年的工具版本和作者的基准。仓库中后来加入的 aarch64 改写器在另一篇学位论文中描述,采用不同的算法,论文中的 x86-64 结果不适用于它。

作者与引文

RetroWrite: Statically Instrumenting COTS Binaries for Fuzzing and Sanitization

Sushant Dinesh; Nathan Burow; Dongyan Xu; Mathias Payer

BibTeX

7 个来源 · 复核于 

BinRec:动态二进制提升与重编译

2020EuroSys 2020会议论文

BinRec 依据动态执行轨迹而非静态反汇编,将可执行文件提升为 LLVM 中间表示,再将其降级为恢复出的二进制,从而可用编译器优化遍对其进行优化、加固或其他变换。追踪阶段在 S²E 中运行二进制,由 S²E 经 QEMU 将执行到的代码翻译为 LLVM 中间表示;BinRec 去除仿真插桩,将多个输入的轨迹合并为一个程序,并加入寄存器去别名、将仿真状态提升为局部变量等优化。恢复出的二进制若进入未被追踪的路径,可配置的处理程序会停止执行、回退到原始代码,或增量提升新路径。作者报告恢复了全部 SPEC CINT2006 基准程序(包括 C++ 程序),并将其用于重新优化、控制流完整性、AddressSanitizer 与 SafeStack 加固,以及对虚拟化混淆代码的部分去混淆。

研究范围与作者

研究范围与局限

原型只支持单线程的 32 位 x86 Linux ELF 二进制,也不支持自修改代码。恢复出的二进制只支持提升时观察到的控制流路径,因此在未被追踪的输入上的行为取决于所选的缺失处理程序及输入覆盖率。经由 S²E 的提升速度较慢,浮点指令在提升后的代码中以仿真方式执行;在 SPEC 基准上,恢复出的二进制运行时间的几何平均值为未优化输入的 0.98 倍、已优化输入的 1.29 倍。BinRec 不建立栈槽与变量之间的映射。去混淆案例使用的是由作者自己的虚拟化器混淆的两个小程序,而非商业混淆器。与 McSema 和 rev.ng 的比较反映的是 2020 年的版本。

作者与引文

BinRec: Dynamic Binary Lifting and Recompilation

Anil Altinay; Joseph Nash; Taddeus Kroes; Prabhu Rajasekaran; Dixin Zhou; Adrian Dabrowski; David Gens; Yeoul Na; Stijn Volckaert; Cristiano Giuffrida; Herbert Bos; Michael Franz

BibTeX

6 个来源 · 复核于 

面向任意二进制文件和目标代码序列的实用化 CPU 架构与字节序自动检测

2020Proceedings of the Tenth ACM Conference on Data and Application Security and Privacy会议论文

论文构建开放数据集和工具,用于识别二进制文件及目标代码的 CPU 架构和字节序,并使用可执行文件的代码段评估分类器,报告准确率超过 98%。

研究范围与作者

研究范围与局限

分类器结果基于可执行二进制文件的代码节。

作者与引文

Towards usable automated detection of CPU architecture and endianness for arbitrary binary files and object code sequences

Sami Kairajärvi; Andrei Costin; Timo Hämäläinen

BibTeX

2 个来源 · 复核于 

Egalito:与布局无关的二进制重编译

2020ASPLOS 2020会议论文

Egalito 对去除符号的 x86-64 与 ARM64 二进制进行静态重编译,借助位置无关的可执行文件和库所携带的元数据,恢复完整的反汇编,使每一处代码与数据交叉引用都成为显式链接。其与布局无关的中间表示 EIR 贴近机器码,因此重新生成的输出可预测,同时提供更高层的视图用于分析;对于没有元数据的跳转表,则借助数据流分析推断。由于不受原始布局约束,工具可以自由移动或改写代码;作者构建了九种工具,包括由 Egalito 变换自身的持续代码随机化、retpoline 防御以及 Intel CET 的软件模拟。作者报告,在来自 172 个 Debian 软件包的 867 个可执行文件与库中,有 866 个的跳转表与编译器给出的真实结果一致;变换后的 149 个软件包中有 90 个通过全部测试;在 SPEC CPU 2006 上性能提升 1.7%。

研究范围与作者

研究范围与局限

Egalito 依赖位置无关代码提供足够的元数据;除非像作者对 Fuchsia 内核的实验那样提供完整重定位信息,非位置无关的输入不在该方法范围内。跳转表恢复依靠数据流分析和相邻性启发式,因此不能保证反汇编完整;Debian 研究中唯一的失败案例是深度嵌套的跳转表。作者列出的不支持情形包括混淆代码、将数据嵌入代码符号的内联汇编、C++ 异常、符号版本控制,以及 Go 或 V8 二进制。部分软件包测试失败即归因于这些特性。论文发表时 RISC-V 支持尚未完成。columbia/egalito 的主分支自 2020 年 6 月以来没有新提交,因此不代表项目仍在维护。

作者与引文

Egalito: Layout-Agnostic Binary Recompilation

David Williams-King; Hidenori Kobayashi; Kent Williams-King; Graham Patterson; Frank Spano; Yu Jian Wu; Junfeng Yang; Vasileios P. Kemerlis

BibTeX

5 个来源 · 复核于 

DIRE:基于神经网络的反编译标识符命名方法

2019ASE 2019会议论文

结合反编译输出中的词法与结构信息预测有意义的变量名,并使用编译 C 项目构建训练和评估语料。

研究范围与作者

研究范围与局限

该工作研究学习式标识符命名,并非完整源码重建或自主智能体。报告结果针对 x86-64 C 代码语料,并依赖反编译器输出。原作者仓库已标记弃用,并指向后续项目。

作者与引文

DIRE: A Neural Approach to Decompiled Identifier Naming

Jeremy Lacomis; Pengcheng Yin; Edward J. Schwartz; Miltiadis Allamanis; Claire Le Goues; Graham Neubig; Bogdan Vasilescu

BibTeX

7 个来源 · 复核于 

Manticore:面向二进制程序和智能合约的易用符号执行框架

2019arXiv预印本

Manticore 使用动态符号执行分析二进制程序和以太坊智能合约。论文介绍其架构,并展示曾用于商业客户项目的漏洞发现和代码正确性验证能力。

研究范围与作者

研究范围与局限

论文涵盖框架架构、可定制的 API,以及针对二进制程序和以太坊智能合约的能力展示。

作者与引文

Manticore: A User-Friendly Symbolic Execution Framework for Binaries and Smart Contracts

Mark Mossberg; Felipe Manzano; Eric Hennenfent; Alex Groce; Gustavo Grieco; Josselin Feist; Trent Brunson; Artem Dinaburg

BibTeX

1 个来源 · 复核于 

InternalBlue:蓝牙二进制补丁与实验框架

2019Proceedings of the 17th Annual International Conference on Mobile Systems, Applications, and Services会议论文

论文逆向分析博通蓝牙控制器,并提出用于修改其固件的 InternalBlue 框架。作者通过漏洞测试、漏洞修复和新增安全功能展示并评估该框架。

研究范围与作者

研究范围与局限

研究涵盖用于智能手机、可穿戴设备和物联网设备的多款博通蓝牙芯片,并在其控制器固件和蓝牙协议栈上开展实验。

作者与引文

InternalBlue - Bluetooth Binary Patching and Experimentation Framework

Dennis Mantz; Jiska Classen; Matthias Schulz; Matthias Hollick

BibTeX

2 个来源 · 复核于 

迈向神经网络反编译

2019arXiv预印本

论文利用编译器训练基于神经机器翻译的反编译器,并评估将 LLVM IR 和 x86 汇编转换为 C 代码的效果;两组基准的成功率分别超过 97% 和 88%。

研究范围与作者

研究范围与局限

评估范围是在论文使用的基准上,将 LLVM IR 和 x86 汇编转换为 C 代码。

作者与引文

Towards Neural Decompilation

Omer Katz; Yuval Olshaker; Yoav Goldberg; Eran Yahav

BibTeX

1 个来源 · 复核于 

ICSREF:工业控制系统二进制文件自动化逆向工程框架

2019Proceedings 2019 Network and Distributed System Security Symposium会议论文

ICSREF 自动逆向分析由 CODESYS 编译的可编程逻辑控制器二进制文件。研究使用收集和自行开发的 PLC 二进制文件进行评估,并将其用于生成针对化工过程测试平台的攻击。

研究范围与作者

研究范围与局限

评估范围包括来自公共代码仓库和自行开发的 CODESYS 编译 PLC 二进制文件,以及由商用智能手机协调、针对化工过程测试平台的攻击。

作者与引文

ICSREF: A Framework for Automated Reverse Engineering of Industrial Control Systems Binaries

Anastasis Keliris; Michail Maniatakos

BibTeX

2 个来源 · 复核于 

Coda:端到端神经程序反编译器

2019NeurIPS 2019会议论文

Coda 分两个阶段将短函数的汇编反编译为 C。首先由区分指令类型的 N 叉 Tree-LSTM 编码器与带注意力输入的 AST 解码器生成代码草图;随后由多个神经错误预测器的集成提出词元修正,只有当候选代码重新编译后与输入汇编的编辑距离不增加时,才保留该修正。在合成基准上,作者报告修正后的平均程序准确率为 82%,而带注意力的序列到序列基线为 12%。

研究范围与作者

研究范围与局限

训练与测试程序均为随机生成,涵盖 Karel 指令、math.h 调用及算术或逻辑表达式,分为短、长两种(平均长度 15 与 30),每项任务 50,000 对,并在不开启优化的条件下编译:主要 MIPS 结果使用 clang -O0,x86-64 附录使用 gcc -O0,且只报告草图词元准确率,平均约低 6%。真实场景检查仅包括小型 PyTorch C++ API 模型构建程序和 Hacker’s Delight 无循环程序。程序准确率要求与真实源码词元完全一致,论文正是在该指标下报告常规反编译器为 0%。错误修正假定已知编译器配置,程序变长时词元准确率下降。这些结果既不能说明优化代码、整程序或二进制等价的反编译能力,论文也未给出作者实现。

作者与引文

Coda: An End-to-End Neural Program Decompiler

Cheng Fu; Huili Chen; Haolan Liu; Xinyun Chen; Yuandong Tian; Farinaz Koushanfar; Jishen Zhao

BibTeX

5 个来源 · 复核于 

用于受自然语言处理启发的二进制代码分析的跨架构指令嵌入模型

2018arXiv预印本

论文学习指令嵌入,以捕捉架构内部及跨架构的指令语义关系,并将其用于基于语义的基本块比较;结果优于基于代码统计的方法。

研究范围与作者

研究范围与局限

在反汇编的二进制代码上,评估跨架构的基本块语义比较。

作者与引文

A Cross-Architecture Instruction Embedding Model for Natural Language Processing-Inspired Binary Code Analysis

Kimberly Redmond; Lannan Luo; Qiang Zeng

BibTeX

1 个来源 · 复核于 

Debin:预测去符号二进制中的调试信息

2018ACM CCS 2018会议论文

Debin 为 x86、x64 与 ARM 上去符号的 ELF 二进制预测调试信息。它先将代码提升为 BAP-IR,用极端随机树分类器判断哪些寄存器和内存偏移对应源码级变量;再借助 Nice2Predict 求解条件随机场,联合预测变量与函数的名称和类型,并将结果以 DWARF 节写回二进制。作者在每种架构 300 个留出二进制上报告,x64 名称与类型预测的精确率为 68.8%、召回率为 68.3%。

研究范围与作者

研究范围与局限

数据集为每种架构 3,000 个未去符号的可执行文件与共享库,来自 830 个 Linux 调试符号软件包,源码为 C 语言并按各包默认设置编译,按 2,700/300 划分训练与测试。准确率评估假定函数边界已知;对于完全去符号的输入,由 BAP 的 ByteWeight 推断函数边界,论文引用其准确率约为 93%。Debin 预测 17 种类型,struct 与 union 的内部内容、行号以及 PE 等其他格式不在评测范围内。只有与原始调试信息完全相同的预测才计为正确。基于编译器生成的良性代码学习的模型,在混淆二进制、手写汇编或恶意软件上可能准确率较低。针对 35 个恶意样本的研究是对反编译输出的人工检查,由于样本缺少调试信息真实标签,未报告准确率。

作者与引文

Debin: Predicting Debug Information in Stripped Binaries

Jingxuan He; Pesho Ivanov; Petar Tsankov; Veselin Raychev; Martin Vechev

BibTeX

8 个来源 · 复核于 

rev.ng:用于恢复控制流图与函数边界的统一二进制分析框架

2017CC 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。

研究范围与作者

研究范围与局限

评测衡量的是函数边界,而非直接衡量控制流图:作者无法从 GCC 或 LLVM 获取控制流图的真实标签,因此以函数边界准确度(相对 ELF 函数符号的 Jaccard 指数)作为控制流图质量的下界。评测覆盖为 Linux 构建、静态链接并去除调试信息的 105 个 coreutils 程序,只涉及 QEMU 所支持架构中的三种;其他架构及动态链接二进制未经评测。原型会遗漏 x86-64 上部分嵌套 switch 的跳转表,以及 MIPS 上被溢出到栈中的跳转表地址;在 ARM 与 MIPS 上比其他工具占用更多内存;也不会报告 IDA Pro 凭借函数序言启发式找到的死代码,作者将此视为设计取舍。基线为 IDA Pro 6.6、BAP 0.9.9 以及 2016 年 11 月时的 angr。论文本身不涉及反编译为 C。

作者与引文

rev.ng: A Unified Binary Analysis Framework to Recover CFGs and Function Boundaries

Alessandro Di Federico; Mathias Payer; Giovanni Agosta

BibTeX

5 个来源 · 复核于 

Ramblr:让二进制重汇编重新可行

2017NDSS 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%。

研究范围与作者

研究范围与局限

原型适用于由 GCC 或 Clang 生成的 x86 与 x86-64 ELF 二进制,这类二进制的代码区不含内联数据;MSVC 等编译器会把跳转表放在代码中,处理其生成的二进制仍需进一步工作。作者强调静态内容分类在一般情况下不可行:Ramblr 是一种经验性方法,例如当二进制被链接到特定基址、使其地址与普通常量冲突时,很可能失败。与 Uroboros 的比较只覆盖 32 位二进制,在 Coreutils 上也只比较 -O0 与 -O1,因为 Uroboros 无法处理 64 位输入,且在高于 -O1 时的失败率已无比较意义。正确性依据相对链接器真实信息的符号化结果以及各程序的测试用例衡量,不能证明完全等价。这些结果基于 2017 年时的 angr 及所评测的工具链。

作者与引文

Ramblr: Making Reassembly Great Again

Ruoyu Wang; Yan Shoshitaishvili; Antonio Bianchi; Aravind Machiry; John Grosen; Paul Grosen; Christopher Kruegel; Giovanni Vigna

BibTeX

4 个来源 · 复核于 

告别 goto:基于模式无关控制流结构化与语义保持变换的反编译

2015NDSS 2015会议论文

DREAM 是一种反编译器,其控制流结构化方法无需匹配预定义的区域模式,即可从恢复出的控制流图中还原循环、条件语句与 switch 语句。对于无环区域,它计算每个节点的可达条件,再将这些条件细化为 if-then-else 与 switch 结构;有环区域被结构化为循环,并推断循环类型及继续条件。语义保持变换先将具有多个入口或多个后继的有环区域改写为单入口、单后继区域;当重复测试的条件中变量可能被修改时,引入布尔变量以保持语义等价。作者在 GNU coreutils 上报告其输出不含 goto 语句,而 Hex-Rays 与 Phoenix 各产生数千个;在一对一比较中,DREAM 有 72.7% 的函数比 Hex-Rays 更紧凑,与 Phoenix 相比该比例为 98.8%。

研究范围与作者

研究范围与局限

正确性在源码级控制流图上评估:作者使用 joern 从经过预处理的 coreutils 8.22 源码中提取控制流图,对 joern 成功解析的 1,530 个函数重新结构化(1,738 个函数中有 208 个解析失败),重新编译后通过 coreutils 测试。该实验检验的是结构化算法,而不是对二进制的端到端反编译,也不涉及变量或类型恢复。结构化程度与紧凑度在 Phoenix 评测所用的 coreutils 8.17 二进制上测量,只统计三种工具都能反编译的函数,并以代码行数衡量紧凑度。Phoenix 当时尚未发布,其输出由其作者提供;2014 年的 Hex-Rays v2.0.0.140605 基线早已过时。恶意软件案例分析分别覆盖 ZeusP2P、SpyEye 与 Cridex 各一个样本,且只与 Hex-Rays 比较。作者也指出,更紧凑的代码是否总是更易理解仍有待研究。论文没有链接实现,这些结果也不代表当前反编译器的表现。

作者与引文

No More Gotos: Decompilation Using Pattern-Independent Control-Flow Structuring and Semantics-Preserving Transformations

Khaled Yakdan; Sebastian Eschweiler; Elmar Gerhards-Padilla; Matthew Smith

BibTeX

3 个来源 · 复核于 

网站重建

31 篇论文

PrismaCoder:通过分解式评分准则生成提升开放多模态代码能力

2026arXiv预印本

以代码与渲染结果的独立评分准则筛选数据并训练视觉代码模型,相关评测包括根据图像重建网页、图表和矢量图。

研究范围与作者

研究范围与局限

同时涵盖视觉重建与文本生成,裁判评分不证明行为等价。训练与评测部分共用裁判模型家族,人工检查使用 100 个样本;指令 n-gram 过滤不能排除所有预训练接触。

作者与引文

PrismaCoder: Pushing the Boundaries of Open Multimodal Code Intelligence through Decomposed Rubric Synthesis

Qiushi Sun; Jingyang Gong; Yang Liu; Qiaosheng Chen; Zhangyue Yin; Zixian Huang; Hanxu Hu; Jing Xiong; Fangzhi Xu; Haochen Tan; Haoli Bai; Lifeng Shang; Xiaoguang Li; Ben Kao; Qipeng Guo; Lingpeng Kong; Jiahui Gao

BibTeX

7 个来源 · 复核于 

从视觉原型与需求生成可部署网站的状态感知方法

2026arXiv预印本

VisStateCoder 以项目状态图连接视觉原型元素、项目文件、交互需求与渲染证据,据此生成网站,并将后续修复限制在选定文件内。

研究范围与作者

研究范围与局限

需要视觉原型及文字形式的交互流程需求。五个模型上的 Vision2Web 评测覆盖最多七页的 HTML/CSS/JavaScript 网站,可选 Node.js 服务端;未测试更大项目或 React/Vue。每种配置仅运行一次,没有方差或显著性估计。内部修复检查不执行交互流程,功能分数来自独立的基准测试。视觉评判器及不完备测试限制了对行为、可维护性和可访问性的结论。

作者与引文

State-Aware Generation of Deployable Websites from Visual Prototypes and Requirements

Ruwei Pan; Junlei Shen; Linhao Wu; Zixiong Yang; Qisheng Zhang; Yifan Li; Tianyu Ma; Yakun Zhang; Lu Zhang; Hongyu Zhang

BibTeX

3 个来源 · 复核于 

TaoD2C-Bench:超越视觉相似度的工业界面代码生成评测

2026arXiv预印本

TaoD2C-Bench 根据设计图、图层元数据与组件库文档重建界面,将需求推断与代码实现分别评测,并结合源码、运行时结构及渲染结果检查组件选择与布局关系。

研究范围与作者

研究范围与局限

八个模型的实测范围为 421 个设计,而非完整的 2,861 个设计。结果包含规定的重试与一次输出修复;任务衡量组件、布局约束及视觉相似度,不验证完整应用行为,设计来源也集中于同一商业生态。

作者与引文

TaoD2C-Bench: Benchmarking MLLMs for Industrial UI Code Generation Beyond Visual Fidelity

Chengwei Shi; Yunnong Chen; Tingting Zhou; Qiang Lu; Shiyu Yue; Xinyuan Hu; Jianfang Ru; Liuqing Chen

BibTeX

4 个来源 · 复核于 

Vision2Web:采用智能体验证的分层视觉网站开发基准

2026ICML 2026会议论文

基于视觉原型和文字需求评测网站开发,包含 100 项静态页面、66 项交互前端与 27 项全栈任务,将基于工作流的功能检查与模型进行的视觉比较结合。

研究范围与作者

研究范围与局限

全栈层级由明确规格驱动,并非仅通过探索运行中的网站进行重建。工作流测试状态管理与增删改查结果,但有限的智能体判断不能证明后端或数据库持久性的精确等价。当前公开评测器在每个工作流内保持浏览器会话,并允许检查本地业务 API;这不构成通用的持久化证明。

作者与引文

Vision2Web: A Hierarchical Benchmark for Visual Website Development with Agent Verification

Zehai He; Wenyi Hong; Zhen Yang; Ziyang Pan; Mingdao Liu; Xiaotao Gu; Jie Tang

BibTeX

11 个来源 · 复核于 

IChart2Code:面向交互图表代码生成的多模态大语言模型评测

2026arXiv预印本

评测根据参照截图、本地数据和指定动作重建交互图表。其 TRAIL 框架结合开发与检查智能体及浏览器交互轨迹,诊断错误并修订 HTML/JavaScript 实现。

研究范围与作者

研究范围与局限

覆盖 377 个单文件 HTML/JavaScript 任务,提供数据及明确交互要求。评测四个模型,最多进行一轮修复。未通过可执行性检查时,各评分维度计零分;其他评分规则由多模态模型判断,人类验证只覆盖两个模型在 100 个任务上的 200 份 Direct 输出。有限交互及评判一致性不证明完整应用等价,也不代表恢复隐藏数据或未指定行为。

作者与引文

IChart2Code: Benchmarking Multimodal Large Language Models for Interactive Chart Code Generation

Xu Zhang; Hongzhang Zheng; Zhili Huang; Yaoyi Wang; Ling Xu; Sheng Huang

BibTeX

3 个来源 · 复核于 

阶段监督的潜空间推理:单次生成的 JavaScript 去混淆

2026arXiv预印本

利用 Webcrack 的中间重写结果监督 Coconut 式潜空间推理,以完成 JavaScript 去混淆。训练阶段提供分步代码转换,推理阶段仅接收混淆代码并一次生成清理后的程序。

研究范围与作者

研究范围与局限

这是单一 3B 基础模型的进行中研究:从基准最小的 300 个输入中抽取 100 个程序,按 60/20/20 划分。20 个测试输出中 10 个可解析、8 个与教师流程输出匹配;所报 80% 以语法有效为条件。语义检查含人工检查,更强基线及阶段消融仍待完成。

作者与引文

Stage-Supervised Latent Reasoning for Single-Shot JavaScript Deobfuscation

Rong Feng; Suman Saha

BibTeX

3 个来源 · 复核于 

ProgramDistill:将交互式 Web 应用转化为可验证的参考驱动软件工程任务

2026arXiv预印本

评测智能体从源码不可见的运行参考中恢复 Web 应用行为的能力,提供覆盖 26 个应用的 4,063 项功能恢复任务,以及独立的 12 应用重建设置,通过重放具有依赖关系的浏览器工作流评分。

研究范围与作者

研究范围与局限

测试限于自包含应用(包括 SaaS 克隆)中由模型挖掘的有限行为。重放工作流可发现持久化失败,但通过测试不能证明全部后端或数据库不变量成立。被评测智能体接收不含截图的结构化浏览器观察,未衡量视觉保真度。公开验证器与参考解答也不构成抗污染测试集。

作者与引文

ProgramDistill: From Interactive Web Apps to Verifiable Reference-Guided SWE Tasks

Jeonghye Kim; Minseon Kim; Young Jin Kim; Matheus Pereira; Marc-Alexandre Côté; Alessandro Sordoni; Xingdi Yuan; Zhengyan Shi

BibTeX

11 个来源 · 复核于 

WebWorld:将浏览器作为自改进网页代码的世界模型

2026arXiv预印本

将网页改进目标编译成类型化浏览器交互契约,检查目标进展并保持已验证能力,只把通过验收的转移用于训练。

研究范围与作者

研究范围与局限

该研究讨论网页代码生成与自改进,并非恢复原始源码;验收覆盖声明的交互和已验证能力,不证明与任意原应用等价。它与另一篇同名 WebWorld 网页模拟器论文不同。

作者与引文

WebWorld: The Browser as a World Model for Self-Improving Web Code

作者:见原文

BibTeX

1 个来源 · 复核于 

能否处处正确渲染?多模态模型生成网页的跨环境兼容性研究

2026arXiv预印本

WebCompat 评测由截图重建的网页在不同浏览器与设备中的表现。XCompat 结合渲染后 DOM 几何信息、视口元数据及截图检测布局与元素问题,并将跨环境一致性与原始设计的相似度区分开。

研究范围与作者

研究范围与局限

从 480 次生成中筛留 254 个静态网页,组成 2,032 个对照样本;保留测试集为 51 页、408 对。失败渲染与依赖交互的布局被排除,启发式误差及设计意图的主观性限制了对动态网站或所有环境的泛化。

作者与引文

Does It Render Everywhere? A Study of Cross-Environment Compatibility in MLLM-Generated Webpages

Ziyun Guo; Jingyu Xiao; Yuqiang Sun; Yintong Huo

BibTeX

4 个来源 · 复核于 

UI2App:评测可执行 Web 应用生成中的视觉交互推断

2026arXiv预印本

UI2App 使用来自 95 个 Web 应用的 600 张截图,评测生成的可运行 React/TypeScript 应用。它通过参考交互分类体系和公开评测流水线,分别衡量构建可执行性、视觉保真度,以及包括跨路由状态在内的截图隐含交互行为。

研究范围与作者

研究范围与局限

静态截图无法唯一确定行为;评分规则接受多种有效实现,并不证明与原应用或后端等价。Auto IIS 在不执行工具的情况下评判生成源码和截图,人工运行验证覆盖 45 个应用的子集。跨路由状态不一定能在重新加载或会话结束后持久保存。主结果每个应用与模型组合生成一次,重复运行仅覆盖子集。

作者与引文

UI2App: Benchmarking Visual Interaction Inference in Executable Web Application Generation

Grace Man Chen; Litao Guo; Yifan Wu; Yiyu Chen; Yenchi Tseng; Sicheng Liu; Yuyu Luo; Ying-Cong Chen

BibTeX

11 个来源 · 复核于 

Dashboard2Code:评估多模态模型重建交互式仪表盘的能力

2026ACL 2026会议论文

评估智能体主动探索运行中的仪表盘后,重建其外观与交互逻辑的能力。DashboardMimic 提供 180 个 Plotly+Dash 示例,并以代码语义分析和动态交互测试评估生成的实现。

研究范围与作者

研究范围与局限

限定于 Plotly+Dash 仪表盘,包含经模型扩充的示例。部分设置提供 DOM 信息,评估使用模型评审器。它并非通用后端恢复基准。链接的数据集需要接受访问条件并共享联系信息。

作者与引文

Dashboard2Code: Evaluating Multimodal Models on Reconstructing Interactive Dashboards

Tianhao Niu; Ziyu Han; Qiguang Chen; Shiqi Zhou; Baocai Shan; Hengjie Fang; Qingfu Zhu; Wanxiang Che

BibTeX

7 个来源 · 复核于 

UniCoder:利用符号奖励与参考代码引导优化的统一视觉到代码生成

2026arXiv预印本

UniCoder 面向图表、SVG 与网页训练视觉到代码模型。强化学习目标结合渲染检查、图像相似度和代码中的视觉属性,并向低奖励训练组加入参考代码轨迹以改善探索。

研究范围与作者

研究范围与局限

实验以一个 8B 基座模型研究静态视觉重建,包含 Design2Code 与 ScreenBench。参考代码用于训练,渲染成功不证明交互行为正确;新领域需要调整属性模式与提示词。交互界面、动画及移动应用行为未被评测。

作者与引文

UniCoder: Unified Visual-to-Code Generation via Symbolic Rewards and Reference-Guided Code Optimization

Yaozhi Zheng; Yilei Jiang; Manyuan Zhang; Yuxuan Wan; Kaituo Feng; Tianshuo Peng; Bo Zhang; Xiangyu Yue

BibTeX

6 个来源 · 复核于 

CASCADE:谷歌基于大语言模型的 JavaScript 反混淆器

2026ICSE-SEIP 2026会议论文

利用 Gemini 定位 Obfuscator.IO 为字符串混淆插入的前置(prelude)函数,再在 JSIR 编译器中间表示上执行常量传播与内联,以确定性方式还原字符串字面量和 API 名称。

研究范围与作者

研究范围与局限

该方法针对 Obfuscator.IO 的字符串混淆;控制流平坦化、其他混淆器及基于智能体的设计留待后续工作。评测以 Obfuscator.IO 的四种预设配置混淆 ETH 150k JavaScript 数据集中的 3,000 个程序,衡量前置函数识别、还原的字面量数量和运行时间,而非功能等价性。生产部署及扫描规模均为作者自述,生产环境的预筛选依赖一条未公开的 YARA 规则。

作者与引文

CASCADE: LLM-powered JavaScript Deobfuscator at Google

Shan Jiang; Pranoy Kovuri; David Tao; Zhixun Tan

BibTeX

7 个来源 · 复核于 

ScreenCoder:以模块化多模态智能体推进面向前端自动化的视觉到代码生成

2026EMNLP 2026会议已接收

将截图到代码的生成分配给定位、规划和生成三个智能体,分别标注界面区域、构建层级布局树并编写 HTML/CSS。该流程还生成了用于监督微调和强化学习的 Screen-10K 训练数据;论文另提出包含 1,000 个网页的 ScreenBench。

研究范围与作者

研究范围与局限

输出为静态 HTML/CSS 布局,不重建交互、JavaScript 行为或后端逻辑。结果是 ScreenBench 与 Design2Code 上的视觉相似度分数(CLIP 及经 OCR 匹配的文本块),不能证明代码层面或功能上的等价。公开流程需调用托管模型 API,默认使用豆包(Doubao)。审阅文本为 arXiv v2,EMNLP 接收版本可能有所不同。

作者与引文

ScreenCoder: Advancing Visual-to-Code Generation for Front-End Automation via Modular Multimodal Agents

Yilei Jiang; Yaozhi Zheng; Yuxuan Wan; Jiaming Han; Qunzhong Wang; Michael R. Lyu; Xiangyu Yue

BibTeX

8 个来源 · 复核于 

IWR-Bench:大型视觉语言模型能否根据用户交互视频重建可交互网页?

2026ICLR 2026会议论文

测试模型利用用户交互视频和提供的静态资源重建可交互网页的能力。其 113 项任务通过重放标注的操作序列,评估已观察页面状态的视觉保真度与功能行为。

研究范围与作者

研究范围与局限

要求输出单个 HTML 文件;论文明确要求用 JavaScript 静态数据模拟隐含的后端逻辑。轨迹覆盖和模型评审均不能证明完整网站或后端等价。

作者与引文

IWR-Bench: Can LVLMs reconstruct interactive webpage from a user interaction video?

Yang Chen; Minghao Liu; Yufan Shen; Yunwen Li; Tianyuan Huang; Xinyu Fang; Tianyu Zheng; Wenxuan Huang; Cheng Yang; Daocheng Fu; Jianbiao Mei; Rong Wu; Licheng Wen; Xuemeng Yang; Song Mao; Qunshu Lin; Zhi Yu; Yongliang Shen; Yu Qiao; Botian Shi

BibTeX

7 个来源 · 复核于 

从混淆到清晰:面向安全分析的综合性 JavaScript 反混淆工具

2026NDSS 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%。

研究范围与作者

研究范围与局限

论文标题性的“100% 正确”指 400 个样本(100 个 BenignJS、300 个 MalJS)经解析器与人工检查后的语法有效性;借助 Joern 控制流图/数据依赖图比较和人工复核判断的行为一致性,在 100 个样本中有 83 个成立。20 种技术的能力测试是把每种技术分别施加在同一段代表性代码上;仅靠静态与动态阶段可处理其中 19 种,标识符重命名需要大语言模型阶段。可读性提升来自四个大语言模型(Claude 3.7 Sonnet、Gemini 2.5 Pro、DeepSeek-R1 与 GPT-o3)对 60 组 MalJS 样本按 0–10 分打分;另对 100 个样本的 GPT-4o-mini 重命名进行检查,发现 12% 的名称属于幻觉,用户研究仅有 9 名参与者。熵比较未包含大语言模型阶段。MalJS 是与一家安全公司合作收集的,BenignJS 则混合了 Tranco 热门网站脚本和作者自行混淆的 2,000 个干净样本。作者说明该工具不处理加密打包、自定义解释器和依赖时间的解密,ES6+ 语法可能被降级,基于 vm 的执行也存在逃逸风险。输出是可读的 JavaScript,而非重建的网站。

作者与引文

From Obfuscated to Obvious: A Comprehensive JavaScript Deobfuscation Tool for Security Analysis

Dongchao Zhou; Lingyun Ying; Huajun Chai; Dongbin Wang

BibTeX

9 个来源 · 复核于 

JsDeObsBench:衡量与评测大语言模型的 JavaScript 反混淆能力

2025ACM CCS 2025会议论文

对附带测试用例的 Project CodeNet 程序施加 JavaScript-Obfuscator 的七种混淆变换,构建可通过执行验证的 JavaScript 反混淆基准,并从语法、执行结果、代码简化程度及与原始代码的相似度评估 LLM 和现有工具的输出。

研究范围与作者

研究范围与局限

平均而言,LLM 输出通过执行检查的比例为 60.93%,两种现有反混淆工具基线为 83%。所有样本均由单一混淆器生成,原始程序是长度适中的编程竞赛解答。4,515 个经混淆的恶意代码样本没有测试用例,只能通过行为轨迹比较。

作者与引文

JsDeObsBench: Measuring and Benchmarking LLMs for JavaScript Deobfuscation

Guoqiang Chen; Xin Jin; Zhiqiang Lin

BibTeX

6 个来源 · 复核于 

Interaction2Code:从交互原型生成网页代码的多模态大语言模型评测基准

2025ASE 2025会议论文

评测模型根据交互前后的截图重建可交互网页的能力。最终研究涵盖 127 个网页、374 项交互,并比较渲染外观、自动交互检查与人工可用性判断。

研究范围与作者

研究范围与局限

输入描述单项交互的状态变化,并非自主探索完整网站。测试不能证明长流程、服务端行为或原始源码等价;交互能够被检测到,也不代表它可用。

作者与引文

Interaction2Code: Benchmarking MLLM-based Interactive Webpage Code Generation from Interactive Prototyping

Jingyu Xiao; Yuxuan Wan; Yintong Huo; Zixin Wang; Xinyi Xu; Wenxuan Wang; Zhiyao Xu; Yuhang Wang; Michael R. Lyu

BibTeX

7 个来源 · 复核于 

LaTCoder:以“布局即思维”将网页设计转换为代码

2025KDD 2025会议论文

LaTCoder 将布局作为显式的中间步骤,把网页设计图转换为 HTML/CSS。基于规则的分割器递归寻找不穿过 OCR 识别文本的纯色水平或垂直线,再将过小区域合并为网格对齐的图块。多模态大语言模型使用思维链提示为每个图块编写代码;随后以绝对定位或由模型组装各图块,并由结合 MAE 与 CLIP、无需参考答案的验证器选出较优结果。论文还提出 CC-HARD,包含从 Common Crawl 人工抽取的 128 个复杂布局网页。

研究范围与作者

研究范围与局限

方法面向根据设计图生成静态 HTML/CSS;JavaScript 行为、交互、导航和后端均不在方法范围内,也不恢复网站原始源码。评测使用 Design2Code-HARD(80 个页面)与 CC-HARD(128 个页面),以 TreeBLEU、CLIP、Visual Score 和 MAE 将生成的代码与截图同参考答案比较。报告的提升是较小绝对分数上的相对变化:在 CC-HARD 上使用 DeepSeek-VL2 时,TreeBLEU 从 0.09 升至 0.15(+66.67%),而在 Design2Code-HARD 上 CLIP 略有下降。分割器假定存在矩形纯色分隔线,并使用固定像素阈值;图块合并面积阈值在 CC-HARD 上调定。短上下文模型只使用绝对定位,图块位置由设计图固定。图块内容仍可能错位,Gemini 在组装时有时会遗漏图块。成对人工偏好评测(LaTCoder 至少获 60% 偏好)仅覆盖 CC-HARD 上的 GPT-4o,由六名标注者多数投票决定。GPT-4o、Gemini 与 DeepSeek-VL2 的结果是历史基线,并非当前排名。

作者与引文

LaTCoder: Converting Webpage Design to Code with Layout-as-Thought

Yi Gui; Zhen Li; Zhongyi Zhang; Guohao Wang; Tianpeng Lv; Gaoyang Jiang; Yi Liu; Dongping Chen; Yao Wan; Hongyu Zhang; Wenbin Jiang; Xuanhua Shi; Hai Jin

BibTeX

14 个来源 · 复核于 

WebUIBench:评估多模态大语言模型从网页界面生成代码能力的综合基准

2025Findings of ACL 2025会议论文

通过视觉感知、HTML 编程、图像与 HTML 对应理解,以及截图重建任务,诊断从网页界面生成代码的能力;利用来自真实网站的问答对,分别考察各项基础技能。

研究范围与作者

研究范围与局限

主要评估视觉与 HTML 重建技能。论文虽含初步交互研究,但并非完整流程或后端等价评测。官方仓库目前提供 README 和图片,未提供说明中提及的评估脚本。

作者与引文

WebUIBench: A Comprehensive Benchmark for Evaluating Multimodal Large Language Models in WebUI-to-Code

Zhiyu Lin; Zhengda Zhou; Zhiyuan Zhao; Tianrui Wan; Yilun Ma; Junyu Gao; Xuelong Li

BibTeX

5 个来源 · 复核于 

WAFFLE:面向自动化前端开发的多模态模型微调

2025ACL 2025会议论文

WAFFLE 微调多模态大语言模型,使其根据界面截图生成 HTML/CSS。解码器中四分之一的注意力头使用结构感知掩码,使每个元素的词元只关注其父元素、前序兄弟元素及自身此前的词元。对比学习目标以四个经变异的 WebSight-v0.1 页面为一组,对齐图像与代码嵌入。以 VLM-WebSight 和 Moondream2 为骨干模型时,作者报告在 WebSight-Test 上比标准微调最多高 9.00 个百分点的 HTML-Match 和 0.0982 的 CW-SSIM,在 Design2Code 的各项指标上也均有提升。

研究范围与作者

研究范围与局限

方法根据单张截图生成静态 HTML/CSS,并不恢复网站原始源码、脚本、交互、导航或后端。HTML-Match 先去除样式和属性,再要求渲染结果逐像素一致;CW-SSIM、CLIP 与 LLEM 则是相似度分数,作者也指出这些指标不能完全反映人工判断。训练数据及含 500 个页面的 WebSight-Test 均为合成的 WebSight 风格页面;Design2Code 提供 484 个真实网页。仅微调了两种骨干模型;在 Design2Code 上,经 WAFFLE 训练的 Moondream2 模型仍低于 GPT-4o 和 GPT-4o mini。Gemini 1.5 Pro 基线只回答了 384 个 Design2Code 实例。人工排序每个数据集使用 50 个样本,由两名标注者完成。商业模型的提示结果是历史基线,并非当前排名。

作者与引文

WAFFLE: Fine-tuning Multi-Modal Model for Automated Front-End Development

Shanchao Liang; Nan Jiang; Shangshu Qian; Lin Tan

BibTeX

12 个来源 · 复核于 

分而治之:从截图生成界面代码

2025Proceedings of the ACM on Software Engineering (FSE 2025)期刊论文

沿视觉分隔线递归切分网页截图,由多模态模型为每个叶子片段生成 HTML/CSS,再将子片段代码逐级向上组装为完整页面;评估涵盖 GPT-4o、Gemini 与 Claude 系列模型以及一项小规模开发者研究。

研究范围与作者

研究范围与局限

该方法以 HTML/CSS 重建静态视觉布局,不重建交互、JavaScript 行为或后端逻辑。测试页面是将图片替换为占位图的自包含快照;主要评测从 348 个热门网站中抽取 111 个,另加 80 个更复杂的 GitHub Pages 页面,可用性研究仅有四名参与者。分割依赖人工设定的阈值,组装阶段仍可能错排元素。

作者与引文

Divide-and-Conquer: Generating UI Code from Screenshots

Yuxuan Wan; Chaozheng Wang; Yi Dong; Wenxuan Wang; Shuqing Li; Yintong Huo; Michael Lyu

BibTeX

5 个来源 · 复核于 

StructEval:评测大语言模型生成结构化输出的能力

2025arXiv预印本

评测结构化输出的生成与转换,包括 HTML、React 和 SVG,并分别检查格式遵循和结构正确性。

研究范围与作者

研究范围与局限

并非软件逆向工程或 GUI 导航基准;结构化输出得分不证明源码身份、后端恢复或行为等价,综合得分也不是完全正确输出的百分比。

作者与引文

StructEval: Benchmarking LLMs' Capabilities to Generate Structural Outputs

作者:见原文

BibTeX

3 个来源 · 复核于 

WebCode2M:面向网页设计稿代码生成的真实世界数据集

2025WWW 2025会议论文

WebCode2M 将约 256 万张真实网页截图与净化后的 HTML/CSS 代码及元素边界框布局树配对。数据取样自 Common Crawl 快照,经清洗(移除脚本、元数据与隐藏元素,并将样式合并为单一样式块)后用 Playwright 渲染,再由基于 10,000 条人工标注样本训练的神经评分器筛选。论文以 Pix2Struct-1.3B 微调出基线模型 WebCoder,提出衡量 DOM 结构召回率的 TreeBLEU 指标,并在短、中、长三个各含 256 个网页的测试子集上评测专用、开源及商业多模态模型。

研究范围与作者

研究范围与局限

任务是根据设计图生成静态 HTML/CSS。净化过程会移除脚本,因此不重建交互、客户端行为或后端逻辑;输出以视觉得分、CLIP 相似度和 TreeBLEU 评判,而非功能等价性。论文报告,所有被评测模型都无法准确还原图像元素,且目标代码越长得分越低。768 个测试网页取自高分候选并经人工检查;评分器准确率约为 90%,训练集中仍有低质量样本,作者也提醒爬取内容可能仍含不当材料。商业模型仅以模型家族命名,约三分之一的 Gemini 测试样例因 recitation 错误失败,因此相关比较只反映当时情况。数据集卡片声明的 CC BY 4.0 许可不能清除所爬取网页代码、文本或图片的权利。

作者与引文

WebCode2M: A Real-World Dataset for Code Generation from Webpage Designs

Yi Gui; Zhen Li; Yao Wan; Yemin Shi; Hongyu Zhang; Bohua Chen; Yi Su; Dongping Chen; Siyuan Wu; Xing Zhou; Wenbin Jiang; Hai Jin; Xiangliang Zhang

BibTeX

10 个来源 · 复核于 

Sketch2Code:评估视觉语言模型的交互式网页设计原型生成能力

2025NAACL 2025会议论文

Sketch2Code 评测视觉语言模型把粗略手绘线框草图转换为 HTML 网页原型的能力。众包标注者为来自 Design2Code 测试集的 484 个真实网页绘制了 731 张草图。十个模型(八个商业模型与两个 8B 开源模型)既直接生成页面,也在两种与 GPT-4o 模拟用户进行的多轮场景中工作:遵循其反馈,或向其提出澄清问题。输出依据 Design2Code 视觉相似度,以及基于文本块、图像、导航栏、表单与按钮等组件类型的新 IoU 布局相似度评分。Claude 3.5 Sonnet 与 GPT-4o 在单轮布局相似度上领先,而反馈轮次对商业模型的帮助大于提问方式。

研究范围与作者

研究范围与局限

生成的页面是原型,依据与参考截图的视觉和布局相似度评分,并非恢复的源代码;论文不评估行为、交互性或代码等价性,页面中的图片也被替换为占位图。草图有意省略了大部分文本与样式,因此相似度绝对值较低,单轮布局相似度最高约为 22%。模拟用户由 GPT-4o 担任,人工标注认为其 83.3% 的反馈可靠、86.7% 的回答准确。开源模型只运行了 8B 规模,每个多轮示例需要 40,000 至 160,000 个输入词元。用户研究访谈了八位 UI/UX 专家。结果对应 2024 年的模型版本。

作者与引文

Sketch2Code: Evaluating Vision-Language Models for Interactive Web Design Prototyping

Ryan Li; Yanzhe Zhang; Diyi Yang

BibTeX

10 个来源 · 复核于 

Design2Code:面向自动化前端工程的多模态代码生成评测

2025NAACL 2025会议论文

使用真实网页参考、视觉元素和布局指标及人工评估,测试从网页截图重建前端代码的能力。

研究范围与作者

研究范围与局限

该工作属于网站视觉重建,不涉及二进制反编译,也不恢复后端行为或交互工作流。主基准含 484 个使用占位图的网页,代码与数据分别采用各自的许可条款。

作者与引文

Design2Code: Benchmarking Multimodal Code Generation for Automated Front-End Engineering

Chenglei Si; Yanzhe Zhang; Ryan Li; Zhengyuan Yang; Ruibo Liu; Diyi Yang

BibTeX

7 个来源 · 复核于 

面向代码分析的大语言模型:LLM 真的胜任吗?

2024USENIX 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 代码。

研究范围与作者

研究范围与局限

真实标签是 GPT-4 自身生成、经四名学生人工核查的解释;其他模型则通过相似度指标与 GPT-4 评判与这些文本比较,作者也指出该评判方法若无人工校准并不可靠。正确性在解释层面判断,并非依据恢复出的行为或可执行等价性。只有 JavaScript 经过工具生成的混淆变换;两个 GPT 模型都未能解读 Wobfuscator 插入的 WebAssembly,较小模型在施加混淆后则无法给出有意义的解释。作者报告 GPT-4 在未混淆代码上的准确率为 97.4%,在混淆 JavaScript 上为 87%;在 IOCCC 去混淆任务中,GPT-3.5 约 20%、GPT-4 19% 的目标得到可编译代码,最终仅分别有 8% 和 4% 产生正确结果。恶意软件分析是针对少量样本的定性案例研究:WannaCry 需人工分块输入,上下文被拆分时会漏掉行为,僵尸网络仓库中还出现误报。模型能认出来自热门仓库的代码,因此记忆效应是混杂因素。被评测的 GPT-3.5/GPT-4 时代模型及 LLaMA-2-13B 级别模型已经过时。研究分析的是源码或已反编译的文本,并不执行二进制反编译。

作者与引文

Large Language Models for Code Analysis: Do LLMs Really Do Their Job?

Chongzhou Fang; Ning Miao; Shaurya Srivastav; Jialin Liu; Ruoyu Zhang; Ruijie Fang; Asmita; Ryan Tsang; Najmeh Nazari; Han Wang; Houman Homayoun

BibTeX

6 个来源 · 复核于 

借助 WebSight 数据集实现网页截图到 HTML 代码的转换

2024arXiv预印本

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,并展示了定性转换示例,其中包括一个由手绘草图转换的例子。

研究范围与作者

研究范围与局限

这些网站均为大语言模型生成的合成单页,并非爬取的真实网站,因此基于其训练并不能证明可以重建真实网站、其源码或其行为。评估仅为定性:论文未报告基准分数;由于验证损失与输出质量不一致,检查点通过人工检查选取;作者也指出模型在复杂布局、长文本以及与训练数据差异较大的设计上会失败,并存在 Tailwind 语法错误。v0.2 页面通过 CDN 链接加载 Tailwind CSS,并从 source.unsplash.com 链接加载图片,因此重新渲染依赖这些外部服务。基础模型当时尚未发布,该报告也未经同行评审。

作者与引文

Unlocking the conversion of Web Screenshots into HTML Code with the WebSight Dataset

Hugo Laurençon; Léo Tronchon; Victor Sanh

BibTeX

3 个来源 · 复核于 

Web2Code:面向多模态大语言模型的大规模网页转代码数据集与评估框架

2024NeurIPS 2024 Datasets and Benchmarks会议论文

通过指令微调和两个评测基准研究从截图重建 HTML。Web2Code 结合生成网页、经改进的 WebSight 与 pix2code 图像/代码对,以及来自 WebSRC 的问答。模型根据网页图像与指令生成 HTML,渲染输出接受视觉比较,另一个基准则测量截图理解能力。

研究范围与作者

研究范围与局限

评估使用 1,198 张截图和 5,990 个是/否问题。WCGB 用 GPT-4V 评价渲染图像;其“用户界面与交互性”类别衡量元素外观,并不执行点击路径、持久状态或后端行为。合成与改进样本不能确立对任意真实 Web 应用的覆盖、与原始源码等价或代码质量。论文报告,在 1,000 项隐私抽样中,2.7% 存在联系信息问题,因此不能笼统宣称数据完全不含此类信息。

作者与引文

Web2Code: A Large-scale Webpage-to-Code Dataset and Evaluation Framework for Multimodal LLMs

Sukmin Yun; Haokun Lin; Rusiru Thushara; Mohammad Qazim Bhat; Yongxin Wang; Zutao Jiang; Mingkai Deng; Jinhong Wang; Tianhua Tao; Junbo Li; Haonan Li; Preslav Nakov; Timothy Baldwin; Zhengzhong Liu; Eric P. Xing; Xiaodan Liang; Zhiqiang Shen

BibTeX

13 个来源 · 复核于 

理解 JavaScript 基于事件的交互

2014ICSE 2014会议论文

Clematis 根据录制的用户会话,帮助开发者理解 JavaScript 网页应用的运行时行为。代理在传输过程中对 JavaScript 进行插桩,记录 DOM 事件、定时器、XMLHttpRequest 各阶段、函数调用及 DOM 变更。轨迹被划分为若干情节,每个情节包含触发事件、执行的函数及由此产生的 DOM 变化,情节之间以时间与因果边连接,并以交互式可视化呈现。在 Phormer 相册应用上开展、有 20 名开发者参加的工业研究中,作者报告其任务准确率比使用各自惯用工具的开发者高 61%,完成时间少 47%。

研究范围与作者

研究范围与局限

这是面向单次录制会话中所触发客户端行为的动态程序理解工具;它不重建服务端逻辑,不生成替代应用,也不确立行为等价性。通过 eval 执行的代码不会被捕获。评估包括两项小规模、针对理解任务的对照实验:16 名 UBC 参与者在实验室自建的问卷应用上与 Firebug 对比,以及 20 名专业开发者在 Phormer 上开展的实验。准确率由作者依据事先编写的答案要点评分。运行开销仅针对一分钟的 Phormer 操作进行测量。2014 年的原型通过 Selenium 与 WebScarab 代理驱动 Firefox;未证明其可在当前浏览器上运行,用于比较的工具也已是历史版本。

作者与引文

Understanding JavaScript Event-Based Interactions

Saba Alimadadi; Sheldon Sequeira; Ali Mesbah; Karthik Pattabiraman

BibTeX

8 个来源 · 复核于 

通过动态分析用户界面状态变化爬取基于 Ajax 的 Web 应用

2012ACM Transactions on the Web期刊论文

Crawljax 在真实浏览器中驱动 Ajax Web 应用,以推断其状态流图。它扫描 DOM 中候选的可点击元素并触发事件,再用可配置的比较方法与相似度阈值将得到的 DOM 与已知状态比对,记录新状态及状态间的事件转换,并通过重新加载与重放路径进行回溯。并发版本将爬取任务划分给多个浏览器实例。该 Java 工具基于 Selenium WebDriver 与插件机制,其中一个插件可为已爬取的状态生成静态镜像。作者评测了六个开源与工业网站,并在 Google AdSense 上测量并发浏览器数量对爬取耗时的影响。

研究范围与作者

研究范围与局限

Crawljax 恢复的是客户端 UI 状态与导航转换,而非应用源码、服务端逻辑或完整的行为模型。推断出的图只是某一时刻的快照实例:点击顺序、服务端因素以及深度、时间与状态数上限等状态爆炸控制都会影响结果。默认设置下每个元素只点击一次,因而遗漏了需要多次点击才出现的元素:在 Pet Store 中找到 36 个标注元素中的 33 个,在四个外部网站抽样的 40 个可点击元素中找到 38 个。由于缺少黄金标准与可比较的 Ajax 爬虫,准确性通过注入元素、人工参考模型及抽查评估。外部网站会随时间变化,并发实验则在 Google 内部基于 AdSense 进行。所审阅的 2023 年仓库是后来基于 Java 11 与 Selenium 4 的代码,并非 2012 年评测所用版本。

作者与引文

Crawling Ajax-Based Web Applications through Dynamic Analysis of User Interface State Changes

Ali Mesbah; Arie van Deursen; Stefan Lenselink

BibTeX

7 个来源 · 复核于 

游戏重建与逆向工程

15 篇论文

Schema:通过智能体程序归纳发现未知环境机制

2026arXiv预印本

通过交互推断可执行的游戏状态与转移规则模型。智能体依据已记录的历史修订模型,在模型中搜索方案,并在执行计划时将预测观察与真实结果比较。

研究范围与作者

研究范围与局限

评测使用 25 个公开 ARC-AGI-3 游戏、21 个公开 DiG-bench 游戏及 MazeBench。匹配已记录的状态转移只说明与历史一致,不代表恢复原始源码或在未见状态上正确。RHAE 衡量完成度与环境动作效率,不是耗时或总计算量。组件消融覆盖十个 ARC 游戏;MazeBench 将记录轨迹与排行榜中位数比较,并非受控人类实验。对任意软件或随机环境的迁移尚未展示。

作者与引文

Schema: Discovering Unknown Environments via Agentic Program Induction

Guanning Zeng; Jiani Wang; Wenjie Ma; Shaofeng Yin; Chenyang Wang; Shichen Liu; Angjoo Kanazawa; Wode Ni; Xiuyu Li; Andrea Zanette; Haiwen Feng

BibTeX

8 个来源 · 复核于 

SWE-Game:编程智能体能否构建符合预期的游戏?

2026arXiv预印本

以可执行参考游戏评估构建、补全、修复及 Godot 到 Unity 的移植;由评测方控制的探针与输入回放检查玩法行为,视觉评分准则另行评价表现。

研究范围与作者

研究范围与局限

247 项任务来自 41 款游戏。各任务输入不同,移植任务提供 Godot 源码,因此并非纯黑盒重建。每个模型仅配一种框架,二者影响未分离;有限场景检查及 100 款游戏的功能验证不证明通用玩法等价。

作者与引文

SWE-Game: Can Coding Agents Build the Games We Want?

Xiaoyu Chen; Lai Wei; Jin Wang; Xiangyu Zou; Ruochen Fan; Enze Luo; Mingzhe Yao; Jiahui Zhu; Yuhua Wen; Linghe Kong; Weiran Huang

BibTeX

3 个来源 · 复核于 

GameReplica:视觉语言智能体的黑盒视觉游戏复刻基准

2026arXiv预印本

通过来自 25 款网页游戏、各设五个难度级别的 125 个任务,评估视觉语言智能体能否通过截图和主动交互推断隐藏规则,并构建可运行的单文件 HTML 游戏复刻。

研究范围与作者

研究范围与局限

任务覆盖以规则为核心的网页解谜和棋盘游戏,不代表原生或商业游戏重建能力。规则、实现和视觉评分使用 LLM 评审,不能证明行为等价。官方网站提供演示,尚未核实基准代码仓库。

作者与引文

GameReplica: A Benchmark for Black-Box Visual Game Replication by Vision-Language Agents

Boyu Qiao; Zixin Tang; Xiaoshuai Hao; Wenbo Li

BibTeX

3 个来源 · 复核于 

Tycho:面向 ARC-AGI-3 的程序化世界模型主动抽象

2026arXiv预印本

Tycho 根据陌生 ARC-AGI-3 游戏中的动作与观察历史,构建可编辑的 Python 模型,描述游戏状态、状态转移、渲染与结果。它将模型预测与已记录的转移进行核对,并在规划时选择使用、修复或绕过这些模型。

研究范围与作者

研究范围与局限

评估针对 25 个公开游戏、183 个关卡,每种配置仅进行一次随机运行;其中五个游戏曾用于开发智能体框架。模型可以不预测部分像素格,或接受有限的渲染变体。转移回放和游戏分数不能证明完整引擎重建、目标识别正确、未见状态保真度、未见游戏泛化或多次运行的可靠性;智能体也可以绕过建模。

作者与引文

Tycho: Active Abstraction with Programmatic World Models for ARC-AGI-3

Jens Lehmann; Andrei Aioanei; Sahar Vahdati

BibTeX

10 个来源 · 复核于 

RevengeBench:通过行为实验逆向恢复代码形式的策略

2026arXiv预印本

使用五种游戏环境中的 75 个合成策略,测试智能体能否通过行为轨迹和自行设计的对手探测恢复可执行决策策略,并衡量留出状态上的动作一致性及后续对抗价值。

研究范围与作者

研究范围与局限

目标是固定的合成策略,不是完整游戏或自适应对手。有限评测状态上的动作一致性不能唯一确定源码,部分环境的方差较大。公开包未包含部分仅用于论文的绘图与消融实验;复现还需要 CodeClash、容器运行时和模型访问。

作者与引文

RevengeBench: Reverse Engineering Code-Space Policies from Behavioral Experiments

Babak Rahmani; Sebastian Dziadzio; Joschka Strüber; Sergio Hernández-Gutiérrez; Matthias Bethge

BibTeX

8 个来源 · 复核于 

SPRITE:从静态设计稿重建可用于游戏引擎的界面

2026CHI EA 2026 (poster/extended abstract)会议论文

通过层级化 YAML、视觉定位、素材提取和 Unity UXML/USS 生成,将游戏界面截图转化为可编辑的引擎资源,并在精选游戏界面基准上评估,由三位资深 UI/UX 设计师进行审阅。

研究范围与作者

研究范围与局限

生成的交互覆盖基本悬停、切换和点击行为,复杂时序与拖放逻辑仍不在范围内;半透明重叠元素或边界不明确的场景内界面可能处理失败。这是游戏界面原型重建,不是完整玩法重建;官方页面仍标注代码即将发布。

作者与引文

SPRITE: From Static Mockups to Engine-Ready Game UI

Yunshu Bai; RuiHao Li; Hao Zhang; Chien Her Lim; Ming Yan; Mengtian Li

BibTeX

4 个来源 · 复核于 

PoE-World:基于程序化专家乘积的组合式世界建模

2025NeurIPS 2025会议论文

PoE-World 将 Atari 世界模型表示为许多小型 Python 程序(即程序化专家)的指数加权乘积,每个专家由大语言模型合成,用于解释观测动态中的一个方面;学习得到的权重和可选的合成硬约束把它们组合起来。作者从 OCAtari 在不足 1,000 帧的演示中解析出的对象列表出发,学习 Pong 与 Montezuma's Revenge 的随机、部分可观测模型,并将其用于规划智能体,包括没有演示的重排变体 Pong-Alt 和 Montezuma's Revenge-Alt。

研究范围与作者

研究范围与局限

模型输入是符号化的对象列表而非像素,且每个游戏都需人工修补 OCAtari,因此评测仅覆盖 Pong 与 Montezuma's Revenge 以及作者构建的两个变体。学到的程序只是对观测动态的近似,并非游戏原始代码:在 1,000 个随机测试帧上,下一观测预测准确率在 Pong 上为 0.06,在 Montezuma's Revenge 上为 0.31;对象属性准确率分别为 0.66 和 0.76。合成的专家依赖人工编写的辅助类和接触判断函数,并由 gpt-4o-2024-08-06 生成。探索与奖励学习不在方法范围内;智能体得分基于 5 个随机种子,演示之后最多训练 3k 步;在 Montezuma's Revenge 上,规划器在 9 次尝试中有 5 次拿到钥匙。

作者与引文

PoE-World: Compositional World Modeling with Products of Programmatic Experts

Wasu Top Piriyakulkij; Yichao Liang; Hao Tang; Adrian Weller; Marta Kryven; Kevin Ellis

BibTeX

12 个来源 · 复核于 

扩散模型即实时游戏引擎

2025ICLR 2025会议论文

GameNGen 以扩散模型而非游戏代码交互式地模拟 DOOM。首先由 PPO 智能体在 ViZDoom 中游玩,记录下从随机策略到训练后期的轨迹作为训练数据。随后微调 Stable Diffusion v1.4,使其根据最近 64 帧画面与动作预测下一帧;训练时向上下文帧加入噪声,以保持长时间自回归生成的稳定,并微调潜空间解码器以改善细节。使用 4 步采样时,它在单个 TPU-v5 上以每秒 20 帧运行。作者报告下一帧预测 PSNR 为 29.43,人工评估者在短片段中辨认出真实游戏的比例为 58%–60%。

研究范围与作者

研究范围与局限

这是基于已有游戏的录制游玩数据训练的神经近似模型;它不恢复任何游戏逻辑、源码、素材或状态表示,也不是精确模拟。模型只能看到略多于 3 秒的历史,超出该窗口的状态只能依靠屏幕线索和习得的启发式维持,而这些启发式可能出错,例如连续射击可能导致生成敌人。对智能体从未探索过的位置与交互,模拟效果较差。训练使用 128 个 TPU-v5e 设备、7,000 万帧 320×240 的智能体数据,以及针对该环境的奖励函数。PSNR 是在 5 个关卡、2,048 条留出轨迹上以教师强制方式测得的单帧指标;自回归生成在数步后便会偏离真实轨迹。人工评估由 10 名评估者观看 1.6 秒和 3.2 秒片段,以及 150 段较晚时刻的 3 秒片段;作者表示自己常能在几秒内认出模拟画面。只在 DOOM 上做了测试,模型也无法便捷地创建新游戏。

作者与引文

Diffusion Models Are Real-Time Game Engines

Dani Valevski; Yaniv Leviathan; Moab Arar; Shlomi Fruchter

BibTeX

4 个来源 · 复核于 

WorldCoder:通过编写代码并与环境交互构建世界模型的基于模型的语言智能体

2024NeurIPS 2024会议论文

WorldCoder 根据环境交互和自然语言目标学习可执行的 Python 状态转移与奖励模型,利用已记录经验和乐观规划约束修正代码,并在 Sokoban、MiniGrid 与 ALFWorld 中研究迁移和任务求解。

研究范围与作者

研究范围与局限

假设环境动态具有确定性,状态为符号化的离散表示,并非从任意像素或二进制恢复游戏。与已观察转移一致及规划成功,不能证明完整引擎等价或所有未见状态上的正确性。评估针对有限范围的环境模型与规划,不涉及恢复原始源码或资产。

作者与引文

WorldCoder, a Model-Based LLM Agent: Building World Models by Writing Code and Interacting with the Environment

Hao Tang; Darren Key; Kevin Ellis

BibTeX

10 个来源 · 复核于 

通过蒙特卡洛树搜索引导大语言模型生成代码世界模型

2024NeurIPS 2024会议论文

GIF-MCTS 根据环境的自然语言描述与离线状态转移轨迹生成可执行的 Python 状态转移和奖励模型,并利用预测反馈生成、改进和修复代码。CWMB 评估 18 个强化学习环境及后续规划;另一个实验使用简化的 Read to Fight Monsters 网格世界。

研究范围与作者

研究范围与局限

假设环境动态具有确定性、状态完全可观测,并且描述足够详细;并非仅凭像素或二进制进行恢复。准确率使用合成过程中提供的回放转移,并结合规划回报评估,不能证明所有未见状态上的正确性或完整引擎等价。RTFM 在不同回合间固定手册内容,并让怪物保持静止。CWMB 也包含非游戏的控制与物理任务;部分规划回报未给出,复杂连续状态模型仍然困难。

作者与引文

Generating Code World Models with Large Language Models Guided by Monte Carlo Tree Search

Nicola Dainese; Matteo Merler; Minttu Alakuijala; Pekka Marttinen

BibTeX

13 个来源 · 复核于 

结合函数合成与自动机合成以发现因果反应式程序

2023Proceedings of the ACM on Programming Languages (POPL 2023)期刊论文

AutumnSynth 根据观察到的画面帧及用户动作(如点击和方向键)构成的轨迹,合成 Autumn 程序;Autumn 是面向 Atari 风格网格世界的函数式反应式语言。基于启发式的感知步骤将每帧解析为带类型的对象,跟踪步骤再将对象跨时间步关联起来。随后,合成器为每个观察到的变化寻找更新函数,并搜索触发该变化的事件。当基于可观察状态的事件都无法解释某次更新时,自动机合成会借助基于 SAT 的 Sketch 编码或更快的启发式方法,引入计数器、模式等潜在状态。作者提出了含 30 个程序的 Causal Inductive Synthesis Corpus(CISC),启发式版本在其中合成出 27 个程序;经少量修改的版本在第三方 EMPA 网格世界语料库的 27 个游戏中合成出 21 个。

研究范围与作者

研究范围与局限

目标是可用 Autumn 表达、完全可观察的小型网格世界,而非具有连续物理、复杂图形或已编译代码的游戏。感知与跟踪基于启发式;由于 Autumn 将对象渲染为部分透明,感知步骤不处理遮挡。CISC 的输入轨迹由人工构造,以覆盖各模型的动态;“成功”指合成程序能复现给定轨迹,而非与真实程序语义等价。启发式版本的运行时间从约两分钟到 9–13 小时不等;Sketch 版本在若干基准上 24 小时后超时,部分 EMPA 游戏也在 40 小时后超时。EMPA 需要针对随机事件做领域特定修改;由于多数 EMPA 游戏具有非确定性,其结果通过人工检查确认,且每个游戏只使用第一关。在新的 CISC 测试轨迹上,有四个合成程序因训练轨迹未展示全部动态而偏离真实程序,对其中三个重新测试时,拼接多条轨迹后恢复出了真实程序。对于随机事件,AutumnSynth 只检测非确定性,并不推断其背后的概率分布。该方法属于符号程序合成,并未使用大语言模型。

作者与引文

Combining Functional and Automata Synthesis to Discover Causal Reactive Programs

Ria Das; Joshua B. Tenenbaum; Armando Solar-Lezama; Zenna Tavares

BibTeX

7 个来源 · 复核于 

MappyLand:快速、准确的主机游戏地图构建

2021AIIDE 2021会议论文

MappyLand 是早期 Mappy 系统的 Rust 重写版,它对 FCEUMM NES 模拟器核心进行插桩,在依据手柄输入运行动作/冒险游戏的同时绘制地图。系统拦截对图像处理单元滚动寄存器的访问并读取模拟器内存,据此完成滚动配准、区分游戏区域与菜单、检测和跟踪精灵、构建网格化图块地图并识别房间切换。一个在线合并步骤再把观测到的房间整合为一致的房间图,可覆盖折返路线和多次游玩会话。作者在一次 34,514 帧的测试中报告,地图构建每帧约增加 1.5 毫秒开销,而单纯模拟约为每帧 0.2 毫秒。

研究范围与作者

研究范围与局限

仅适用于玩家操控角色在单一物理层的二维图块空间中移动的 NES 动作/冒险游戏;不支持各自独立滚动的图层和视差背景,其他主机平台留待后续工作。方法依赖模拟器插桩与内存读取,而非仅凭像素,并需要游戏映像及手柄输入。地图准确性仅由人工检查作者在部分游戏上的游玩结果来判断;由于缺少参考数据集,没有进行自动化的定量准确性评估。游玩中未见到的区域不会被绘制,外观相似的房间也可能产生歧义。耗时数据来自个别报告的运行;作者预期不同 NES 游戏的开销相近,但并未测量。输出是地图、房间图和实体轨迹,而非游戏代码、规则或资源。

作者与引文

MappyLand: Fast, Accurate Mapping for Console Games

Joseph C. Osborn; Adam Summerville; Nathan Dailey; Soksamnang Lim

BibTeX

10 个来源 · 复核于 

使用 GameGAN 学习模拟动态环境

2020CVPR 2020会议论文

GameGAN 从录制的画面帧及对应动作中学习游戏的动作条件神经模拟器,无需访问游戏逻辑或引擎。带随机潜变量的动作条件 LSTM 动力学引擎预测下一状态;可选的外部记忆模块构建内部地图,使重新访问的位置保持一致;渲染引擎在解码画面时区分静态与动态成分。模型以端到端方式训练,采用包括动作条件判别器在内的对抗损失,并用时间循环损失保持记忆一致性。作者在修改版 Pac-Man、无幽灵的 Pac-Man-Maze 及 VizDoom “take cover” 上进行评测:在学得的模拟器中训练强化学习智能体并在真实游戏中测试,并用“返回原点”任务衡量长期一致性;论文还定性展示了可由人类游玩的官方 Pac-Man 模型。

研究范围与作者

研究范围与局限

GameGAN 模仿的是游戏的画面与动态,并不恢复游戏代码、符号规则、素材或可执行程序。训练需要带动作的大量日志数据:Pac-Man 使用 4 万个由能观察完整环境、高熵策略的 DQN 智能体生成的回合,VizDoom 使用 1 万个随机策略回合,分辨率分别为 84×84 与 64×64。定量结果只覆盖小型网格化的 Pac-Man 变体与一个 VizDoom 场景,并借助外部分类器给出游戏结果。在模拟器中训练的智能体可能利用建模误差:完整模型有时让 Pac-Man 穿过墙壁,其 Pac-Man 智能体得分低于无记忆版本;在 VizDoom 上,World Model 基线的得分高于 GameGAN。发布的代码只支持 VizDoom 训练,依赖已弃用的 WorldModels 数据准备流程,并采用仅限非商业用途的 NVIDIA Source Code License;其中不含 Pac-Man 数据及官方 Pac-Man 模型。

作者与引文

Learning to Simulate Dynamic Environments with GameGAN

Seung Wook Kim; Yuhao Zhou; Jonah Philion; Antonio Torralba; Sanja Fidler

BibTeX

8 个来源 · 复核于 

通过交互式观察自动识别游戏机制:跳跃

2017FDG 2017会议论文

该研究在修改后的 FCEUX NES 模拟器中开展受控实验,推断平台游戏的跳跃机制。先由人工将每款游戏玩到安全状态;系统随后反复按住跳跃键 1 至 120 帧、等待 120 帧并复位,同时从 PPU 精灵表记录所有精灵。经常相互接触的精灵被合并为角色并加以跟踪。随后以线性支持向量回归拟合人工设计的四状态跳跃自动机(地面、按键上升、松键上升、下落),得到各状态的速度与重力参数,以及按键持续时间的最小值和最大值。在 48 款游戏(约占 NES 平台游戏的 30%)、52 个角色上,作者将学得的跳跃聚类为三种风格。

研究范围与作者

研究范围与局限

仅建模原地起跳的垂直跳跃;忽略水平移动、助跑跳、二段跳以及与敌人或地形的交互,也不恢复任何游戏代码、素材或完整机制。固定的自动机是预先设定而非学习得到的,因此《恶魔城》等非物理跳跃的拟合存在系统性误差。阶梯状轨迹、延迟起跳、特殊落地及动画抖动都是作者承认的问题。每款游戏都需要人工游玩至安全状态,并预先知道其存在跳跃及跳跃按键。48 款游戏并非完整样本,结果是描述性的比较与聚类,并未与开发者设定的参数对照检验。

作者与引文

Mechanics Automatically Recognized via Interactive Observation: Jumping

Adam Summerville; Joseph C. Osborn; Christoffer Holmgård; Daniel W. Zhang

BibTeX

4 个来源 · 复核于 

从视频中学习游戏引擎

2017IJCAI 2017会议论文

从游戏录像中学习二维游戏的基于规则的前向模拟器。系统借助提供的精灵图集,用 OpenCV 定位每帧中的精灵;匹配后的精灵被转换为人工设计的事实类型,包括动画、位置、相对距离、x 与 y 方向速度及镜头偏移。随后 Game Engine Search 逐帧扫描,每当当前引擎预测的下一帧与真实帧的差异超过阈值时,便对引擎进行贪心搜索:新增或修改“条件—效果”规则,或将规则标记为玩家控制。引擎按像素误差与规则数量排序。在一段《超级马力欧兄弟》1-1 关卡视频上训练后,所学引擎预测另一位玩家视频帧的准确度高于 CNN 帧预测器与沿用上一帧的基线,基于它进行规划的价值迭代智能体,其表现与使用 Infinite Mario 引擎原生前向模拟的智能体无显著差异。

研究范围与作者

研究范围与局限

评测只涵盖一款游戏的一个关卡:训练使用《超级马力欧兄弟》1-1 关卡的一段“速通玩家”视频(1,569 帧),测试使用同一关卡的“探索型玩家”视频。帧解析依赖爱好者制作的精灵图集与人工编写的事实类型,作者也指出这使方法较难应用于真实视频等更复杂的领域。所学引擎是通过搜索得到的、描述屏幕上精灵行为的规则集合,并非恢复的游戏代码或二进制;它不表示玩家死亡与关卡切换,1-1 关卡中未出现的机制也不应期望能够迁移。阈值较低时搜索可能很慢,在 2013 年的 iMac 上单个关卡最长需两周,报告的实验使用零阈值。CNN 比较使用缩小后的灰度帧,游戏表现比较则通过 Infinite Mario 引擎中的智能体间接进行。

作者与引文

Game Engine Learning from Video

Matthew Guzdial; Boyang Li; Mark O. Riedl

BibTeX

3 个来源 · 复核于 

应用重建与分析

16 篇论文

从失效代码与静态需求到可运行引擎:利用编程智能体恢复软件

2026arXiv预印本

ReviveBench 利用隐藏的参考检查,评估无法运行的软件修复,以及依据公开规范、在无法访问目标源码时实现限定范围的计算与事务引擎;同时审计可能误收或误拒重建结果的评分缺陷。

研究范围与作者

研究范围与局限

研究十个软件恢复任务及十三个限定范围的引擎任务;重建时提供公开规范与三个示例。大多数模型/任务组合只有一两个随机种子;重建结果矩阵报告符合条件的最佳运行。排除基础设施失败及使用不同 API 适配器会限制比较。任务通过阈值不要求每项检查全部通过,CFD 通过结果也不能证明数值求解器能力。验证器审计与污染控制不构成一般等价证明,也无法排除先前接触相关内容。

作者与引文

From Dead Code and Static Requirements to Working Engines: Software Revival with Coding Agents

Tianyu Liu; Dingyuan Dai; Yufan Du; Zhen Yang

BibTeX

3 个来源 · 复核于 

从代码到需求:企业规模的智能体业务规则逆向恢复

2026arXiv预印本

利用七个智能体与人工审查,从源码、测试、配置及文档恢复业务需求;企业迁移案例以生产缺陷记录核对提取的规则。

研究范围与作者

研究范围与局限

证据来自一个企业 Java 项目及一个遗留系统试点。成本比较采用估算的人工基线,核算口径不对称。静态分析遗漏部分运行时与外部规则,覆盖率不证明完整性;保密输入限制独立复现。

作者与引文

From Code to Requirements: Agentic Reverse Engineering of Business Rules at Enterprise Scale

Garima Agrawal; Prasun Das; Priyanka L; Minisha N; Akshay Sarvade; Hemath Manivanan; Sravani Joshna; Prasad Kalyansundaram

BibTeX

3 个来源 · 复核于 

从代码生成需求是否可行:一份经验报告

2026IEEE REW 2026 / AIRE会议论文

研究以 RAG 和人工监督从两个项目恢复需求与代码追踪关系的流程,并测试刻意生成未实现需求及需求异味(潜在质量问题),揭示验证与标注的困难。

研究范围与作者

研究范围与局限

188 条生成需求来自学生网页应用与 Mattermost Desktop,使用单一模型及博士生评估者。提示选择、累积反馈及作者裁定的标签影响有效性;结论限于这一小规模经验研究,不代表所有代码到需求方法。

作者与引文

On the Viability of Requirements Generation from Code: An Experience Report

Alexander Korn; Jone Bartel; Max Unterbusch; Andreas Vogelsang

BibTeX

7 个来源 · 复核于 

从视觉组件到界面代码:借助工具证据的高效生成

2026MUCG @ ECCV 2026会议已接收

WidgetGen 将组件截图重建为 React JSX,利用 OCR 文本框与调色板支持整体布局推理及可选图表生成,最后渲染一次;生成的渲染图与代码配对还用于模型微调。

研究范围与作者

研究范围与局限

主要对比使用六个模型与单一数据集中的 1,000 个测试组件。九项图像指标不检验交互、无障碍或可维护性;监督学习实验仅覆盖六个 Qwen 系列模型,更多界面分布与模型系列的泛化尚未确定。

作者与引文

From Visual Widgets to UI Code: Efficient Tool-Grounded Generation

Houston H. Zhang; Tao Zhang; Li Gu; Linfeng Ye; Yuanhao Yu; Xinxin Zuo; Yang Wang; Zhixiang Chi

BibTeX

3 个来源 · 复核于 

智能体逆向工程:利用发现智能体从输入输出行为恢复代码

2026NeurIPS 2026会议已接收

通过 LLM 引导的演化搜索、逐步展示的样例、由简到繁的修改及执行错误反馈,从输入输出观察合成可执行程序;主动变体自行选择输入并查询隐藏的参考程序。

研究范围与作者

研究范围与局限

IO2CodeBench 包含 125 个生成任务,覆盖基础运算、算法、几何及图像到数值的映射,通常每题提供八个可见样例和十五个留出样例。主动探索只覆盖各层级的 25% 子集。多模态结果采用样例通过比例的均值,其他层级按通过全部留出样例的任务计数。有限测试通过不代表恢复原源码或完全等价;未评测任意应用及有状态服务。

作者与引文

Agentic Reverse Engineering: From I/O to Code with Discovery Agent

Yihong Dong; Jiaru Qian; Haoran Zhang; Peixu Wang; Binhua Li; Zhi Jin; Yongbin Li; Ge Li; Xiaokang Yang; Xue Jiang

BibTeX

6 个来源 · 复核于 

UIOrchestra:通过多智能体系统将 UI 设计转换为高保真代码

2025Findings of EMNLP 2025会议论文

UIOrchestra 通过布局描述、代码生成及渲染图像比较三个智能体,将静态移动 UI 设计转换为 React/CSS。其 APPUI 基准包含 1,101 组经人工修订的代码与渲染图像,依据 12 类中的 165 款应用截图构建。参考代码为评测而重建,并非恢复出的原始应用源码。

研究范围与作者

研究范围与局限

评测视觉、组件及代码相似度,不验证原生安装包执行、交互、后端行为或应用等价性。APPUI 参考图像来自对 iOS 截图所做重建的渲染结果;无法获取的图片/图标使用占位素材。人工研究由四位标注者评估 200 个样本。差异分析提示词忽略字号/字体差异及占位图像内容。

作者与引文

UIOrchestra: Generating High-Fidelity Code from UI Designs with a Multi-agent System

Chuhuai Yue; Jiajun Chai; Yufei Zhang; Zixiang Ding; Xihao Liang; Peixin Wang; Shihai Chen; Wang Yixuan; Yanping Wang; Guojun Yin; Wei Lin

BibTeX

4 个来源 · 复核于 

DeclarUI:以自动生成声明式界面代码连接设计与开发

2025Proceedings of the ACM on Software Engineering (FSE 2025)期刊论文

结合视觉组件提取、多模态模型、页面跳转图与迭代检查,从设计稿或截图重建多页面移动界面代码,并在 React Native、Flutter 和 ArkUI 上评测。

研究范围与作者

研究范围与局限

人员需审核并修正推断出的导航图。评测覆盖 50 组各含五页的界面;页面跳转覆盖率与编译成功不代表恢复了完整业务逻辑或后端。各框架结果存在差异,视觉指标也不能完全反映人眼感知的保真度。脚本与数据已公开,但核查的提交中未发现项目级许可证。

作者与引文

DeclarUI: Bridging Design and Development with Automated Declarative UI Code Generation

Ting Zhou; Yanjie Zhao; Xinyi Hou; Xiaoyu Sun; Kai Chen; Haoyu Wang

BibTeX

4 个来源 · 复核于 

面向 Android 恶意软件分析的代码大语言模型基准评测

2025ISSTA 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%。

研究范围与作者

研究范围与局限

这是一篇 8 页的研讨会论文,评测四个开源代码大语言模型:CodeLlama-7b-Instruct、StarChat-Beta 以及基础规模的 CodeT5 和 PLBART,并非当前的前沿模型。CodeT5 与 PLBART 经过三轮微调后才能输出所需字段,其恶意程度评分由另一个 DeepSeek-R1-Distill-Llama-70B 模型给出,因此基于评分的结果并非单独衡量这两个模型;二者也未纳入重命名实验。研究缺少函数级真实标签:恶意函数识别通过分类器置信度间接衡量,参考应用描述则是此前 LAMD 数据集中由 GPT-4 生成的摘要;作者指出这些替代方法可能引入噪声与偏差。118 个样本是经过去重的 LAMD 恶意软件,仅使用 Androguard 反编译,也未单独研究混淆的影响。保真度得分的标准差与均值相近,例如 CodeT5 在 k = 2 时为 0.332 ± 0.30。Zenodo 记录保存的是结构化模型输出(函数摘要、改进名称与恶意程度评分);该记录与 LAMD 记录均未说明包含 APK 样本。CAMA 不是恶意软件检测系统,也不是反编译器。

作者与引文

On Benchmarking Code LLMs for Android Malware Analysis

Yiling He; Hongyu She; Xingzhi Qian; Xinran Zheng; Zhuo Chen; Zhan Qin; Lorenzo Cavallaro

BibTeX

7 个来源 · 复核于 

基于机器学习的移动应用图形用户界面原型生成

2020IEEE Transactions on Software Engineering期刊论文

ReDraw 通过组件检测、CNN 控件类型分类及数据驱动的近邻层级组装,将截图或设计稿转换为原生 Android 图形界面原型。

研究范围与作者

研究范围与局限

实现覆盖 15 类 Android 组件,每次生成单个屏幕;多屏需要人工组合,层级构建受采集时屏幕尺寸约束。评估关注外观和视图层级,不代表恢复原始应用逻辑或后端。实验以截图和重新制作的设计稿代替真实设计产物。

作者与引文

Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps

Kevin Moran; Carlos Bernal-Cárdenas; Michael Curcio; Richard Bonett; Denys Poshyvanyk

BibTeX

9 个来源 · 复核于 

pix2code:从图形用户界面截图生成代码

2018EICS 2018会议论文

学习从界面截图生成领域专用语言(DSL),再编译为原生 Android XML、iOS Storyboard 或网页 HTML/CSS 界面代码。

研究范围与作者

研究范围与局限

评测采用合成的截图与代码配对,每个平台含 1,500 个训练实例和 250 个测试实例。报告的准确率针对 DSL 词元,不代表完整应用或行为复现成功率。方法忽略文本标签内容,并以相同架构分别训练各平台模型;范围是布局、组件及其关系,不包括应用逻辑或后端恢复。仓库将其定位为教育用途的研究原型;本条目未对其较旧依赖进行运行测试。

作者与引文

pix2code: Generating Code from a Graphical User Interface Screenshot

Tony Beltramelli

BibTeX

7 个来源 · 复核于 

从 UI 设计图到 GUI 骨架:辅助启动移动界面实现的神经机器翻译器

2018ICSE 2018会议论文

UI2code 使用神经编码器—解码器,将移动 UI 图像转换为 Android 组件层级与布局骨架。论文评估了结构预测,并通过小规模开发者实验研究如何基于生成的骨架实现布局。

研究范围与作者

研究范围与局限

输出仅覆盖单张图像中的组件类型与层级;详细样式和文本仍需开发者补充。结构标记准确率以及针对五张截图、由八名参与者开展的实验,不能证明完整视觉保真度,也不代表恢复了导航、应用逻辑或后端。主数据集按截图划分;独立评估使用了 20 个未见应用的 1,208 张图像,提供了有限的泛化证据。

作者与引文

From UI Design Image to GUI Skeleton: A Neural Machine Translator to Bootstrap Mobile GUI Implementation

Chunyang Chen; Ting Su; Guozhu Meng; Zhenchang Xing; Yang Liu

BibTeX

7 个来源 · 复核于 

Rico:用于构建数据驱动设计应用的移动应用数据集

2017UIST 2017会议论文

Rico 是一个 Android 应用设计数据集,也是一套无需获取或修改应用源码的运行时挖掘系统。众包人员通过网页界面使用设备农场中的免费 Google Play 应用,并记录交互轨迹。自动爬虫随后重放每条轨迹并继续探索,借助基于截图与 resource-id 的相似度启发式识别新的界面状态。论文报告共获得来自 27 个类别、9,772 个应用的 10,811 条轨迹和 72,219 个唯一界面。每个界面附有截图、增强的视图层级、已探索的交互、转场动画,以及由自编码器得到的 64 维布局向量。

研究范围与作者

研究范围与局限

这是数据集与采集系统,而非重建方法:论文将界面代码生成和交互建模列为可能用途,但本身并不生成代码或重建应用。它记录的是每次不超过 10 分钟的人工会话及其后各一小时自动爬取所触达的界面与交互,并非完整应用行为、后端逻辑或源码。多媒体、效率与个性化类别被排除,且只挖掘免费应用。覆盖率在 10 个热门应用上以唯一界面数衡量,该度量依赖相似度启发式(在 1,044 对标注样本上假阳性率 6%、假阴性率 3%)。论文展示的应用是基于自编码器的布局相似度检索,并以定性示例说明。随着应用更新,这份 2017 年快照会逐渐过时。

作者与引文

Rico: A Mobile App Dataset for Building Data-Driven Design Applications

Biplab Deka; Zifeng Huang; Chad Franzen; Joshua Hibschman; Daniel Afergan; Yang Li; Jeffrey Nichols; Ranjitha Kumar

BibTeX

6 个来源 · 复核于 

Android 应用的统计式反混淆

2016ACM 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%。

研究范围与作者

研究范围与局限

仅处理布局(标识符)混淆。数据、控制流与密码学混淆、自定义字符串加密、反射以及基于 goto 的代码重排均不在逆转范围内;论文指出,其检查的大多数恶意样本同时使用了这些技术。基准为 100 个良性开源 F-Droid 应用,通过启用 ProGuard 且不修改其规则进行混淆,并以与原始名称完全一致作为评分标准,因此语义相近的名称也计为错误;被 ProGuard 删除的元素不计分。在其他混淆器或恶意软件上的准确率可能较低。第三方库依据包名启发式规则识别,共涵盖 133 个库,训练应用也可能导入相同的库。针对 49 个恶意软件家族的研究给出 Base64 解码器、位置信息处理等人工检查示例,未报告精确率。

作者与引文

Statistical Deobfuscation of Android Applications

Benjamin Bichsel; Veselin Raychev; Petar Tsankov; Martin Vechev

BibTeX

4 个来源 · 复核于 

使用 REMAUI 逆向重建移动应用用户界面

2015ASE 2015会议论文

利用 OCR、计算机视觉和布局启发式规则,从截图或设计位图重建原生 Android 界面代码,并使用来自 100 多款 Android 与 iOS 应用的 488 张截图评估视觉相似性和视图层级。

研究范围与作者

研究范围与局限

输出为 Android 界面代码;iOS 截图属于输入,不代表生成原生 iOS 代码。方法不恢复原始逻辑和后端行为,多屏切换当时仍属后续工作。OCR/布局启发式规则可能误识别内容。所链接的 REMAUI v2 仓库采用较旧依赖,并非已核实的 2015 年原始产物。

作者与引文

Reverse Engineering Mobile Application User Interfaces with REMAUI (T)

Tuan Anh Nguyen; Christoph Csallner

BibTeX

6 个来源 · 复核于 

以最少重启与近似学习引导的 Android 应用图形界面测试

2013OOPSLA 2013会议论文

SwiftHand 在为 Android 应用生成测试输入的同时,于测试过程中学习近似的图形界面模型。它对 Dalvik 字节码插桩,读取界面组件树,并推导每个屏幕可用的触摸、滚动、文本、返回键和菜单键输入;可用输入相同的屏幕被视为扩展确定性标记迁移系统中的等价状态。学习得到的模型引导执行进入尚未探索的前沿状态,并尽量避免重启,因为重新安装一次应用约需 30 秒。在 10 个 F-Droid 应用上,作者报告其在给定时间预算内的分支覆盖率高于随机测试和基于 L* 的测试,且达到覆盖率的速度更快。

研究范围与作者

研究范围与局限

这是一种测试生成技术,所学模型只是用于引导探索的近似抽象,并非完整或精确的图形界面规约,也不是应用的重新实现。状态仅以可用输入集合区分,并以启发式方式合并;标签页视图等设计会导致状态爆炸和覆盖率偏低。实现不支持主入口为原生代码的应用,只在 Android 4.1 及更高版本上正常工作,也无法处理在远程服务器上存储数据的应用,这些应用因此被排除在基准之外。评估覆盖 Android 4.1.2 上的 10 个 F-Droid 应用:其中八个在模拟器上运行、预算 3 小时,两个在 Galaxy Nexus 手机上运行、预算 1 小时。对部分小型应用,随机测试在更长时间后可追平覆盖率。未证明这款 2013 年的工具可在当前 Android 版本上运行。

作者与引文

Guided GUI Testing of Android Apps with Minimal Restart and Approximate Learning

Wontae Choi; George Necula; Koushik Sen

BibTeX

7 个来源 · 复核于 

GUI 抓取:面向测试的图形用户界面逆向工程

2003WCRE 2003会议论文

GUI 抓取从运行中的桌面应用程序逆向工程出测试模型,而不依赖其源码或规格说明。抓取器从顶层窗口开始,以编程方式点击可执行控件逐一打开子窗口,记录每个窗口的控件、属性与取值,并构建由窗口组成的 GUI 森林。它再从森林推导出事件流图(记录组件内哪些事件可以相继发生)以及表示组件调用关系的集成树。论文介绍了两种抓取器:面向 Microsoft Windows 应用、基于窗口句柄与 Windows API 的实现,以及面向 Java Swing 应用、基于 Java AWT 与 Swing API 的实现。作者将其应用于 WordPad、Notepad、Yahoo Messenger 及学生开发的 TerpOffice 办公套件中的四个应用,所得模型用于作者 GUITAR 与 DART 系统中的自动化测试生成。

研究范围与作者

研究范围与局限

目标是 2003 年前后 Microsoft Windows 与 Java Swing 上的桌面 GUI,而非移动应用或网页界面;模型假定控件上的事件结果确定且属性取值离散,不涵盖依赖时序、连续媒体或非确定性的 GUI。恢复出的模型是供测试生成使用的窗口、控件与事件结构,并非 UI 代码或应用逻辑,论文也未证明覆盖了全部行为。抓取可能遗漏窗口与控件:Windows 抓取器会遗漏绕过 Windows API 的控件,且无法区分模态与非模态窗口;Java 抓取器则无法提取打印对话框的结构。在案例研究中,测试人员需手动补充遗漏的窗口,每个应用耗时 5 至 10 分钟,并需为 Windows 应用手动指定顶层窗口。结果来自七个应用以及作者自己的测试流程。

作者与引文

GUI ripping: reverse engineering of graphical user interfaces for testing

Atif Memon; Ishan Banerjee; Adithya Nagarajan

BibTeX

4 个来源 · 复核于 

固件分析与重托管

27 篇论文

ARM Cortex-M 固件仿真动态分析研究的大规模实证综述(扩展版)

2026arXiv (extended version)预印本

将 24 项 MCU 分析工具组织为配置恢复、仿真、模糊测试及诊断阶段,并在 4,571 个筛选后的 Cortex-M 固件镜像上评估可运行且兼容流程的子集,研究恢复的配置和仿真产物为何无法支撑后续分析。

研究范围与作者

研究范围与局限

排除需要无法取得的手册、源码或硬件上下文的工具,因此不是对全部 24 项工具的统一执行比较。指令集识别、准入阈值及抽样崩溃诊断含经验判断,结论不能直接泛化到其他架构;报告的崩溃不等于已确认漏洞。

作者与引文

SoK: A Large-Scale Empirical Study of Emulation-Based Dynamic Analysis Research for ARM Cortex-M Firmware (Extended Version)

Hongyuan Li; Ke Wang; Wei Zhou; Le Guan

BibTeX

4 个来源 · 复核于 

POZZER:面向黑盒嵌入式系统的功耗侧信道引导模糊测试器

2026arXiv预印本

根据每个测试输入的一条功耗轨迹构建可容忍噪声的近似执行流图,将新观察到的行为用作 LibAFL 反馈;无需取得固件二进制、源码或插桩即可探索嵌入式固件。

研究范围与作者

研究范围与局限

需要物理功耗测量、已知输入引脚和实验装置校准。评测覆盖两个 Cortex-M 平台上的 15 个目标及两个商用设备;基准覆盖率通过事后插桩回放测量,并非直接由功耗轨迹恢复。结果受种子和硬件影响,长轨迹会降低吞吐量;该图不是经过证明的控制流图或恢复出的程序。真实设备测试框架未公开。

作者与引文

POZZER: A Power Side Channel-guided Fuzzer for Black-Box Embedded Systems

Pouya Narimani; Kseniia Rogova; Addison Crump; Martin Mohl; Meng Wang; Ulysse Planta; Pansilu Pitigalaarachchi; Ali Abbasi

BibTeX

2 个来源 · 复核于 

面向忠实固件运行迁移的响应式外设建模

2026arXiv预印本

Bluezz 将外设建模为具有状态的事件—条件—动作系统,协调中断、MMIO 与 DMA,而非孤立处理各次访问;据此迁移 BLE 固件,进入已连接协议状态进行分析与模糊测试。

研究范围与作者

研究范围与局限

BLE 评测覆盖 18 个目标,并补充了有限的其他 MCU 案例。硬件规格、行为规则与用例驱动仍需准备和人工验证。

作者与引文

Reactive Peripheral Modeling for Faithful Firmware Rehosting

Qinying Wang; Florian Hofhammer; Eduard Vlad; Jianqiang Wang; Marcel Busch; Shouling Ji; Mathias Payer

BibTeX

2 个来源 · 复核于 

Khost:基于 KVM 的近原生 MCU 固件重托管

2026USENIX Security '26会议论文

扩展 KVM 的 MCU 指令处理、内存映射及中断建模,在 ARMv8-A 主机上重托管固件;MMIO 监控器与固件包装层支持外设交互及覆盖率引导测试。

研究范围与作者

研究范围与局限

原型需要支持 32 位兼容和 EL2 虚拟化的 ARMv8-A。部分协处理器操作需补充模拟,入口或基本块恢复可能需要人工修正。外设近似可能造成误报;评测覆盖两个基准及 12 个固件镜像,并非任意设备。

作者与引文

Khost: KVM-based Near Native MCU Firmware Rehosting

Chunlin Wang; Yicheng Yang; Yuan Zhang; Haoyu Xiao; Yifan Zhang; Jiarun Dai

BibTeX

5 个来源 · 复核于 

FirmPilot:证据引导的多智能体物联网固件运行环境恢复

2026arXiv预印本

FirmPilot 协调检索、规划、文件系统、持久状态与网络恢复来重建 QEMU 执行环境。候选修改被落实为受约束的产物差异,再通过重新运行固件与固定探测检查。

研究范围与作者

研究范围与局限

主要分母为可取得的 10,033 个 LFwC 镜像,而非全部 10,913 条元数据记录。2,400 秒预算内的可达性不等于完整设备等价,HTTP 成功也包含重定向与认证入口。报告结果使用单一模型后端及固定探测。

作者与引文

FirmPilot: Evidence-Guided Multi-Agent Environment Recovery for IoT Firmware Rehosting

Yanbing Shen; Fan Zhang; Haitao Xu

BibTeX

2 个来源 · 复核于 

FirmCure:面向自主、自适应的 Linux 固件运行环境迁移

2026arXiv预印本

FirmCure 将静态依赖分析、启动配置迭代修复与运行时故障诊断结合起来,在 QEMU 中迁移 Linux 固件。专门的智能体执行针对性修复,并利用执行反馈恢复服务行为。

研究范围与作者

研究范围与局限

评测覆盖十家厂商、五种架构的 21 个镜像:全部打开了端口,但只有 19 个在 45 分钟内实现完整服务交互。近似内核替换不能保留依赖原内核或专用硬件的漏洞,模型推理循环仍会导致失败。这些作者报告的结果。

作者与引文

FirmCure:Towards Autonomous and Adaptive Rehosting of Linux-Based Firmware

Chuan Hong; Zheng Zhang; Lei Zhou; Laisong Li; Chenyifan Liu; Ze Huang; Xu Zhou; Peihong Lin

BibTeX

2 个来源 · 复核于 

SatBleed:卫星商用通信模块的安全性

2026IEEE S&P 2026会议论文

通过硬件检查、固件逆向、协议分析、部分重托管及针对性测试研究卫星通信模块,以组件级威胁模型将恢复的数据流与安全边界联系起来。

研究范围与作者

研究范围与局限

详细评估针对三个厂商的隔离实验环境,并未接触在轨卫星链路。所报告的 64 个活跃任务中有 28 个可能受影响,来自被动推断而非实际入侵;加密或压缩遥测被排除。人工分析不能证明完整性,厂商特定结果也不能推广到全部模块。大语言模型仅用于编辑,并非接受评测的逆向智能体。

作者与引文

SatBleed: Security of Commoditized Communication Modules in Satellites

Ulysse Planta; Julian Rederlechner; Martin Strohmeier; Mathias Fischer; Ali Abbasi

BibTeX

6 个来源 · 复核于 

面向 Linux 固件二进制的用户空间依赖感知重托管

2026NDSS 2026会议论文

FIRMWELL 通过运行初始化进程、定位阻塞依赖并修补缺失的系统层行为,重建 Linux 固件服务的执行环境。它结合容器化 QEMU-user 仿真与 QEMU-system 回退,并利用进程轨迹和二进制分析恢复目标服务所需的资源。

研究范围与作者

研究范围与局限

评估针对选定网络服务,并非完整设备或硬件等价。HTTP 验收采用配置好的响应状态与错误内容检查;其他服务需要各自的判定标准。覆盖范围受解包、架构支持、初始化启发式规则和外设模型限制,符号执行路径爆炸、求解超时及复杂外设检查仍可能导致失败。论文中的修复策略避免补丁修改目标二进制;服务交互成功不能证明恢复了原始源码或全部设备功能。

作者与引文

User-Space Dependency-Aware Rehosting for Linux-Based Firmware Binaries

Chuan Qin; Cen Zhang; Yaowen Zheng; Puzhuo Liu; Jian Zhang; Yeting Li; Weidong Zhang; Yang Liu; Limin Sun

BibTeX

8 个来源 · 复核于 

使用 Penguin 进行以目标为中心的固件重托管

2025Workshop on Binary Analysis Research (BAR) 2025会议论文

Penguin 以提取出的固件文件系统为输入,通过静态分析生成可编辑的仿真变换配置(如文件修改、伪文件、NVRAM 值和网络接口),用于重托管嵌入式 Linux 固件。动态分析插件揭示运行失败,便于针对具体目标完善配置;配置最小化工具则找出可用的重托管所必需的变换。

研究范围与作者

研究范围与局限

面向嵌入式 Linux 固件,沿用 Firmadyne 和 FirmAE 的思路,采用替换内核的整机仿真;实现支持 x86、ARM 和 MIPS,并依赖 Linux 系统调用 ABI。与 FirmAE 对比时,判定成功的标准是有进程绑定 80 或 443 端口,更严格的检查是 HTTP 返回非空响应;作者指出两者都不代表系统功能完整。比 FirmAE 多出 75% 的结果由作者在其自建语料(13,649 个取自厂商网站的镜像)上报告。完善配置仍需分析人员参与;运行结果不完全确定,作者对配置最多重复运行十次。该工作构建的是分析环境,不代表忠实复现设备或恢复源代码。

作者与引文

Target-Centric Firmware Rehosting with Penguin

Andrew Fasano; Zachary Estrada; Luke Craig; Ben Levy; Jordan McLeod; Jacques Becker; Caden Kline; Elysia Witham; Cole DiLorenzo; Ali Bobi; Dinko Dermendzhiev; Tim Leek; Wil Robertson

BibTeX

8 个来源 · 复核于 

固件所示并非应有的仿真方式:一种规范引导的固件仿真方法

2022ACM CCS 2022会议论文

SEmu 依据厂商参考手册而非固件本身构建微控制器外设模型。一条基于 Stanford 词性标注器和句法分析器的 NLP 流程,把取自手册的寄存器说明、中断表和 DMA 通道表转换为结构化的条件—动作规则;仿真器在运行时检查、执行并串联这些规则,以响应 MMIO 访问并触发中断或 DMA 请求。基于 S2E 和 µEmu 的符号执行诊断工具会把无效状态回溯到可能出错的规则,供人工修正。作者还将这些模型用于模糊测试,以及依据规范规则检查驱动代码。

研究范围与作者

研究范围与局限

规则提取并非完全自动。NLP 引擎难以处理跨句指代和嵌套条件;三款单元测试芯片上时钟外设的原始规则都导致启动失败,因此在修订这些规则之前,P2IM 的 66 个单元测试全部失败。经诊断引导的人工修正后(在从 23,424 个句子中提取的 3,602 条规则中新增 26 条、修正 21 条、删除 3 条),作者报告全部 66 个单元测试以及另外 17 个样本均能仿真。用户需要识别 MCU、配置内存映射,并把所需的手册章节复制到流程中;诊断还需要事先准备测试固件。三名开发者修正 F103 I2C 规则平均约需两小时。原型覆盖三家厂商五款开发板(STM32F1、F4、L1,NXP K64 与 Atmel SAM3X)上的 26 种外设;轨迹保真度比较只在 K64F 和 F103RB 两块开发板上使用了真实硬件轨迹。规则所建模的是文档记载的行为,不能证明与芯片实物等价。

作者与引文

What Your Firmware Tells You Is Not How You Should Emulate It: A Specification-Guided Approach for Firmware Emulation

Wei Zhou; Lan Zhang; Le Guan; Peng Liu; Yuqing Zhang

BibTeX

7 个来源 · 复核于 

Fuzzware:利用精确的 MMIO 建模提升固件模糊测试效果

2022USENIX Security 2022会议论文

重托管单体 ARM Cortex-M 固件以开展模糊测试,利用局部符号执行为内存映射 I/O 访问建模,使输入变异集中于影响固件逻辑的值。

研究范围与作者

研究范围与局限

面向 Cortex-M3/M4 的产物需要配置内存映射,且不会自动为 DMA 建模。对硬件的抽象可能产生真实设备上不可能出现的崩溃。该工作构建分析环境,不代表恢复原始源码或忠实重建完整设备。

作者与引文

Fuzzware: Using Precise MMIO Modeling for Effective Firmware Fuzzing

Tobias Scharnowski; Nils Bars; Moritz Schloegel; Eric Gustafson; Marius Muench; Giovanni Vigna; Christopher Kruegel; Thorsten Holz; Ali Abbasi

BibTeX

8 个来源 · 复核于 

ECMO:通过外设移植重托管嵌入式 Linux 内核

2021Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security会议论文

ECMO 将外设驱动移植到嵌入式 Linux 内核中,使固件能够在 QEMU 中启动。研究评估了 815 个固件镜像,涵盖 20 个内核版本、37 种设备型号和 24 家厂商;其中 710 个成功启动用户空间 shell。

研究范围与作者

研究范围与局限

评估范围包括采用不同 SoC 的嵌入式 Linux 固件、在 QEMU 中重托管内核,以及内核崩溃分析、Rootkit 取证和内核模糊测试。

作者与引文

ECMO: Peripheral Transplantation to Rehost Embedded Linux Kernels

Muhui Jiang; Lin Ma; Yajin Zhou; Qiang Liu; Cen Zhang; Zhi Wang; Xiapu Luo; Lei Wu; Kui Ren

BibTeX

2 个来源 · 复核于 

Jetset:面向嵌入式系统的定向固件重托管

2021USENIX 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 内核中发现一个提权漏洞。

研究范围与作者

研究范围与局限

这是定向重托管,并非完整的设备仿真或固件反编译。MMIO 范围、入口点和目标地址需由分析人员提供;合成模型先重放一条满足约束的路径,之后对每个地址返回最后一个满足约束的值,因此不必与真实硬件一致,到达目标后也可能无法正确处理有状态或复杂的外设交互。不支持 DMA;需要 DMA 的两个目标分别依赖已有的 QEMU 设备模型或人工标为符号值的内存区域。控制流图不完整(例如跨越虚函数调用或 x86 任务切换)会削弱距离启发式,BeagleBoard-xM 仿真也因把合成的串口数据当作代码执行而崩溃。保真度检验只在部分目标上与硬件或人工构建的 QEMU 模型对比。作者称 VRTX 提权漏洞主要具有学术意义。

作者与引文

Jetset: Targeted Firmware Rehosting for Embedded Systems

Evan Johnson; Maxwell Bland; YiFei Zhu; Joshua Mason; Stephen Checkoway; Stefan Savage; Kirill Levchenko

BibTeX

9 个来源 · 复核于 

基于无效性引导知识推断的自动化固件仿真

2021USENIX Security 2021会议论文

µEmu 将未知外设寄存器表示为符号,对固件映像进行符号执行,从而在没有真实硬件或人工编写外设模型的情况下仿真 ARM Cortex-M 微控制器固件。无效性引导的探索会检测意外死循环等无效状态,并把执行引向有效路径;所选响应按单个外设访问点缓存在分层知识库中,规则从简单存储到基于程序计数器和调用上下文的匹配。动态分析阶段由知识库响应外设读取,集成的改造版 AFL 模糊测试器则提供数据寄存器输入。原型在 S2E 2.0 基础上增加了 Cortex-M 支持。

研究范围与作者

研究范围与局限

面向 ARM Cortex-M 固件;仓库将 DMA 及其他架构列为尚未支持、征求帮助的事项。响应只需通过固件自身的检查,而不必复现真实外设的取值,因此仿真成功不能证明与硬件等价。无效性检查可能漏掉未处理的错误路径,数据寄存器可能被错误分类(以芯片手册得出的真实标签衡量,43 个中漏掉 3 个),计数器为具体值但依赖符号的长循环也可能检测不到。在 P2IM 的 66 个单元测试上,正式论文报告无需人工协助即通过 63 个(95%),为每个失败样本添加一个无效程序点后全部通过。在 21 个真实固件样本中,6 个需要用户定义一个无效点,3 个需要人工补充一个数据寄存器。覆盖率沿用 P2IM 的做法,以 QEMU 翻译块数对比 IDA 统计的基本块数。

作者与引文

Automatic Firmware Emulation through Invalidity-guided Knowledge Inference

Wei Zhou; Le Guan; Peng Liu; Yuqing Zhang

BibTeX

5 个来源 · 复核于 

SoK:通过重托管实现嵌入式系统的安全分析

2021ACM 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 种。论文随后按各系统在每一层采用仿真、替换、符号建模、透传至硬件或保持不变的方式对既有工作分类,描述含保真度评估的迭代式重托管流程,并列出开放问题。

研究范围与作者

研究范围与局限

这是一项结合测量研究的系统化综述,并非新的重托管工具。测量基于硬件描述而非固件镜像:设备树覆盖基于 Linux 的(Type-1)系统,SVD 文件只涵盖 ARM Cortex 硬件,且只统计样本数不少于十个的架构或厂商。驱动源码行数被明确作为外设建模工作量的粗略近似,闭源驱动则按所属架构的平均值计。“手工编写的硬件仿真器难以扩展”这一结论依赖于这些近似指标以及 2021 年初的 QEMU 5.2 与 OVPsim。作者指出,重托管保真度缺乏正式定义,也没有大规模保真度评估,因此分类法只对各方法作定性比较;同期的另一篇综述对保真度有更详细的讨论。

作者与引文

SoK: Enabling Security Analyses of Embedded Systems via Rehosting

Andrew Fasano; Tiemoko Ballo; Marius Muench; Tim Leek; Alexander Bulekov; Brendan Dolan-Gavitt; Manuel Egele; Aurélien Francillon; Long Lu; Nick Gregory; Davide Balzarotti; William Robertson

BibTeX

6 个来源 · 复核于 

Conware:硬件外设的自动化建模

2021ACM ASIA CCS 2021会议论文

Conware 根据真实固件与外设交互的记录,构建可复用的硬件外设软件模型。一个 LLVM 编译遍对 Arduino 源码插桩,在真实开发板上记录 MMIO 读写和中断;也可改用已有的硬件在环记录方法。每份记录被转换为按外设划分的图,读取值以模式等简单子模型概括;这些图再经合并与优化形成自动机,可跨外设组合,并在基于 Avatar² 的仿真器中运行。作者在 Arduino Due(SAM3X Cortex-M3)上为十种外设建模,并仅用基于厂商示例代码训练的模型,仿真了一个未经插桩的智能门锁固件。

研究范围与作者

研究范围与局限

训练需要接好外设的真实开发板,以及供基于 LLVM 的记录器使用的源代码。评测覆盖带有十种爱好者常用外设的裸机 Arduino Due 固件,端口映射 I/O 系统不在范围内。模型只编码记录期间观察到的行为,假定状态迁移由 MMIO 写操作驱动,并把中断附在状态迁移上而非触发它的写操作上,因此不支持由读操作触发的迁移和精确的中断时序。针对未见固件的结果只有一个由六个外设模型组合而成的门锁程序:其 UART 输出与真实硬件一致,执行了从 loop() 可达的 609 个基本块中的 362 个(59%)和 68 个函数中的 58 个(85%);作者衡量的是执行能否持续,而非外设的完整保真度。由于重放是确定性的,记录与重放对比中每个样本只运行一次,每次 10 分钟。

作者与引文

Conware: Automated Modeling of Hardware Peripherals

Chad Spensky; Aravind Machiry; Nilo Redini; Colin Unger; Graham Foster; Evan Blasband; Hamed Okhravi; Christopher Kruegel; Giovanni Vigna

BibTeX

7 个来源 · 复核于 

Snipuzz:通过消息片段推断对物联网固件进行黑盒模糊测试

2021ACM CCS 2021会议已接收

Snipuzz 作为客户端与物联网设备通信,根据设备响应推断消息片段,以指导固件黑盒模糊测试中的消息变异。论文在 20 款真实物联网设备上进行了评估,并与四种物联网模糊测试方法比较。

研究范围与作者

研究范围与局限

评估涵盖 20 款流行的真实物联网设备,并与 IoTFuzzer、BooFuzz、Doona 和 Nemesys 比较。论文报告发现了 5 个新的零日漏洞,其中 3 个仅由 Snipuzz 发现。

作者与引文

Snipuzz: Black-box Fuzzing of IoT Firmware via Message Snippet Inference

Xiaotao Feng; Ruoxi Sun; Xiaogang Zhu; Minhui Xue; Sheng Wen; Dongxi Liu; Surya Nepal; Yang Xiang

BibTeX

1 个来源 · 复核于 

DICE:面向动态固件分析的 DMA 输入通道自动仿真

2021IEEE 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 个此前未知的缺陷。

研究范围与作者

研究范围与局限

仅仿真 DMA 输入通道;它不模拟外设行为、不恢复外设语义,也不构建精确的设备复刻,所提供的输入是分析器数据而非真实外设流量。它假定传输描述符写入 DMA 控制器寄存器,因此不支持存放在 RAM 中的描述符。仅需目的地址的配置(如 nRF52832 EasyDMA 等两种控制器型号)也无法识别,占 52 个流配置中的 7 个。缓冲区大小为启发式估计。真实标签来自数据手册与固件检查,结果仅覆盖作者的 83 个示例固件及 7 个模糊测试固件。缺陷是在七个模糊测试固件中的两个里、借助简单的内存检测器发现的。PIC32 原型只能运行其他外设可由简单默认寄存器处理器应付的固件。

作者与引文

DICE: Automatic Emulation of DMA Input Channels for Dynamic Firmware Analysis

Alejandro Mera; Bo Feng; Long Lu; Engin Kirda

BibTeX

7 个来源 · 复核于 

从库可移植性到辅助重宿主:在通用硬件上原生运行微控制器软件

2021Proceedings 2021 Network and Distributed System Security Symposium会议论文

论文通过基于 POSIX 的可移植微控制器模型和可替换的外设驱动,将微控制器软件迁移到通用硬件上原生运行并进行安全测试。

研究范围与作者

研究范围与局限

论文将九种微控制器操作系统迁移至通用硬件,包括 Amazon FreeRTOS、ARM Mbed OS、Zephyr 和 LiteOS。使用 AFL 和 ASAN 测试发现 28 个此前未知的漏洞;其中 5 个获得 CVE 编号,19 个在撰文时得到厂商确认。

作者与引文

From Library Portability to Para-rehosting: Natively Executing Microcontroller Software on Commodity Hardware

Wenqiang Li; Le Guan; Jingqiang Lin; Jiameng Shi; Fengjun Li

BibTeX

2 个来源 · 复核于 

FirmAE:面向动态分析的物联网固件大规模仿真

2020ACSAC 2020会议论文

在 Firmadyne 基础上,针对启动、网络、NVRAM、内核行为及其他运行失败加入经验性干预,使 Linux 路由器与 IP 摄像机固件的 Web 服务能够运行并接受动态分析。

研究范围与作者

研究范围与局限

仲裁式干预会有意改变执行过程,目标是运行 Web 界面,而非完整复现物理设备行为。评测覆盖路由器与 IP 摄像机的 ARM 小端、MIPS 小端及大端固件;启发式规则可能不适用于未见过的设备或配置。该方法复用固件二进制,并不恢复其源码。

作者与引文

FirmAE: Towards Large-Scale Emulation of IoT Firmware for Dynamic Analysis

Mingeun Kim; Dongkwan Kim; Eunsoo Kim; Suryeon Kim; Yeongjin Jang; Yongdae Kim

BibTeX

6 个来源 · 复核于 

HALucinator:通过抽象层仿真实现固件重托管

2020USENIX Security 2020会议论文

HALucinator 识别单体 ARM Cortex-M 固件中的硬件抽象库函数,并用人工编写的 Python 处理函数和外设模型替换它们,从而重托管固件。LibMatch 定位库接口;QEMU/Avatar2 实现支持交互式输入输出,与论文关联的 HAL-fuzz 变体则使用 AFL-Unicorn 进行模糊测试。

研究范围与作者

研究范围与局限

LibMatch 需要可获取的硬件抽象层或库,以及足够相似的编译环境;编译器差异与内联会限制匹配效果。重托管还需要 QEMU 支持的架构、固件内存布局、拦截地址及人工编写的处理函数和模型。未建模的直接硬件访问可能在读取时返回零、在写入时被忽略;简化的时序与外设行为不能证明硬件等价。作者的重托管与模糊测试演示不代表普遍覆盖所有固件、完整重建设备或恢复原始源代码。

作者与引文

HALucinator: Firmware Re-hosting Through Abstraction Layer Emulation

Abraham A Clements; Eric Gustafson; Tobias Scharnowski; Paul Grosen; David Fritz; Christopher Kruegel; Giovanni Vigna; Saurabh Bagchi; Mathias Payer

BibTeX

12 个来源 · 复核于 

基于 Linux 的物联网系统通信协议的人工逆向工程

2020arXiv预印本

提出一种针对嵌入式 Linux 物联网系统通信协议的人工逆向工程框架,并将其应用于多个系统,详细展示了 WeMo 智能插座的案例。

研究范围与作者

研究范围与局限

详细案例针对 WeMo 智能插座,包括从闪存提取固件、对固件进行静态和动态分析,以及分析网络流量。框架适用于只读和可写的嵌入式 Linux 文件系统。

作者与引文

On Manually Reverse Engineering Communication Protocols of Linux Based IoT Systems

Kaizheng Liu; Ming Yang; Zhen Ling; Huaiyu Yan; Yue Zhang; Xinwen Fu; Wei Zhao

BibTeX

1 个来源 · 复核于 

BaseSAFE:通过仿真实现基带净化模糊测试

2020Proceedings of the 13th ACM Conference on Security and Privacy in Wireless and Mobile Networks会议论文

BaseSAFE 将闭源蜂窝基带固件部分迁移到仿真环境中进行插桩模糊测试,并用净化分配器检测堆缓冲区溢出。

研究范围与作者

研究范围与局限

评估对象是基于 Nucleus RTOS 的联发科基带中可由伪基站触及的解析器,测试用例为 LTE 信令消息。测试发现了内存破坏问题,总吞吐量约为每秒 15,000 个测试用例。

作者与引文

BaseSAFE: Baseband SAnitized Fuzzing through Emulation

Dominik Maier; Lukas Seidel; Shinjo Park

BibTeX

2 个来源 · 复核于 

Frankenstein:利用高级无线模糊测试攻击新的蓝牙权限提升目标

2020USENIX Security 2020会议已接收

Frankenstein 仿真蓝牙固件转储,并对虚拟调制解调器进行模糊测试。论文评估了博通和赛普拉斯蓝牙协议栈,发现三个零点击漏洞、涉及主机的权限提升问题,以及 Android 上的 BlueFrag 漏洞。

研究范围与作者

研究范围与局限

评估范围包括博通和赛普拉斯蓝牙协议栈、Wi-Fi 与蓝牙共存机制、蓝牙 5.2 的链路密钥问题,以及 Android 设备。

作者与引文

Frankenstein: Advanced Wireless Fuzzing to Exploit New Bluetooth Escalation Targets

Jan Ruge; Jiska Classen; Francesco Gringoli; Matthias Hollick

BibTeX

1 个来源 · 复核于 

面向基于 Linux 的嵌入式固件的自动化动态分析

2016NDSS 2016会议论文

Firmadyne 对路由器、IP 摄像头等联网商用设备中基于 Linux 的固件进行爬取、提取与仿真。它以预先构建并插桩的小端 ARM 及小端、大端 MIPS 内核替换厂商内核,在 QEMU 全系统仿真中配合用户态 NVRAM 库启动提取出的文件系统,推断网络配置,再运行自动化分析,包括 60 个已知漏洞利用和 14 个新发现的漏洞利用。作者从 42 家厂商的 23,035 个固件映像中提取出 9,486 个,并报告在 1,971 个网络可达映像中有 887 个至少受一个所选漏洞利用影响。

研究范围与作者

研究范围与局限

该工作面向小端 ARM 及小端、大端 MIPS 上基于 Linux 的固件,这些平台占数据集的 90.8%;x86、VxWorks 及其他实时操作系统不在系统支持范围内。其预构建内核不加载厂商的树外内核模块,因此无法检查厂商内核及模块,插桩仿真也不等同于设备原有行为。仿真流程逐级大幅收窄:在初始仿真成功的 8,591 个映像中,2,797 个推断出网络配置,1,971 个能响应 ping。论文列出的原因包括 NVRAM 语义、网络接口命名,以及 ARM 平台仅仿真一个以太网设备等。系统不区分 WAN 与 LAN 端口,因此不能确认可否远程利用;结果按固件映像而非独立产品计数,并受厂商构成偏差影响。FirmAE 扩展了 Firmadyne 以解决此类仿真失败;这些 2016 年的比率并非当前的仿真数据。

作者与引文

Towards Automated Dynamic Analysis for Linux-based Embedded Firmware

Daming D. Chen; Manuel Egele; Maverick Woo; David Brumley

BibTeX

7 个来源 · 复核于 

大规模自动化动态固件分析:嵌入式 Web 界面案例研究

2015arXiv预印本

论文通过全系统仿真运行固件镜像,并结合静态与动态工具发现嵌入式 Web 界面的漏洞。研究评估了来自 54 家厂商的 1,925 个固件镜像,在其中 185 个镜像中发现漏洞。

研究范围与作者

研究范围与局限

研究范围是商用现成设备固件中的嵌入式 Web 界面和网络服务,设备包括路由器、调制解调器、VoIP 电话及 IP/CCTV 摄像头。其方法面向不同厂商、设备和架构。

作者与引文

Automated Dynamic Firmware Analysis at Scale: A Case Study on Embedded Web Interfaces

Andrei Costin; Apostolis Zarras; Aurélien Francillon

BibTeX

1 个来源 · 复核于 

Avatar:支持嵌入式系统固件动态安全分析的框架

2014NDSS 2014会议论文

Avatar 在插桩模拟器(基于 QEMU 的 S²E)中运行嵌入式固件,同时把内存映射 I/O 转发给真实设备,并将设备产生的中断注入回模拟器,使依赖无文档外设的固件仍可接受动态分析。框架经由 OpenOCD 通过 JTAG 访问设备,或通过串口上的小型调试桩访问。由于经 38400 波特串口转发每次访问非常缓慢(作者的一次测量中约为每秒五条指令),Avatar 还会把从不表现为 I/O 的内存保留在模拟器本地,将选定代码迁移到设备上原生运行,并在两者之间切换状态。结合 S²E 的选择性符号执行,作者检查了硬盘掩膜 ROM 引导程序中的隐藏命令、一个 IEEE 802.15.4 传感器节点中人为注入的溢出,以及一部 GSM 功能手机的短信解码例程。

研究范围与作者

研究范围与局限

Avatar 需要实体设备以及可用的调试通道或可注入的调试桩;它不对外设建模,因此不是独立的固件重托管。三个案例均为 ARM 设备(采用 ARM966 内核的硬盘、Redwire Econotag 与 Motorola C118 手机),每个案例都需人工选择挂钩点与代码区域。完全分离模式过慢,无法处理 DRAM 初始化等时间敏感代码;作者也指出,由 DMA 或迁移到设备上运行的代码修改的内存,难以与模拟器保持同步。传感器节点中的漏洞是人为插入演示程序的,引导程序研究确认的是已有文档的命令,而非发现后门;手机的 GSM 协议栈对符号执行而言过于复杂,在状态爆炸前探索了 42 个子程序,未发现可利用条件。这些是 2014 年的结果,所用 S²E 由作者扩展了 ARM 支持。

作者与引文

Avatar: A Framework to Support Dynamic Security Analysis of Embedded Systems’ Firmwares

Jonas Zaddach; Luca Bruno; Aurélien Francillon; Davide Balzarotti

BibTeX

6 个来源 · 复核于 

协议推断与分析

22 篇论文

通过深度迁移学习进行协议逆向工程

2026Proceedings of the ACM on Software Engineering / FSE 2026期刊论文

将 Tshark 标注的标准协议流量中的字段边界模式迁移到文档不足的目标协议。先选择相关源协议,再通过神经网络领域适应模型依据共享模式推断消息语法。

研究范围与作者

研究范围与局限

恢复的是消息语法,而非状态转换。评估采用 12 种协议变体;载荷噪声可能干扰源协议选择,加密、压缩或混淆流量需要另行预处理。摄像头实验补充格式指标,但四个报告问题为厂商已知问题,也不证明协议已完整恢复。

作者与引文

Protocol Reverse Engineering via Deep Transfer Learning

Yanyang Zhao; Zhengxiong Luo; Wenlong Zhang; Feifan Wu; Yuanliang Chen; Fuchen Ma; Qi Xu; Heyuan Shi; Yu Jiang

BibTeX

3 个来源 · 复核于 

RFCLLM:评估大语言模型对网络协议状态机的推理能力

2026Findings of EMNLP 2026会议已接收

以 16 种协议的 1,482 个问题评测协议状态机推理。四种上下文设置区分 RFC 检索与依据给定转换进行推理,任务涵盖后继状态、条件、前驱状态及路径。

研究范围与作者

研究范围与局限

评测的是推理,并非新的状态机提取器或实现重建方法。标准状态机由一名作者构建,三位作者仅在 50 个样例上核对判定器一致性。报文格式、错误处理、配置及真实代码映射不在范围内;结果受上下文、判定器及输出预算影响。

作者与引文

RFCLLM: Evaluating LLMs' Reasoning Ability of Network Protocol State Machines

Anqi Chen; Dan Goldwasser; Cristina Nita-Rotaru

BibTeX

3 个来源 · 复核于 

基于搜索优化从工业网络流量恢复过程变量

2026CCS 2026会议已接收

PVParser 根据工业流量与历史过程记录恢复过程变量布局:周期模式检测定位相关载荷,改进的蒙特卡洛树搜索推断字段边界、类型和字节序,再将解码序列与已观察的过程变量对齐。

研究范围与作者

研究范围与局限

载荷定位评测采用 SCADA-N、SWaT 与 WADI;字段及语义恢复评测采用 SWaT 与 WADI。恢复依赖流量和历史记录,以及重复出现、布局稳定的明文字节载荷;加密流量、位级总线及变量列表动态变化的事件消息不在范围内。该方法补充协议解析器。

作者与引文

Recovering Process Variables from Industrial Network Traffic via Search-Based Optimization

Chuan Sheng; Shan Jiang; Jianming Zhao; Yu Yao

BibTeX

3 个来源 · 复核于 

ICEPRE:基于数据驱动混合符号执行的工控协议逆向工程

2025Proceedings of the ACM on Software Engineering (ISSTA 2025)期刊论文

在二进制协议解析器中沿具体报文引导的路径分析,再进行符号化重放,提取字节级数据流以推断报文字段边界。它依据保持原值的运算和相似处理轨迹合并字节。作者在四种公开工控协议、每组 1,000 条报文的数据集上,报告平均边界 F1 分数为 0.76、字段完美分割率为 0.67。

研究范围与作者

研究范围与局限

恢复的是报文语法,并非字段语义、协议状态机或端点等价性。方法需要二进制、加载配置,以及正确识别的初始化、输入和解析函数;尤其在缺少符号时,仍需人工筛选。不支持加密协议和位级字段;被忽略或仅被复制的字节可能遭到错误合并。完美分割率衡量两端边界均正确的字段。量化实验使用四种公开协议的 50 条与 1,000 条报文集合;另行开展的专有协议研究覆盖五个固件目标中的三种协议,在三台设备上进行交互检查,并由人工建立真实标签。这些检查不能证明完整设备行为。

作者与引文

ICEPRE: ICS Protocol Reverse Engineering via Data-Driven Concolic Execution

Yibo Qu; Dongliang Fang; Zhen Wang; Jiaxing Cheng; Shuaizong Si; Yongle Chen; Limin Sun

BibTeX

12 个来源 · 复核于 

释放大语言模型潜力:从协议实现推断状态机

2025IWQoS 2025会议论文

ProtocolGPT 借助检索增强的大语言模型,从协议实现源码推断协议状态机。它先用正则表达式和代码过滤器提取与状态机相关的代码,再按语法感知方式切分,以 OpenAI 嵌入存入 FAISS 向量库,并逐步提示 GPT-4 恢复状态及由报文触发的迁移。在五个开源代码库中的六种协议(IKEv2、TLS 1.3、TLS 1.2、BGP、RTSP 与 L2TP)上,作者报告迁移精确率超过 90%,精确率比基线高 30% 以上、召回率高 55% 以上。以推断出的状态机为 AFLNet 生成种子后,覆盖率提升 20% 以上,并在一个 RTSP 服务器中发现两个此前未知的崩溃漏洞。

研究范围与作者

研究范围与局限

方法需要源码,不能仅依靠二进制或流量。每个实现都因具有明确定义的状态而入选,结果仅覆盖所评估的六种协议,其中两种共用 s2n-tls 代码库。真实标签由三名专家根据仓库代码人工构建;精确率与召回率只计算完全正确的迁移。RFCNLP 在 RTSP 上的精确率更高。结果依赖通过商业 API 调用、温度为 0.2 的 GPT-4,输出与成本可能变化。推断出的状态机是大语言模型的归纳,并非对实现行为或等价性的证明。模糊测试的提升来自 AFLNet 种子;BGP 由事件驱动的迁移限制了基于报文的覆盖率。两个崩溃漏洞均位于 feng RTSP 服务器中。

作者与引文

Unleashing the Power of LLM to Infer State Machine From the Protocol Implementation

Haiyang Wei; Ligeng Chen; Zhengjie Du; Yuhan Wu; Haohui Huang; Yue Liu; Guang Cheng; Fengyuan Xu; Linzhang Wang; Bing Mao

BibTeX

5 个来源 · 复核于 

BinPRE:增强基于二进制分析的协议逆向工程中的字段推断

2024ACM CCS 2024会议论文

根据受插桩监测的服务端二进制及输入报文,推断协议报文的字段边界与语义。BinPRE 按处理字节的指令操作符进行分组,使用检测器识别字段类型和功能,再借助相似报文细化结果。作者在八种协议、每种 50 条报文上报告平均字段完美分割率为 0.73,类型/功能推断的 F1 分数为 0.74/0.81。

研究范围与作者

研究范围与局限

研究对象是字段推断,不是恢复协议状态机或端点的完整行为。方法需要能够访问并插桩的实现及运行时的报文处理;仅有被动捕获数据并不足够。完美分割率统计被精确分割的字段占全部真实字段的比例,而非完整恢复的协议比例。检测器库覆盖五种语义类型与六种功能。字节级污点分析无法准确解析位标志,也不确立未执行行为。真实标签依据 Wireshark 解析器与协议规范构建;三种二进制分析基线由作者重新实现。报告的模糊测试改进属于下游评估,不是实现等价性的证明。

作者与引文

BinPRE: Enhancing Field Inference in Binary Analysis Based Protocol Reverse Engineering

Jiayi Jiang; Xiyuan Zhang; Chengcheng Wan; Haoyi Chen; Haiying Sun; Ting Su

BibTeX

14 个来源 · 复核于 

DynPRE:基于动态推断的协议逆向工程

2024NDSS 2024会议论文

DynPRE 以捕获的客户端—服务端流量为起点,再与在线协议服务端交互,推断报文格式与类型。它检测 Cookie 等会话特定标识符并实时改写,使重放的请求保持有效;随后发送字节级探测请求,以服务端响应作为字段识别的语义反馈,对响应进行对齐分析,并通过请求—响应映射细化格式,同时识别报文类型。作者在 12 种协议、规模分别为 10、100 与 1,000 条报文的数据集上,报告平均字段完美分割率为 0.50、报文类型 V-measure 为 0.94,而 Netzob、NetPlier、FieldHunter、BinaryInferno 与 NEMESYS 的完美分割率为 0.15–0.31。

研究范围与作者

研究范围与局限

该方法需要捕获流量以及可被反复查询的可达服务端,无法仅凭被动捕获流量工作。探测会改变服务端状态:每次探测都会新建会话,但具有全局状态的协议(如 IoT 设备的开关状态)仍可能降低反馈质量。在 1,000 条报文的数据集上,单次分析平均耗时 259 分钟,平均发起 50,344 次连接、交换约 398 万条报文,因此低速或限流的服务端会降低效率。在开源评测环境中,加密与认证机制均被关闭;IoT 案例研究中的加密流量则借助设备私钥解密。带校验和的协议需要额外的校验和逆向步骤,且仅在 ICMP 上演示。格式真实标签来自 tshark 解析器,报文类型则来自人工阅读协议文档。针对五台设备的 IoT 案例研究检验生成的报文能否触发设备行为,而非规范是否完整。状态机推断沿用已有方法,并未作为贡献加以评估。

作者与引文

DynPRE: Protocol Reverse Engineering via Dynamic Inference

Zhengxiong Luo; Kai Liang; Yanyang Zhao; Feifan Wu; Junze Yu; Heyuan Shi; Yu Jiang

BibTeX

5 个来源 · 复核于 

从网络协议实现提取精确格式规范及其安全应用

2023ACM CCS 2023会议论文

NetLifter 将可获取源码的 C 协议解析器静态转换为 BNF 风格的报文文法及报文字段之间的一阶逻辑约束。它分析经过标注的 LLVM 位码,结合抽象格式图、局部路径敏感分析、展开与重排序。所得字段边界、约束与名称可用于报文生成及解析器构建。

研究范围与作者

研究范围与局限

需要源码/LLVM 中间表示及报文缓冲区、长度标注,并非对闭源二进制或仅凭流量进行恢复。论文面向常见的自顶向下 C 解析器,不支持 C++、内联汇编及缺少源码的库。指针和循环分析仍有近似;可识别校验和字段,但部分校验和约束会被省略,实现中忽略的字段也可能遗漏。精确率/召回率在选定的十种协议上进行人工核对。报告的模糊测试采用每次三小时、重复二十次的实验,并绕过校验和检查。方法推断的是格式,而非协议状态机或实现等价性的证明。

作者与引文

Lifting Network Protocol Implementation to Precise Format Specification with Security Applications

Qingkai Shi; Junyang Shao; Yapeng Ye; Mingwei Zheng; Xiangyu Zhang

BibTeX

14 个来源 · 复核于 

通过受控静态循环分析将协议格式提取为状态机

2023arXiv预印本

论文通过将解析循环分析为状态机,从解析器代码中提取协议消息格式,并评估格式推断效果及所提取状态机在协议模糊测试中的应用。

研究范围与作者

研究范围与局限

分析对象是格式由带约束的正则表达式描述、并由有限状态机解析的协议。报告的结果包括五分钟内超过90%的准确率和召回率、模糊测试覆盖率提高20%至230%,以及多发现十个零日漏洞。

作者与引文

Extracting Protocol Format as State Machine via Controlled Static Loop Analysis

Qingkai Shi; Xiangzhe Xu; Xiangyu Zhang

BibTeX

1 个来源 · 复核于 

BinaryInferno:面向二进制报文格式字段推断的语义驱动方法

2023NDSS 2023会议论文

无需对可执行程序插桩,即可从静态报文样本推断部分二进制报文格式。专用检测器识别浮点数、时间戳、长度、熵边界和序列化模式,再通过基于图的集成步骤协调各自的描述。作者对十种协议的样本开展评估,在每组 1,000 条报文且不使用分析者先验的设置下,报告顶层字段边界的精确率为 0.69、召回率为 0.73、假阳性率为 0.04。

研究范围与作者

研究范围与局限

假设数据无错误、未经压缩或加密、按字节对齐,并推断起始偏移一致的共有字段或载荷区域。可选字段、联合类型字段及不支持的序列化模式仍未解决;样本多样性会影响结果。26 组封装载荷测试集依据已知真实报文类型预先分组,并非自动发现。真实标签合并了在整个样本中均保持常量的相邻字段;文中注明的平均值排除了没有推断结果的样本。BI+ 额外使用给定的字节序和捕获时间范围。这些是字段边界结果,不代表完整语义恢复、协议状态推断或行为等价。

作者与引文

BinaryInferno: A Semantic-Driven Approach to Field Inference for Binary Message Formats

Jared Chandler; Adam Wick; Kathleen Fisher

BibTeX

11 个来源 · 复核于 

越仔细观察,学到的越多:用于协议状态机学习的灰盒方法

2022ACM CCS 2022会议论文

StateInspector 将主动消息查询与运行时内存快照结合起来,学习协议的 Mealy 状态机,无需目标实现的源代码。它识别可能决定状态的堆内存位置,并通过污点分析与混合执行合并状态;作者在 TLS 1.2 和 WPA/2 实现上进行了评估。

研究范围与作者

研究范围与局限

假设协议可抽象为有限 Mealy 状态机、已知输入字母表能到达相关状态,且决定状态的内存位于堆上并可由初始化查询触及。状态合并依赖所配置的搜索深度与符号执行前瞻上限。缺失的输入或存储在其他位置的状态可能导致行为未被建模;测试驱动程序构造的错误消息、响应抽象方式和超时也可能产生误导性转移。学习出的模型与有界检查不能证明实现完全等价,也不恢复未知消息格式或重建应用源代码。

作者与引文

The Closer You Look, The More You Learn: A Grey-box Approach to Protocol State Machine Learning

Chris McMahon Stone; Sam L. Thomas; Mathy Vanhoef; James Henderson; Nicolas Bailluet; Tom Chothia

BibTeX

7 个来源 · 复核于 

基于自动机学习的蓝牙设备指纹识别与分析

2022Formal Methods in System Design期刊论文

通过主动自动机学习,为实体外设上的低功耗蓝牙(BLE)协议实现推断 Mealy 状态机模型。运行 SweynTooth 衍生固件的 nRF52840 中心设备发送抽象 BLE 输入,并以错误处理、重复查询和缓存应对丢包与不确定的响应。作者学习了六款设备的连接过程模型和其中三款的传统配对(legacy pairing)模型,并利用模型差异识别各设备的 SoC。

研究范围与作者

研究范围与局限

模型受所选抽象输入字母表限制,仅覆盖连接过程和传统配对;不推断报文格式,安全配对留待后续研究。等价性仅以每个状态少量的一致性测试近似检验,因此模型只是假设而非证明。其中一款 SoC 只能缩减输入字母表后学习,两款设备从已建立连接的状态开始学习,部分配对实验还需人工硬重置设备。所得指纹识别序列仅适用于受测 SoC。除一条会导致设备崩溃的输入序列外,作者未在学习所得模型中发现安全漏洞。

作者与引文

Fingerprinting and analysis of Bluetooth devices with automata learning

Andrea Pferscher; Bernhard K. Aichernig

BibTeX

9 个来源 · 复核于 

从协议规范文档中提取有限状态机以自动合成攻击

2022IEEE Symposium on Security and Privacy 2022会议已接收

从 RFC 文本中提取协议有限状态机,方法结合技术词表示学习、零样本文本映射和规则映射,并用提取的状态机合成攻击。

研究范围与作者

研究范围与局限

在 BGPv4、DCCP、LTP、PPTP、SCTP 和 TCP 六种协议的 RFC 上评估状态机提取,并以 TCP 和 DCCP 为攻击合成案例。

作者与引文

Automated Attack Synthesis by Extracting Finite State Machines from Protocol Specification Documents

Maria Leonor Pacheco; Max von Hippel; Ben Weintraub; Dan Goldwasser; Cristina Nita-Rotaru

BibTeX

1 个来源 · 复核于 

将不合规视为偏离行为:面向 4G LTE 蜂窝设备的自动化黑盒不合规检查器

2021ACM CCS 2021会议论文

DIKEUE 通过差分测试而非预先定义的安全属性,检查商用手机和调制解调器中 4G LTE 控制面(NAS 与 RRC)实现的不合规之处。其状态机推断模块借助 LearnLib 中的 TTT 主动自动机学习,经由面向 LTE 的适配器在改造后的 srsLTE 网络和 USRP B210 无线电上运行,并加入上下文检查器、查询缓存、不一致消解器以及无需重启的复位机制。随后,等价性检查器将两两学到的输入输出有限状态机编码给 nuXmv 模型检查器,枚举多样的偏离诱发输入序列,再由作者人工分析。

研究范围与作者

研究范围与局限

覆盖控制面的 NAS 与 RRC 流程,使用选定的输入字母表,查询长度最多为 12;会话管理、数据面协议和 5G 留待后续工作。学到的状态机只是假设,受 Wp 方法一致性测试和自定义终止条件的限制。作者列出了漏报来源,包括遗漏的报文谓词、被剪除的不可行序列、移除偏离迁移后断开的模型,以及以相同方式不合规的设备。研究发现覆盖基带来自五家厂商(高通、英特尔、联发科、海思与 Exynos)的 14 台设备:共 17 项偏离,其中 15 项为新发现,作者将其中 11 项归为可利用、3 项归为潜在互操作问题。偏离的甄别与攻击构造均为人工完成,结果不能代表其他设备、固件版本或网络的行为。

作者与引文

Noncompliance as Deviant Behavior: An Automated Black-box Noncompliance Checker for 4G LTE Cellular Devices

Syed Rafiul Hussain; Imtiaz Karim; Abdullah Al Ishtiaq; Omar Chowdhury; Elisa Bertino

BibTeX

6 个来源 · 复核于 

NetPlier:基于报文记录的概率网络协议逆向工程

2021NDSS 2021会议论文

通过多序列比对与概率式关键字段推断,按类型对网络报文聚类,并在十种协议上评测及开展后续格式与状态机分析。

研究范围与作者

研究范围与局限

需要未加密的报文记录,无法恢复从未出现的报文类型。较大的比对、亚字节关键字段及单向流量可能降低准确性。格式/有限状态机推断属于下游评测而非主要贡献;一个案例中的状态语义由人工标注。这些模型不能证明已完整重建应用/设备。

作者与引文

NetPlier: Probabilistic Network Protocol Reverse Engineering from Message Traces

Yapeng Ye; Zhuo Zhang; Fei Wang; Xiangyu Zhang; Dongyan Xu

BibTeX

6 个来源 · 复核于 

LibreCAN:自动化 CAN 报文翻译器

2019ACM CCS 2019会议论文

LibreCAN 在没有整车厂 DBC 翻译文件的情况下,根据在车辆 OBD-II 接口记录的流量逆向专有的 CAN 报文格式。阶段 0 扩展早期的 READ 算法,依据比特翻转行为提取候选信号边界;阶段 1 将提取出的信号与标准 OBD-II PID 及智能手机惯性测量数据做相关分析,识别运动学相关信号并估计其比例系数和偏移量;阶段 2 对驾驶者执行 53 个预定车身相关事件时记录的 CAN ID 进行过滤,为每个事件筛选候选 ID。

研究范围与作者

研究范围与局限

评测使用来自同一整车厂的四辆较新车辆,以作者获得的 DBC 文件作为真实标签,并由作者自行判断哪些 CAN 信号对应各参考信号;作者指出,由于整车厂未参与,评测带有一定主观性。阶段 0 提取了 DBC 中 51.6–62.4% 的信号,但提取结果中只有 21.0–36.4% 的边界正确,部分原因是正常驾驶很少覆盖较高的取值范围。使用提取出的边界时,阶段 1 的精确率为 61.1–78.1%,召回率为 25.6–57.3%;阶段 2 将候选数量减少十倍以上,精确率为 8.5–15.0%。只分析了可经 OBD-II 访问的总线,其他总线上的信号因此被遗漏。系统只读取流量,恢复的是部分翻译表,而非完整的 DBC 文件、ECU 逻辑或经过验证的注入能力。

作者与引文

LibreCAN: Automated CAN Message Translator

Mert D. Pesé; Troy Stacer; C. Andrés Campos; Eric Newberry; Dongyao Chen; Kang G. Shin

BibTeX

4 个来源 · 复核于 

无线协议自动逆向工程

201913th USENIX Workshop on Offensive Technologies (WOOT 19)会议论文

从解调后的物理层捕获数据推断专有无线协议的报文格式:先依据前导码和同步字对齐报文,再结合 RSSI 与专用引擎标注长度、地址、序列号和校验和字段,并可利用已知地址或字段位置等先验信息。

研究范围与作者

研究范围与局限

仅推断报文格式,即前导码、同步字、长度、地址、序列号和校验和;协议状态机推断以及开关位等载荷字段不在研究范围内。方法假设报文为紧凑的二进制格式,且每条报文只有一个前导码和同步字。准确率在 8 个生成协议上评测;3 份真实智能家居捕获(EnOcean、Homematic BidCoS 及 RWE Smarthome 使用的 eQ-3 协议)用于性能测试,作者也承认这是有限的测试集。

作者与引文

Automatic Wireless Protocol Reverse Engineering

Johannes Pohl; Andreas Noack

BibTeX

7 个来源 · 复核于 

NEMESYS:通过分析单条报文的内在结构逆向推断网络报文语法

201812th USENIX Workshop on Offensive Technologies (WOOT 18)会议论文

根据单条二进制协议报文内比特一致性的变化,推断近似字段边界,并提出格式匹配分数,将推断的分段结果与已知协议解析器进行比较。

研究范围与作者

研究范围与局限

需要明文载荷。评测覆盖 DNS、DHCP 和 NTP,并针对各协议调节参数。方法无法推断单字节字段;全零字段、字符序列和伪随机值可能导致误差。FMS 验证需要已知字段边界。输出是近似报文分段,不是字段语义、状态机或完整应用/设备行为。

作者与引文

NEMESYS: Network Message Syntax Reverse Engineering by Analysis of the Intrinsic Structure of Individual Messages

Stephan Kleber; Henning Kopp; Frank Kargl

BibTeX

5 个来源 · 复核于 

利用语义信息实现自动化协议逆向工程

2014ACM ASIA CCS 2014会议论文

从通信流量记录中推断未公开协议的词汇,即报文类型与格式。该方法利用报文中嵌入的上下文信息改进报文聚类和字段边界识别;HAL 记录列出的关键词为上下文聚类与语义序列比对。作者以为网络安全产品构建解析器与流量生成器作为研究动机,并与自行重新实现的 ASAP、Discoverer 和 ScriptGen 进行比较。前两位作者也是开源协议逆向框架 Netzob 的作者。

研究范围与作者

研究范围与局限

该方法以捕获的流量记录为起点,处理的是协议词汇,而非其语法或状态机;只有当观察到的报文中出现上下文信息时,这些线索才有帮助。基线结果来自作者对 ASAP、Discoverer 和 ScriptGen 的重新实现,而非原始工具。比较研究及其结果属于作者 2014 年的评测。Netzob 自 2014 年以来变化很大。

作者与引文

Towards Automated Protocol Reverse Engineering Using Semantic Information

Georges Bossert; Frédéric Guihéry; Guillaume Hiet

BibTeX

7 个来源 · 复核于 

Prospex:协议规范提取

2009IEEE S&P 2009会议论文

Prospex 从 Linux 服务端处理客户端会话时的执行轨迹推断报文格式与协议状态机。它利用动态污点分析把每个会话切分为报文并恢复其格式;再依据输入格式、执行过程及对服务端影响(如报文触发的系统调用、输出与文件路径)的相似度将报文聚类为不同类型。观察到的类型序列构成增广前缀树接受器,先由前置条件与结束状态启发式标注,再用 Exbar 求出一致的最小自动机。所得规范被转换供 Peach 模糊测试器使用,以到达协议的后续状态。评测覆盖 Agobot 命令与控制协议、Sendmail 上的 SMTP、Samba 上的 SMB 以及 Asterisk 上的 SIP。

研究范围与作者

研究范围与局限

Prospex 只跟踪服务端一侧,其污点工具仅在 Linux 上运行,因此只分析了 Linux 服务端二进制。它无法处理加密流量:在 31,903 个 Postfix 会话中,推断的 SMTP 规范无法解析的 6.5% 均为 TLS 会话。训练集规模较小(例如 16 个 SMTP 会话、31 个 SMB 会话),推断出的状态机只覆盖训练中出现过的行为;两个 SMB 状态是训练数据多样性不足造成的伪状态,SMB 相对参考自动机的召回率为 0.58。参考状态机由作者手工构建,可靠性检验对每种协议进行 50,000 次随机游走;sk-strings 与 beams 基线是状态机学习算法,并非完整的协议逆向系统。模糊测试案例发现的是旧版 Samba 与 Asterisk 中已知的问题,而非所测最新 Samba 或 Windows XP SMB 实现中的新漏洞。

作者与引文

Prospex: Protocol Specification Extraction

Paolo Milani Comparetti; Gilbert Wondracek; Christopher Kruegel; Engin Kirda

BibTeX

4 个来源 · 复核于 

Tupni:输入格式的自动逆向工程

2008ACM CCS 2008会议论文

Tupni 利用字节级动态污点跟踪,从 x86 程序解析单个输入时的执行轨迹推断输入格式。它依据处理污点字节的指令把输入切分为字段,从解析循环中找出记录序列,按处理代码将记录归为不同记录类型,并输出带有长度、取值及部分跨报文约束的增强 BNF 文法。多个输入得到的文法可以合并为更完整的规范。评测覆盖五种文件格式(WMF、BMP、JPG、PNG、TIF)和五种网络协议(DNS、RPC、TFTP、HTTP、FTP),并将输出用于 ShieldGen 的零日漏洞签名生成。

研究范围与作者

研究范围与局限

Tupni 需要解析程序以及每个输入对应的已记录执行轨迹,不能仅凭捕获的流量或文件工作。原型将 iDNA 轨迹与重新实现的 Vigilante 污点引擎结合,轨迹来自 Windows XP SP2 上的二进制,例如 gdi32.dll、gdiplus.dll、nslookup.exe 及 IIS 组件。单输入准确性评测每种格式只用一个输入,由作者对照公开规范判定;WMF、DNS 与 HTTP 用于指导设计,压缩图像数据被跳过,只分析容器结构;由于早期工具不可获得,未运行定量基线。所有记录序列均被识别,但存在部分误报序列;PNG 的 1,551 个字段中有 889 个识别错误,原因是程序忽略了重复数据块的内容。覆盖范围取决于输入的多样性,约束可能只适用于样本;字节级污点难以处理与字节边界不对齐的字段(包括许多加密或压缩格式),超出正则表达式描述能力的格式也不在适用范围内。跨报文约束只在 TFTP 上评估,多输入聚合只在 150 个 WMF 文件上评估。

作者与引文

Tupni: Automatic Reverse Engineering of Input Formats

Weidong Cui; Marcus Peinado; Karl Chen; Helen J. Wang; Luis Irun-Briz

BibTeX

6 个来源 · 复核于 

Polyglot:基于动态二进制分析的协议报文格式自动提取

2007ACM CCS 2007会议论文

Polyglot 通过监测程序二进制如何处理接收到的报文来推断其格式,作者称这一方法为“影随”(shadowing)。执行监控器对网络输入施加污点标记并记录指令轨迹;离线分析再依据受污点数据参与的内存访问与循环条件识别长度字段、指针字段等指向字段,依据受污点字节与常量之间的比较识别分隔符,依据指令如何组合输入字节识别多字节定长字段,并依据成功的比较提取协议关键字。该方法适用于剥离符号的 IA-32 二进制,无需源码或调试信息。

研究范围与作者

研究范围与局限

方法每次提取一条接收报文的格式,且只覆盖提供给分析的报文;从未出现的报文仍然未知,程序发送的报文也不在分析范围内。它不推断协议状态机。评测覆盖 11 个 2007 年前后的程序,实现 DNS、HTTP、IRC、ICQ 与 Samba 五种协议,以 Windows 服务端为主,另含一个 ICQ 客户端和一个 Linux 上的 Samba 服务端;每种协议选取一条代表性报文,并与 Wireshark 0.99.5 的解析器对比。字段格式不包括数据类型与编码;分析以字节为粒度,因此会遗漏不足一字节的标志位;字段语义仅限于指向字段,不识别时间戳、校验和或地址。报文边界依赖同步协议这一假设;ICQ 长度字段之后未使用的定长字段被并入了变长字段。作者也说明这些技术尚不能完全抵御混淆。

作者与引文

Polyglot: Automatic Extraction of Protocol Message Format using Dynamic Binary Analysis

Juan Caballero; Heng Yin; Zhenkai Liang; Dawn Song

BibTeX

4 个来源 · 复核于 

↑↓ 移动↵ 打开⌘↵ 新标签页