7

Generally, it's a complex topic. There seems to be very little in the way of example or linear progression in to non-trivial examples.

It's possible my google-fu is weak, but I can't seem to locate decent tutorials on using binary instrumentation frameworks (Pin, DynamoRIO, other).

What resources could someone who is interested use beyond stumbling around until they get it working?

After some of the answers, I thought I should tack on that dynamorio.org is sometimes non-responsive. The project is on googlecode here.

RobotHumans
  • 563
  • 2
  • 16

4 Answers4

8

There is a nice introduction on PIN at http://www.slideshare.net/null0x00/nullcon-2011-automatic-program-analysis-using-dynamic-binary-instrumentation also a nice tutorial on Skype for Linux simple unpacking using Pin http://joxeankoret.com/blog/2012/11/04/a-simple-pin-tool-unpacker-for-the-linux-version-of-skype/

Finally an old presentation that you might like also, "Using the Pin Instrumentation Tool for Computer Architecture Research" http://www.jaleels.org/ajaleel/Pin/slides/1_Intro.ppt

Nicolas
  • 566
  • 2
  • 4
  • Plus one for the Skype example, which is really the thing for which I was looking (non-all-theory non-contrived example). – RobotHumans Apr 05 '13 at 11:41
5

Jurriaan Bremer wrote at least two articles that can be quite informing regaring Pin which can serve as a nice introduction.

0xea
  • 4,904
  • 1
  • 23
  • 30
5

If you've never touched DBI before, I found this book to be a good use of $17. Written by a long-time researcher in the field, it describes the theory and practice behind DBI, including multiple DBI platforms, exotic DBI tools, etc.

Rolf Rolles
  • 9,198
  • 1
  • 23
  • 33
0

PIN and DynamoRIO both have complete documentation with many examples that are fully commented. I think best place to start is to play with examples, modify them and see the result.

perror
  • 19,083
  • 29
  • 87
  • 150
Arash
  • 229
  • 1
  • 8