Extracting structure from low-level code

Abstract

Analysing and verifying binary programs is a difficult task because the execution flow of the program is not immediately available from the executable format. In fact, there are two major problems when trying to recover a semantically correct program representation for analysis purpose. One is because there is no way to make a difference 'a priori' between data and instructions, thus we need to first type the memory to get this information. Second, we may encounter dynamic jumps, where the control flow entirely depend on the context of the program (eg. 'jump eax'). The goal of this PhD is to investigate these problems and to bring sound and robust solutions in order to perform analysis and/or verification of the software.

Page mise à jour le 22/10/2012 à 08:42