ncatlin / rgat

An instruction trace visualisation tool for dynamic program analysis
Apache License 2.0
364 stars 32 forks source link

Alternative backends to DynamoRIO? #28

Open Manouchehri opened 7 years ago

Manouchehri commented 7 years ago

First of all, great job on rgat, the live animations are great!

How feasible would it be replace DynamoRIO in drgat? e.g. using Intel PIN to trace.

ncatlin commented 7 years ago

Thanks!

That's a good question: At the start of the project I had intended to use PIN but spent days trying to compile a PINtool on my version of Visual Studio without success, so went with DR. With the significant caveat that I don't know the PIN API: I don't see any reason why it would be difficult.

PIN offers similar rich instrumentation capability (nothing particularly fancy is needed - symbols, branch tracking, maintaining state information for each basic block) and the visualiser simply reads the output from named pipes so a reimplementation of drgat in PIN - or anything else - should slot in quite seamlessly.

If it supports a wider range of binaries (i've met quite a few that DR just nope's out of) it would be well worth doing.