30 Years of Decompilation and the Unsolved Structuring Problem: Part 1
As 2024 begins, I’ve taken a moment to think about the last year(s) of decompilation research, since I spent most of my 2023 working on decompilation. I’ve largely spent that time working on a fundamental area of decompilation research called control flow structuring. Although I find this area critical to decompilation, I realize most security people have only heard of it in passing. With that in mind, I wanted to take a moment to recap the (short) history of binary decompilation and structuring, loosely based on my Ohio State talk on the same topic. I also mix in some of my advisor’s, Dr. Fish Wang, NDSS talk. To clarify, this post will be about binary decompilation, or decompilation on programs produced by compiled languages like C, C++, Rust, and Go. I will focus on the history of decompilation as preliminary information needed to understand the control flow structuring. Luckily (or unluckily?), decompilation as a research area has a relatively small history, even considering non-ac
30 Years of Decompilation and the Unsolved Structuring Problem: Part 1 30 Years of Decompilation and the Unsolved Structuring Problem: Part 1 TL;DR A two-part series on the history of decompiler research and the fight against the unsolved control flow structuring problem. In part 1, we revisit the history of foundational decompilers and techniques, concluding on a look at modern works. In part 2, we deep-dive into the fundamentals of modern control flow structuring techniques, and their limitations, and look to the future. Retrospection As 2024 begins, I’ve taken a moment to think about the la
Explore this link on the map →saved by
related reading
- NYSRGnotes.ekzhang.com
- Computers can be understood - Made of Bugsblog.nelhage.com
- how I think when I think about programming - alice mazalicemaz.com
- claude-cycles.dviwww-cs-faculty.stanford.edu
- The Lost Art of Structure Packingcatb.org
- How Compiler Explorer Works in 2025 — Matt Godbolt’s blogxania.org
- [1912.05036] RVSDG: An Intermediate Representation for Optimizing Compilersarxiv.org
- Google's Fully Homomorphic Encryption Compiler — A Primer || Math ∩ Programmingjeremykun.com
- rezmason.net - Projectsrezmason.net
- CSC 151 - Decompositioneikmeier.sites.grinnell.edu
- Ghidra Is Best: Android Reverse Engineering | REMY HAXremyhax.xyz
- rars in Rust, brobitplane.net