g4re: Harnessing GCC to Reverse Engineer C++ Applications

Authors Nicholas A. Kraft, Brian A. Malloy, James F. Power

Thumbnail PDF


  • Filesize: 296 kB
  • 11 pages

Document Identifiers

Author Details

Nicholas A. Kraft
Brian A. Malloy
James F. Power

Cite AsGet BibTex

Nicholas A. Kraft, Brian A. Malloy, and James F. Power. g4re: Harnessing GCC to Reverse Engineer C++ Applications. In Transformation Techniques in Software Engineering. Dagstuhl Seminar Proceedings, Volume 5161, pp. 1-11, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2006)


In this paper, we describe g4re, our tool chain that exploits GENERIC, an intermediate format incorporated into the gcc C++ compiler, to facilitate analysis of real C++ applications. The gcc GENERIC representation is available through a file generated for each translation unit (TU), and g4re reads each TU file and constructs a corresponding Abstract Semantic Graph (ASG). Since TU files can be prohibitively large, ranging from 11 megabytes for a "hello world" program, to 18 gigabytes for a version of Mozilla Thunderbird, we describe our approach for reducing the size of the generated ASG.
  • Reverse engineering
  • schema
  • GXL


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads