Unpredication, Unscheduling, Unspeculation: Reverse Engineering Itanium Executables
IEEE Transactions on Software Engineering
Automatic extraction of function bodies from software binaries
Proceedings of the 2005 Asia and South Pacific Design Automation Conference
An overview of a compiler for mapping software binaries to hardware
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
Experience in the design, implementation and use of a retargetable static binary translation framework
Scalable variable and data type detection in a binary rewriter
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Hi-index | 0.00 |
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 bi- nary 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; namely, the recovery of parameters and return locations, in a machine- independent way. The use of a specification language, PAL, is described, as well as the machine-independent recovery analysis based on PAL. The work described in this paper has been integrated into UQBT, a resourceable binary translation framework. Translations across binaries for SPARC(tm), Pentium and Java(tm) virtual machine architectures have been achieved.