• DocumentCode
    3234839
  • Title

    A Refined Decompiler to Generate C Code with High Readability

  • Author

    Chen, Gengbiao ; Wang, Zhuo ; Zhang, Ruoyu ; Zhou, Kan ; Huang, Shiqiu ; Ni, Kangqi ; Qi, Zhengwei ; Chen, Kai ; Guan, Haibing

  • Author_Institution
    Sch. of Software, Shanghai Jiao Tong Univ., Shanghai, China
  • fYear
    2010
  • fDate
    13-16 Oct. 2010
  • Firstpage
    150
  • Lastpage
    154
  • Abstract
    As a key part of reverse engineering, decompilation plays a very important role in software security and maintenance. Unfortunately, most existing decompilation tools suffer from the low accuracy in identifying variables, functions and composite structures, which results in poor readability. To address these limitations, we present a practical decompiler called C-Decompiler for Windows C programs that (1) uses a shadow stack to perform refined data flow analysis, and (2) adopts inter-basic-block register propagation to reduce redundant variables. Our experimental results illustrate that on average C-Decompiler has the highest total percentage reduction of 55.91%, lowest variable expansion rate of 55.79% in the three tools, and the same Cyclomatic Complexity as the original source code for each test application. Furthermore, in our experiment, C-Decompiler is able to recognize functions with lower false positive and false negative rate. In the studies, we show that C-Decompiler is a practical tool to produce highly readable C code.
  • Keywords
    C language; computational complexity; data flow analysis; program compilers; software maintenance; software tools; source coding; C code generation; C-decompiler; Windows C program; cyclomatic complexity; data flow analysis; high readability; interbasic-block register propagation; reverse engineering; software maintenance; software security; software tool; source code; Accuracy; Algorithm design and analysis; Benchmark testing; Binary codes; Educational institutions; Registers; Software; Decompilation; Reverse Engineering;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Reverse Engineering (WCRE), 2010 17th Working Conference on
  • Conference_Location
    Beverly, MA
  • ISSN
    1095-1350
  • Print_ISBN
    978-1-4244-8911-4
  • Type

    conf

  • DOI
    10.1109/WCRE.2010.24
  • Filename
    5645445