Publication Date
2019
Document Type
Thesis
Committee Members
Meilin Liu (Advisor), Junjie Zhang (Committee Member), Krishnaprasad Thirunarayan (Committee Member), Adam R. Bryant (Committee Member)
Degree Name
Master of Science in Computer Engineering (MSCE)
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. The result code generated by our decompiler framework is compared with the sample source code to verify the correctness of the decompiler framework.
Page Count
78
Department or Program
Department of Computer Science and Engineering
Year Degree Awarded
2019
Copyright
Copyright 2019, all rights reserved. My ETD will be available under the "Fair Use" terms of copyright law.