Intel PIN — Instrumentation dynamique Intel

Dynamique DBI

Présentation

Intel PIN est un framework de DBI développé par Intel : on écrit des "pintools" en C++ qui s'insèrent à des points d'instrumentation (instruction, basic block, routine) pour analyser un binaire à l'exécution.

Concepts

# Granularités d instrumentation
INS  : par instruction
BBL  : par basic block
RTN  : par routine
IMG  : par image (module)

# Lancer un pintool
pin -t obj-intel64/montool.so -- ./binaire

Cas d'usage

Compter/tracer des instructions, suivre le flux de données (taint analysis), générer des traces pour la déobfuscation, et mesurer la couverture. Très utilisé en recherche de vulnérabilités et analyse de malware.