Binary Analysis using On-Demand Tabulation of Function Summaries
Julian Kranz · mediaTUM – the media and publications repository of the Technical University Munich (Technical University Munich) · 2019
We address two main challenges of binary program analysis. First, writing an analysis for a specific CPU is not portable. Instead, the binary has to be translated into an IR. We present a DSL that offers built-in syntax for decoders and show how we compile it into naturally-looking C code. Secondly, a binary analysis needs to be scalable which can be achieved through modularity. However, modularity may lead to a precision loss. As a remedy, we present an algorithm that tabulates functions for certain properties of calling contexts on-demand.