I love this [dion.t-rexin.org]: a known technique with a clean, elegant and almost free approach. The idea is to find interesting input-dependent spots in binaries:
- first, instrument the binary and record a hit trace (basic block granularity is enough) for a base input and a trigger input
- then, compute the difference between the hit traces
- finally, highlight the differences in a disassembler, and plug a wetware to analyse the result
Dion does (1.) with a pintool, (2.) with a python script and (3.) with IDAPython. Sweeeet :)