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"
}