• DocumentCode
    1691316
  • Title

    Procedure abstraction recovery from binary code

  • Author

    Cifuentes, Cristina ; Simon, Doug

  • Author_Institution
    Dept. of Comput. Sci. & Electr. Eng., Queensland Univ., Brisbane, Qld., Australia
  • fYear
    2000
  • fDate
    2/1/2000 12:00:00 AM
  • Firstpage
    55
  • Lastpage
    64
  • Abstract
    Binary translation (the automatic translation of executable programs from one machine to another) requires analyses and transformations that could be used in a wide variety of tools intended to reverse engineer binary codes. Our approach to binary translation, which is designed to allow both source and target machines to be changed at low cost, is based on a combination of machine descriptions, binary interface descriptions and machine-independent analyses. This paper deals with the recovery of high-level procedure calls from binary code (i.e. the recovery of parameters and return locations) in a machine-independent way. The use of a specification language called PAL (Procedure Abstraction Language) is described, as well as the machine-independent recovery analysis based on PAL. The work described in this paper has been integrated into UQBT (University of Queensland Binary Translator), which is a resourceable binary translation framework. Translations across binaries for SPARCTM, Pentium and JavaTM virtual machine architectures have been achieved
  • Keywords
    program interpreters; reverse engineering; software architecture; software portability; specification languages; subroutines; system recovery; virtual machines; Java Virtual Machine; PAL specification language; Pentium architecture; Procedure Abstraction Language; SPARC architecture; UQBT; binary code; binary interface descriptions; binary translation; executable programs; high-level procedure call recovery; machine descriptions; machine-independent analyses; parameter recovery; procedure abstraction recovery; program analysis; program transformation; resourceable framework; return location recovery; reverse engineering; virtual machine architectures; Australia Council; Binary codes; Computer science; Costs; Hardware; Information analysis; Java; Operating systems; Sun; Virtual machining;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance and Reengineering, 2000. Proceedings of the Fourth European
  • Conference_Location
    Zurich
  • Print_ISBN
    0-7695-0546-5
  • Type

    conf

  • DOI
    10.1109/CSMR.2000.827306
  • Filename
    827306