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
Link To Document :
بازگشت