Software

TIE: Principled Reverse Engineering of Types in Binary Programs

Download Now Free registration required

Executive Summary

A recurring problem in security is reverse engineering binary code to recover high-level language data abstractions and types. High-level programming languages have data abstractions such as buffers, structures, and local variables that all help programmers and program analyses reason about programs in a scalable manner. During compilation, these abstractions are removed as code is translated down to operations on registers and one globally addressed memory region. Reverse engineering consists of "Undoing" the compilation to recover high-level information so that programmers, security professionals, and analyses can all more easily reason about the binary code.

  • Format: PDF
  • Size: 1492 KB