paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Egalito

Egalito:面向二进制的重编译器
ASPLOS Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems2020匹配度 3/10 · Egalito 属于二进制反汇编、重编译与静态程序分析基础设施,与用户关注的 PL/静态分析方向有间接关联;但它不涉及 LLM/Agent、浮点程序分析、贝叶斯程序分析,也不属于 PL↔AI 交叉问题,因此与核心研究画像匹配度较低。引用 67 inbox
David Williams-King, Hidenori Kobayashi, Kent Williams-King, Graham Patterson, Frank Spano, Yu Jian Wu, Junfeng Yang, Vasileios P. Kemerlis
crossref: 2026-09-12

AI 速览

一句话:Egalito 利用 stripped x86_64/ARM64 二进制元数据实现完整反汇编与无布局约束的二进制重编译。

全面分析可执行代码并快速进行变换,往往需要直接在二进制上操作,以支持性能剖析、安全加固和体系结构适配;但反汇编困难,已有工作依赖进程虚拟机动态翻译或低效的二进制补丁。Egalito 重编译器利用当前 stripped x86_64 与 ARM64 二进制中已有的元数据生成完整反汇编,并允许任意修改,不受原二进制布局约束。它采用布局无关的中间表示,低层到足以可预测地重新生成代码,同时支持双层高层表示以进行复杂分析。作者实现了九种二进制工具,包括 Egalito 自变换的连续代码随机化,以及用软件模拟未来硬件中的控制流完整性。评估在大量 Debian 包上进行,对 867 个可执行文件和库中的 99.9% 完成完整分析,149 个适用 Debian 包多数通过全部测试;在 SPEC CPU 2006 上,二进制优化还带来 1.7% 的性能加速。

问题
如何直接在 stripped 二进制上进行全面分析和快速变换,避免传统反汇编困难以及动态翻译或低效补丁的局限。
方法
提出 Egalito 重编译器,利用二进制现有元数据生成完整反汇编,使用布局无关 IR 与双层高层表示,支持不受原布局约束的任意修改和代码再生。
评估
在 867 个 Debian 可执行文件和库上完整分析 99.9%,149 个适用包多数通过测试;实现九种二进制工具,并在 SPEC CPU 2006 上取得 1.7% 加速。
原文摘要(Abstract)

For comprehensive analysis of all executable code, and fast turn-around time for transformations, it is essential to operate directly on binaries to enable profiling, security hardening, and architectural adaptation. Disassembling binaries is difficult, and prior work relies on a process virtual machine to translate references on the fly or inefficient binary code patching. Our Egalito recompiler leverages metadata present in current stripped x86_64 and ARM64 binaries to generate a complete disassembly, and allows arbitrary modifications that may affect program layout without any constraints from the original binary. We utilize our own layout-agnostic intermediate representation, which is low-level enough to make the regeneration of output code predictable, yet supports a dual high-level representation for sophisticated analysis. We demonstrate nine binary tools including a novel continuous code randomization technique where Egalito transforms itself, and software emulation of the control-flow integrity in upcoming hardware. We evaluated Egalito on a large set of Debian packages, completely analyzing 99.9% of a selection of 867 executables and libraries; a majority of 149 applicable Debian packages pass all tests under Egalito. On SPEC CPU 2006, thanks to our binary optimizations, Egalito actually observes a 1.7% performance speedup.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot5428,
  title = {Egalito},
  author = {David Williams-King and Hidenori Kobayashi and Kent Williams-King and Graham Patterson and Frank Spano and Yu Jian Wu and Junfeng Yang and Vasileios P. Kemerlis},
  booktitle = {ASPLOS},
  year = {2020},
  doi = {10.1145/3373376.3378470}
}