Hasty Briefsbeta

Bilingual

30 Years of Decompilation and the Unsolved Structuring Problem: Part 1 (2024)

2 days ago
  • #decompilation
  • #reverse-engineering
  • #control-flow-structuring
  • The article discusses the history and challenges of decompilation, focusing on control flow structuring.
  • Dr. Cristina Cifuentes' 1994 dissertation is credited as foundational work in decompilation.
  • Control flow structuring converts disassembled programs (CFGs) into high-level language structures like if-then-else and loops.
  • Early decompilers like dcc produced rudimentary but functional code, often overusing while loops.
  • Three fundamental pillars of decompilation identified: CFG recovery & lifting, variable recovery, and control flow structuring.
  • IDA Pro and Reko are notable decompilers that emerged post-Cifuentes, following similar structuring principles.
  • Academic interest in decompilation resurfaced in 2011 with papers like 'TIE' and 'Phoenix'.
  • Despite its importance, decompilation research has been slow, with only a few papers published in top security conferences.
  • Open-source decompilers like Ghidra have recently made decompilation more accessible to researchers.
  • The article hints at future discussions on modern control flow structuring techniques and their limitations in Part 2.