Evolving Exact Decompilation

Eric Schulte, Jason Ruchti, Matt Noonan, David Ciarletta, Alexey A. Loginov · 2018

We introduce a novel technique for C decompilation that provides the correctness guarantees and readability properties essential for accurate and efficient binary analysis.Given a binary executable, an evolutionary search seeks a combination of source code excerpts from a "big code" database that can be recompiled to an executable that is byte-equivalent to the original binary.Byte-equivalence ensures that a successful decompilation fully reproduces the behavior, both intended and unintended, of the original binary.Moreover, the decompiled source is typically more readable than source obtained with existing decompilers, since it is generated from human-written source code excerpts.We present experimental results demonstrating the promise of this novel, general, and powerful approach to decompilation.

Read the paper · More papers on PaperTik