Sound C Code Decompilation for a Subset of x86-64 Binaries

4Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We present FoxDec: an approach to C code decompilation that aims at producing sound and recompilable code. Formal methods are used during three phases of the decompilation process: control flow recovery, symbolic execution, and variable analysis. The use of formal methods minimizes the trusted code base and ensures soundness: the extracted C code behaves the same as the original binary. Soundness and recompilablity enable C code decompilation to be used in the contexts of binary patching, binary porting, binary analysis and binary improvement, with confidence that the recompiled code’s behavior is consistent with the original program. We demonstrate that FoxDec can be used to improve execution speed by recompiling a binary with different compiler options, to patch a memory leak with a code transformation tool, and to port a binary to a different architecture. FoxDec can also be leveraged to port a binary to run as a unikernel, a minimal and secure virtual machine usually requiring source access for porting.

Cite

CITATION STYLE

APA

Verbeek, F., Olivier, P., & Ravindran, B. (2020). Sound C Code Decompilation for a Subset of x86-64 Binaries. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 12310 LNCS, pp. 247–264). Springer Science and Business Media Deutschland GmbH. https://doi.org/10.1007/978-3-030-58768-0_14

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free