Reverse engineering tools remain monolithic and imperative compared to the advancement of modern compiler architectures: analyses are tied to a single mutable representation, making them difficult to extend or refine, and forcing premature choices between soundness and precision. We observe that decompilation is the reverse of compilation and can be structured as a sequence of modular passes, each performing a granular and clearly defined interpretation of the binary at a progressively higher level of abstraction. We formalize this as provenance-guided superset decompilation (PGSD), a framework that monotonically derives facts about the binary into a relation store. Instead of committing early to a single interpretation, the pipeline retains ambiguous interpretations as parallel candidates with provenance, deferring resolution until the final selection phase. Manifold implements PGSD as a declarative reverse engineering framework that lifts Linux ELF binaries to C99 through a granular intermediate representation in ~35K lines of Rust and Datalog. On GNU coreutils, Manifold's output quality matches Ghidra, IDA Pro, angr, and RetDec on multiple metrics while producing fewer compiler errors, and generalizes across compilers and optimization levels.


翻译:逆向工程工具相较于现代编译器架构的进步仍显单一且命令式:其分析过程绑定于单一可变表示,难以扩展或精炼,并迫使开发者在准确性与精确性之间过早做出取舍。我们观察到反编译是编译的逆向过程,可以构建为一系列模块化传递,每个传递对二进制文件执行颗粒度明确、层次渐高的解释。我们将其形式化为基于溯源的超集反编译(PGSD),该框架单调地将关于二进制文件的事实推导至关系存储中。该管道不会过早承诺单一解释,而是以并列候选方案的形式保留歧义解释及其溯源,直至最终选择阶段才解决歧义。Manifold 将 PGSD 实现为一个声明式逆向工程框架,通过约 35,000 行 Rust 和 Datalog 代码中的颗粒化中间表示,将 Linux ELF 二进制文件提升为 C99 代码。在 GNU coreutils 上,Manifold 的输出质量在多个指标上与 Ghidra、IDA Pro、angr 和 RetDec 相当,同时产生更少的编译错误,并且能够跨编译器和优化级别通用。

0
下载
关闭预览

相关内容

编译器(Compiler),是一种计算机程序,它会将用某种编程语言写成的源代码(原始语言),转换成另一种编程语言(目标语言)。
【博士论文】⾮⾃回归神经机器翻译的训练⽅法研究
专知会员服务
19+阅读 · 2023年12月9日
EMNLP 2021 | 学习改写非自回归机器翻译的翻译结果
专知会员服务
16+阅读 · 2021年12月25日
【CVPR2021】反事实的零次和开集识别
专知会员服务
27+阅读 · 2021年5月7日
最新《生成式对抗网络GAN逆转》综述论文,22页pdf
专知会员服务
40+阅读 · 2021年1月19日
【2020新书】操作反模式: DevOps解决方案, 322页pdf
专知会员服务
36+阅读 · 2020年11月8日
一文搞懂反向传播
机器学习与推荐算法
18+阅读 · 2020年3月12日
赛尔笔记 | 条件变分自编码器(CVAE)
AINLP
28+阅读 · 2019年11月8日
【翻译技术速递】测评:免费的术语抽取工具
翻译技术沙龙
139+阅读 · 2019年11月2日
综述:基于GAN的图像翻译模型盘点
PaperWeekly
13+阅读 · 2019年9月2日
百闻不如一码!手把手教你用Python搭一个Transformer
大数据文摘
18+阅读 · 2019年4月22日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
VIP会员
最新内容
AutoScientists:自组织智能体团队驱动长期科学实验
战略前沿人工智能的再思考(中文)
专知会员服务
3+阅读 · 今天14:53
《量化地基防空系统间接效应的博弈论方法》
专知会员服务
3+阅读 · 今天14:51
“史诗怒火行动”中美军损失的作战飞机
专知会员服务
2+阅读 · 今天14:38
ICML 2026 | 理解上下文持续学习中的泛化与遗忘
专知会员服务
5+阅读 · 5月28日
Agent Harness综述:大模型智能体执行器工程全景
专知会员服务
13+阅读 · 5月28日
《基于理论的威慑效能评估》
专知会员服务
8+阅读 · 5月28日
相关资讯
一文搞懂反向传播
机器学习与推荐算法
18+阅读 · 2020年3月12日
赛尔笔记 | 条件变分自编码器(CVAE)
AINLP
28+阅读 · 2019年11月8日
【翻译技术速递】测评:免费的术语抽取工具
翻译技术沙龙
139+阅读 · 2019年11月2日
综述:基于GAN的图像翻译模型盘点
PaperWeekly
13+阅读 · 2019年9月2日
百闻不如一码!手把手教你用Python搭一个Transformer
大数据文摘
18+阅读 · 2019年4月22日
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员