MURAL - Maynooth University Research Archive Library



    A tool chain for reverse engineering C++ applications


    Kraft, Nicholas A. and Malloy, Brian A. and Power, James F. (2007) A tool chain for reverse engineering C++ applications. Science of Computer Programming, 69 (1-3). pp. 3-13. ISSN 0167-6423

    [img]
    Preview
    Download (346kB) | Preview


    Share your research

    Twitter Facebook LinkedIn GooglePlus Email more...



    Add this article to your Mendeley library


    Abstract

    We describe a tool chain that enables experimentation and study of real C++ applications. Our tool chain enables reverse engineering and program analysis by exploiting gcc, and thus accepts any C++ application that can be analysed by the C++ parser and front end of gcc. Our current test suite consists of large, open-source applications with diverse problem domains, including language processing and gaming. Our tool chain is designed using a GXL-based pipe-filter architecture; therefore, the individual applications and libraries that constitute our tool chain each provide a point of access. The preferred point of access is the g4api Application Programming Interface (API), which is located at the end of the chain. g4api provides access to information about the C++ program under study, including information about declarations, such as classes (including template instantiations); namespaces; functions; and variables, statements and some expressions. Access to the information is via either a pointer to the global namespace, or a list interface.

    Item Type: Article
    Keywords: Reverse engineering; Graph-based tools; GXL; Pipe-filter architecture; Software metrics;
    Academic Unit: Faculty of Science and Engineering > Computer Science
    Item ID: 8226
    Identification Number: https://doi.org/10.1016/j.scico.2007.01.012
    Depositing User: Dr. James Power
    Date Deposited: 17 May 2017 15:34
    Journal or Publication Title: Science of Computer Programming
    Publisher: Elsevier
    Refereed: Yes
    URI:
    Use Licence: This item is available under a Creative Commons Attribution Non Commercial Share Alike Licence (CC BY-NC-SA). Details of this licence are available here

    Repository Staff Only(login required)

    View Item Item control page

    Downloads

    Downloads per month over past year

    Origin of downloads