Publication Details
Design of an Automatically Generated Retargetable Decompiler
Křoustek Jakub, Ing., Ph.D.
Zemek Petr, Ing., Ph.D.
Kolář Dušan, doc. Dr. Ing. (DIFS)
Hruška Tomáš, prof. Ing., CSc. (DIFS)
Masařík Karel, Ing., Ph.D. (CM-SDE)
Meduna Alexandr, prof. RNDr., CSc. (DIFS)
decompilation, reverse engineering, malware, LLVM, Lissom, ISAC
Accurate program decompilation is one of the most difficult tasks of reverse engineering. Currently, there exist several single-purpose decompilers targeted on a particular platform (e.g. Intel x86 architecture and Microsoft Windows OS) and on a particular language. These tools are always hand-written by the author from scratch. This paper presents a concept of a retargetable reverse compiler (i.e. a decompiler). This tool translates platform-specific binary applications into a high-level language (HLL) representation. A Python-like language was chosen as the target language, but the decompiler can be easily extended to other target languages. Our unique solution is automatically generated from the target platform description. It exploits the architecture description language ISAC for describing the target platform and the LLVM Compiler System as the core of the decompiler. The proof of our concept is presented on a Sony PlayStation Portable (PSP) handheld game console. As can be seen from the experimental results, we are able to automatically generate a decompiler producing a highly readable HLL code for this platform while preserving the functional equivalency with the original application.
@inproceedings{BUT76351,
author="Lukáš {Ďurfina} and Jakub {Křoustek} and Petr {Zemek} and Dušan {Kolář} and Tomáš {Hruška} and Karel {Masařík} and Alexandr {Meduna}",
title="Design of an Automatically Generated Retargetable Decompiler",
booktitle="2nd European Conference of COMPUTER SCIENCE (ECCS'11)",
year="2011",
pages="199--204",
publisher="North Atlantic University Union",
address="Puerto De La Cruz, Tenerife",
isbn="978-1-61804-056-5"
}