Analyzing memory accesses in x86 executables

Gogul Balakrishnan and Thomas Reps.

In 13th International Conference on Compiler Construction (CC).

Barcelona, Spain, April 2004.

Recieved EAPLS Best Paper Award.

This paper concerns static-analysis algorithms for analyzing x86 executables. The aim of the work is to recover intermediate representations that are similar to those that can be created for a program written in a high-level language. Our goal is to perform this task for programs such as plugins, mobile code, worms, and virus-infected code. For such programs, symbol-table and debugging information is either entirely absent, or cannot be relied upon if present; hence, the technique described in the paper makes no use of symbol-table/debugging information. Instead, an analysis is carried out to recover information about the contents of memory locations and how they are manipulated by the executable.

Paper: [pdf] [ps]
Slides: [ppt]

An alternate version of the paper is available as a technical report.

This page updated October 14, 2005.