I'm interested in performing (dynamic) binary instrumentation using Python to be able to analyze the binary by instructions during execution for
Windows
Linux
Can someone suggest such tool/framework? Does it even exist or possible?
Reverse Engineering Stack Exchange is a question and answer site for researchers and developers who explore the principles of a system through analysis of its structure, function, and operation. It only takes a minute to sign up.
Sign up to join this communityI'm interested in performing (dynamic) binary instrumentation using Python to be able to analyze the binary by instructions during execution for
Windows
Linux
Can someone suggest such tool/framework? Does it even exist or possible?
From https://code.google.com/p/processtap/ -
ProcessTap is a dynamic tracing framework for analyzing closed source-applications. ProcessTap is inspired by DTrace and SystemTap, but it is specific for analyzing closed-source user-space applications. ProcessTap leverages dynamic binary instrumentation to intercept the events of interest (e.g., function calls, system call, memory accesses, and conditional control transfers). Although the current implementation relies on PinTool, alternative back-ends for instrumentation (e.g., Valgrind, Qemu, or DynamoRIO) can be used. The language used in ProcessTap for writing scripts to instrument applications is Python.
Despite being an afternoon hack, this static binary instrumenter might get you part way there. However, consider these crucial limitations:
gc
directory and Makefile
). There isn't a good way of connecting instrumentation to that code, except by perhaps declaring and using an extern
symbol whose mangled name you know.BUT, it is in python ;-)