Detours is a library for instrumenting arbitrary Win32 functions on x86, x64, and IA64 machines. Detours intercepts Win32 functions by rewriting the in-memory code for target functions. The Detours package also contains utilities to attach arbitrary dynamic-link libraries (DLLs) and data segments (called payloads) to any Win32 binary.
Detours users will appreciate increased robustness in application programming interfaces (APIs) that start a process with a DLL containing detour functions. Detours also preserves the uninstrumented target function (callable through a trampoline) as a subroutine for use by the instrumentation. This trampoline design enables a large class of innovative extensions to existing binary software.
Software developers can use Detours to create an automatic distributed partitioning system. Developers and architects can also use this technology to instrument and analyze the DCOM protocol stack, and to create a thunking layer for a COM-based OS API.
Detours 2.1 is available in two editions:
Detours Express 2.1 is available for immediate download under a no-fee, click-through license for research, noncommercial, and nonproduction use on 32-bit code.
Detours Professional 2.1 includes a license for use in production environments and the right to distribute Detours functions in products. In addition to support for 32-bit x86 code, Detours Professional 2.1 includes support for 64-bit code on x64 and IA64 processors.
The licensing terms for Detours Express 2.1 are as follows:
Redistribution in binary form tied to one software product only
Right to create derivative works of the API, user guide documentation
One-time licensing fee: $10,000
License is for this package release only and not for updated or future releases
For more information, visit the Detours Web site.