Skip to content

From Basic Blocks to Instructions

bprail edited this page Feb 7, 2014 · 1 revision

Can Contech do this?

  • Yes

How?

  • The program is recompiled and the Contech compiler pass only places markers in the IR. When the IR goes through the LLVM backend and machine instructions are generated, the markers remain. In an object dump, the markers can be found in the assembly and the instructions in each basic block reconstructed.

Does this support X?

  • While most of Contech is architecture agnostic. The parsing script (objparse.py) has to understand assembly. Currently it supports 32 and 64 bit x86 instruction sets.

Are the instruction streams equivalent to the original, instrumented program?

  • No. Close though. The marker calls have lower perturbation on the instructions and register allocations. And ongoing work is exploring how to reduce this further.
Clone this wiki locally