Title :
Reconstruction of Class Hierarchies for Decompilation of C++ Programs
Author :
Fokin, A. ; Troshina, K. ; Chernov, A.
Author_Institution :
Comput. Math, & Cybern. Dept., Moscow State Univ., Moscow, Russia
Abstract :
This paper presents a method for automatic reconstruction of polymorphic class hierarchies from the assembly code obtained by compiling a C++ program. If the program is compiled with run-time type information (RTTI), class hierarchy is reconstructed via analysis of RTTI structures. In case RTTI structures are missing in the assembly, a technique based on the analysis of virtual function tables, constructors and destructors is used. A tool for automatic reconstruction of polymorphic class hierarchies that implements the described technique is presented. This tool is implemented as a plug in for IDA Pro Interactive Disassembler. Experimental study of the tool is provided.
Keywords :
C++ language; program assemblers; program compilers; C++ programs; IDA pro interactive disassembler; assembly code; polymorphic class hierarchies; run-time type information; Assembly; Computer languages; Electronic mail; History; Open source software; Optimization; C++; class hierarchy reconstruction; decompilation; reverse engineering;
Conference_Titel :
Software Maintenance and Reengineering (CSMR), 2010 14th European Conference on
Conference_Location :
Madrid
Print_ISBN :
978-1-61284-369-8
Electronic_ISBN :
1534-5351
DOI :
10.1109/CSMR.2010.43