• DocumentCode
    2569849
  • Title

    Reconstruction of Composite Types for Decompilation

  • Author

    Troshina, K. ; Derevenets, Y. ; Chernov, A.

  • Author_Institution
    Inst. for Syst. Programming, Russian Acad. of Sci., Moscow, Russia
  • fYear
    2010
  • fDate
    12-13 Sept. 2010
  • Firstpage
    179
  • Lastpage
    188
  • Abstract
    Decompilation is reconstruction of a program in a high-level language from a program in a low-level language. This paper presents a method for automatic reconstruction of composite types (structures, arrays and combinations of them)in a high-level program during decompilation. Assembly code is obtained by disassembling a binary code or traces collected by a simulator. The proposed method is based on expressing memory access operations as pairs base offset, then building equivalence classes for the bases used in the program and accumulating offsets for each equivalence class. For Strictly conforming C programs our approach is substantiated by the C language semantics as defined in the international standard. However, experimental results have revealed that it is applicable for real-world programs also. Experimental results are obtained for a number of open-source programs as well as for traces collected from them. The method is an essential part of the tool for program decompilation TyDec being developed by the authors. Decompiler TyDec can be used as a standalone tool or as a plug-in for Interactive Trace Explorer TrEx being developed in Institute for System Programming, Russian Academy of Sciences.
  • Keywords
    C language; high level languages; program assemblers; programming language semantics; public domain software; C language semantics; TyDec decompilation; assembly code; composite types reconstruction; equivalence classes; high level language; high level program; interactive trace explorer TrEx; open source programs; program reconstruction; strictly conforming C programs; Algorithm design and analysis; Arrays; Assembly; Indexes; Programming; Registers; data type reconstruction; decompilation; reverse engineering;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Source Code Analysis and Manipulation (SCAM), 2010 10th IEEE Working Conference on
  • Conference_Location
    Timisoara
  • Print_ISBN
    978-1-4244-8655-7
  • Type

    conf

  • DOI
    10.1109/SCAM.2010.24
  • Filename
    5601851