Publication Details
Composite Data Type Recovery in a Retargetable Decompilation
Retargetable decompilation is a reverse engineering technique performing a transformation of a platform-dependent binary file into a high level language (HLL) representation. Despite its complexity, several new decompilers or other similar binary analysis utilities have been developed in recent years. They are not yet advanced enough to serve as a standalone tool, but combined with the traditional disassemblers, they allow much faster understanding of the analysed machine code. To achieve the necessary quality, many advanced analyses must be performed on the input file. One of the toughest, but most rewarding, is the data type reconstruction analysis. It aims to assign each object (i.e. variables, functions' parameters and returns) with a high level type, preferably the same as in the original source code.
This paper presents the composite data type analysis used by the retargetable decompiler developed within the Lissom project at FIT BUT. Its basic principles are based on an existing state of the art approach. However, we design a whole new patter creation and recognition algorithm, which is both retargetable and suitable for operating on code in SSA form. Moreover, we devise a new pattern aggregation rules that increase the quality of recovered data types. The solution is tested on several real world applications compiled for three different architectures.
@INPROCEEDINGS{FITPUB10727, author = "Peter Matula and Du\v{s}an Kol\'{a}\v{r}", title = "Composite Data Type Recovery in a Retargetable Decompilation", pages = "63--76", booktitle = "Proceedings of the 9th Doctoral Workshop on Mathematical and Engineering Methods in Computer Science", year = 2014, location = "Tel\v{c}, CZ", publisher = "NOVPRESS s.r.o.", ISBN = "978-80-214-5022-6", language = "english", url = "https://www.fit.vut.cz/research/publication/10727" }