Masters Thesis Defense “LLVM-IR based Decompilation” By Ilsoo Jeon
Committee: Drs. Meilin Liu, Advisor, Junjie Zhang, TK Prasad, and Adam Bryant (The Design Knowledge Company)
ABSTRACT:
Decompilation is a process of transforming an executable program into a source-like high-level language code, which plays an important role in malware analysis, and vulnerability detection. In this thesis, we design and implement the middle end of a decompiler framework, focusing on Low Level Language properties reduction using the optimization techniques, propagation and elimination. An open-source software tool, dagger, is used to translate binary code to LLVM (Low Level Virtual Machine) Intermediate Representation code. We perform data flow analysis and control flow analysis on the LLVM format code to generate high-level code using a Functional Programming Langauge (FPL), Haskell. Multiple test cases are used to verify the correctness of our decompiler framework.