Home // International Journal On Advances in Software, volume 7, numbers 1 and 2, 2014 // View article


Advanced Preprocessing of Binary Executable Files and its Usage in Retargetable Decompilation

Authors:
Jakub Kroustek
Peter Matula
Dusan Kolar
Milan Zavoral

Keywords: reverse engineering, decompilation, packer detection, unpacking, executable file, Lissom

Abstract:
Retargetable machine-code decompilation is used for a platform-independent transformation of executable files into a high level language (HLL) representation (e.g., C language). It is a complex task that must deal with a lot of different platform-specific features and missing information. Accurate preprocessing of input executable files is one of the necessary prerequisites in order to achieve the best results. Furthermore, we can use gathered information to achieve higher quality of decompilation. This paper presents an extended version of our previous system for an accurate code preprocessing. It is implemented as a generic preprocessing system that consists of a precise compiler and packer detector, plugin-based unpacker, converter into an internal platform-independent file format, and debugging information gathering library. We also describe an utilization of the collected information in a problem of automatic data-type reconstruction. This system has been adopted and tested in an existing retargetable decompiler. According to our experimental results, the proposed retargetable solution is fully competitive with existing platform-dependent tools.

Pages: 112 to 122

Copyright: Copyright (c) to authors, 2014. Used with permission.

Publication date: June 30, 2014

Published in: journal

ISSN: 1942-2628