Formally verified lifting of C-compiled x86-64 binaries
Freek Verbeek, Joshua A. Bockenek, Zhoulai Fu, Binoy Ravindran
Abstract
Lifting binaries to a higher-level representation is an essential step for decompilation, binary verification, patching and security analysis. In this paper, we present the first approach to provably overapproximative x86-64 binary lifting. A stripped binary is verified for certain sanity properties such as return address integrity and calling convention adherence. Establishing these properties allows the binary to be lifted to a representation that contains an overapproximation of all possible execution paths of the binary. The lifted representation contains disassembled instructions, reconstructed control flow, invariants and proof obligations that are sufficient to prove the sanity properties as well as correctness of the lifted representation. We apply this approach to Linux Foundation and Intel’s Xen Hypervisor covering about 400K instructions. This demonstrates our approach is the first approach to provably overapproximative binary lifting scalable to commercial off-the-shelf systems. The lifted representation is exportable to the Isabelle/HOL theorem prover, allowing formal verification of its correctness. If our technique succeeds and the proofs obligations are proven true, then – under the generated assumptions – the lifted representation is correct.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Cited by top-tier papers9
- Plankton: Reconciling Binary Code and Debug InformationAnshunkang Zhou, Chengfeng Ye, Heqing Huang, Yuandao Cai et al.ASPLOS 2024 · 11 citations
- Verifiably Correct Lifting of Position-Independent x86-64 Binaries to Symbolized AssemblyFreek Verbeek, Nico Naus, Binoy RavindranCCS 2024 · 4 citations
- CF-GKAT: Efficient Validation of Control-Flow TransformationsCheng Zhang, Tobias Kappé, David E. Narváez, Nico NausPOPL 2025 · 3 citations
- Translation Validation for LLVM's AArch64 BackendRyan Berger, Mitch Briles, Nader Boushehrinejad Moradi, Nicholas Coughlin et al.OOPSLA 2025 · 3 citations
- Formally Verified Binary-Level Pointer AnalysisFreek Verbeek, Ali Shokri, Daniel Engel, Binoy RavindranICSE 2025 · 1 citation
Builds on3
- Ramblr: Making Reassembly Great AgainRuoyu Wang, Yan Shoshitaishvili, Antonio Bianchi, Aravind Machiry et al.NDSS 2017 · 155 citations
- Binary rewriting without control flow recoveryGregory J. Duck, Xiang Gao, Abhik RoychoudhuryPLDI 2020 · 77 citations
- Binsec/Rel: Efficient Relational Symbolic Execution for Constant-Time at Binary-LevelLesly-Ann Daniel, Sébastien Bardin, Tamara RezkS&P 2020 · 76 citations
Related papers
- Bridging the Gap between Real-World and Formal Binary Lifting through Filtered-SimulationJihee Park, Insu Yun, Sukyoung RyuOOPSLA 2025 · 2 citations
- Scalable validation of binary liftersSandeep Dasgupta, Sushant Dinesh, Deepan Venkatesh, Vikram S. Adve et al.PLDI 2020 · 29 citations
- Lifting Optimized Binaries to Canonical Compiler IR via Structure-Aware Retrieval and Iterative VerificationXiaoao Zhu, Jie Ren, Zhiqiang Li, Jie Zheng et al.ACL 2026
- SoK: Demystifying Binary Lifters Through the Lens of Downstream ApplicationsZhibo Liu, Yuanyuan Yuan, Shuai Wang, Yuyan BaoS&P 2022 · 29 citations
- From Similarity Ranking to Definitive Verdict: LLM-Enhanced Source-to-Binary Function LocalizationJingyi Shi, Chengyue Liu, Zhengzi Xu, Yang Xiao et al.OOPSLA 2026
