A New Approach to Instruction-Idioms Detection in a Retargetable Decompiler
Computer Science and Information Systems, Tome 11 (2014) no. 4.

Voir la notice de l'article provenant de la source Computer Science and Information Systems website

Retargetable executable-code decompilation is a one of the most complicated reverse-engineering tasks. Among others, it involves de-optimization of compiler-optimized code. One type of such an optimization is usage of so-called instruction idioms. These idioms are used to produce faster or even smaller executable files. On the other hand, decompilation of instruction idioms without any advanced analysis produces almost unreadable high-level language code that may confuse the user of the decompiler. In this paper, we revisit and extend the previous approach of instruction-idioms detection used in a retargetable decompiler developed within the Lissom project. The previous approach was based on detection of instruction idioms in a very-early phase of decompilation (a front-end part) and it was inaccurate for architectures with a complex instruction set (e.g. Intel x86). The novel approach is based on delaying detection of idioms and reconstruction of code to the later phase (a middleend part). For this purpose, we use the LLVM optimizer and we implement this analysis as a new pass in this tool. According to experimental results, this new approach significantly outperforms the previous approach as well as the other commercial solutions.
Keywords: compiler optimizations, reverse engineering, decompiler, Lissom, instruction idioms, LLVM, LLVM IR
@article{CSIS_2014_11_4_a8,
     author = {Jakub K\v{r}oustek and Fridol{\'\i}n Pokorn\'y and Du\v{s}an Kol\'a\v{r}},
     title = {A {New} {Approach} to {Instruction-Idioms} {Detection} in a {Retargetable} {Decompiler}},
     journal = {Computer Science and Information Systems},
     publisher = {mathdoc},
     volume = {11},
     number = {4},
     year = {2014},
     url = {http://geodesic.mathdoc.fr/item/CSIS_2014_11_4_a8/}
}
TY  - JOUR
AU  - Jakub Křoustek
AU  - Fridolín Pokorný
AU  - Dušan Kolář
TI  - A New Approach to Instruction-Idioms Detection in a Retargetable Decompiler
JO  - Computer Science and Information Systems
PY  - 2014
VL  - 11
IS  - 4
PB  - mathdoc
UR  - http://geodesic.mathdoc.fr/item/CSIS_2014_11_4_a8/
ID  - CSIS_2014_11_4_a8
ER  - 
%0 Journal Article
%A Jakub Křoustek
%A Fridolín Pokorný
%A Dušan Kolář
%T A New Approach to Instruction-Idioms Detection in a Retargetable Decompiler
%J Computer Science and Information Systems
%D 2014
%V 11
%N 4
%I mathdoc
%U http://geodesic.mathdoc.fr/item/CSIS_2014_11_4_a8/
%F CSIS_2014_11_4_a8
Jakub Křoustek; Fridolín Pokorný; Dušan Kolář. A New Approach to Instruction-Idioms Detection in a Retargetable Decompiler. Computer Science and Information Systems, Tome 11 (2014) no. 4. http://geodesic.mathdoc.fr/item/CSIS_2014_11_4_a8/