Practical analysis of stripped binary code

  • Authors:
  • Laune C. Harris;Barton P. Miller

  • Affiliations:
  • University of Wisconsin, Madison, WI;University of Wisconsin, Madison, WI

  • Venue:
  • ACM SIGARCH Computer Architecture News - Special issue on the 2005 workshop on binary instrumentation and application
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Executable binary code is the authoritative source of information about program content and behavior. The compile, link, and optimize steps can cause a program's detailed execution behavior to differ substantially from its source code. Binary code analysis is used to provide information about a program's content and structure, and is therefore a foundation of many applications, including binary modification[3,12,22,31], binary translation[5,29], binary matching[30], performance profiling[13,16,18], debugging, extraction of parameters for performance modeling, computer security[7,8] and forensics[23,26]. Ideally, binary analysis should produce information about the content of the program's code (instructions, basic blocks, functions, and modules), structure (control and data flow), and data structures (global and stack variables). The quality and availability of this information affects applications that rely on binary analysis.