pDI-Tools is a very powerful and portable API and engine that can be used to create dynamic instrumentation tools, dynamic code interposition, performance tools, execution drive simulations, hot patching, reverse engineering, hacking and a lot more. Its main features are portability, easy of use, compact and fast. It works with any executable, even with binaries without debug information or source code.
It implements mechanisms based on intercepting calls between dynamic shared objects (executable-libraries, libraries-libraries). These mechanisms exploit ELF structures and data, making them very efficient and portable. It currently works on GNU/Linux (i386, PowerPC, PowerPC 64), Solaris (SPARC 32 and 64 bits) and Irix (MIPS 32 and 64).