No Bit Left Behind: Using Brute-Force Lifting to Achieve Fully Static Binary Recompilation

📅 2026-09-14
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
本文提出了一种完全静态的二进制重编译系统,通过暴力提升整个二进制文件来解决控制流图恢复问题,实现了从x86-64到AArch64的全自动跨架构迁移。
📝 Abstract
Binary recompilation is a technique for operating directly on executable code. It promises to automate two important tasks: retrofitting security mitigations onto legacy binaries, and migrating binaries across instruction set architectures (ISAs). Yet today, there is no fully automated system that can reliably lift arbitrary binary executables to a compiler intermediate representation (IR) such as LLVM IR, or that can fully statically and reliably translate non-trivial binary executables from one ISA to another. The main underlying problem is that recovering a program's control flow graph (CFG) statically is impossible in general: computed branches can jump to targets that cannot be determined without actually running the program. Existing systems resort to runtime fallback mechanisms, requiring a significant portion of the binary translation machinery to accompany the translated program on the target machine. This article presents a fully static, whole-program binary lifting system requiring no runtime translation support on the target. Rather than attempting to distinguish code from data, we treat every byte offset as a potential branch target and lift the entire binary in a brute-force manner, constructing a superset CFG that conservatively contains all feasible control flows. Statically unresolvable computed branches are thereby reduced to lookups in a dispatch table that points to the corresponding translated control flow path. We have implemented this approach as a prototype binary recompiler from x86-64 binaries to LLVM IR, requiring no code/data heuristics. We validate it with a fully static cross-compilation to AArch64, achieved by reusing existing LLVM backends with no modification.
Problem

Research questions and friction points this paper is trying to address.

binary recompilation
control flow graph
static analysis
instruction set architecture
computed branches
Innovation

Methods, ideas, or system contributions that make the work stand out.

Fully Static
Brute-Force Lifting
Control Flow Graph Superset
Cross-ISA Translation
No Runtime Support
T
Tianjiao Huang
University of California, Irvine, USA
P
Po-An Chen
University of California, Irvine, USA
N
Nick Baron
University of California, Irvine, USA
M
Michael Franz
University of California, Irvine, USA