Recovering high-level conditions from binary programs - Archive ouverte HAL Access content directly
Conference Papers Year : 2016

Recovering high-level conditions from binary programs

(1) , (1) , (2)
1
2

Abstract

The need to get confidence in binary programs without access to their source code has pushed efforts forward to directly analyze executable programs. However, low-level programs lack high-level structures (such as types, control-flow graph, etc.), preventing the straightforward application of source-code analysis techniques. Especially, conditional jumps rely on low-level flag predicates, whereas they often encode high-level “natural” conditions on program variables. Most static analyzers are unable to infer any interesting information from these low-level conditions, leading to serious precision loss compared with source-level analysis. In this paper, we propose template-based recovery, an automatic approach for retrieving high-level predicates from their low-level flag versions. Especially, the technique is sound, efficient, platform-independent and it achieves very high ratio of recovery. This method allows more precise analyses and helps to understand machine encoding of conditionals rather than relying on error-prone human interpretation or (syntactic) pattern-based reasoning.
Not file

Dates and versions

cea-01834972 , version 1 (11-07-2018)

Identifiers

Cite

A. Djoudi, S. Bardin, É. Goubault. Recovering high-level conditions from binary programs. FM 2016: Formal Methods. FM 2016. Lecture Notes in Computer Science, Nov 2016, Limassol, Cyprus. pp.235-253, ⟨10.1007/978-3-319-48989-6_15⟩. ⟨cea-01834972⟩
61 View
0 Download

Altmetric

Share

Gmail Facebook Twitter LinkedIn More