|
DLL Detective is a framework for intercepting and processing communications between Windows applications and dynamic link libraries (DLLs). You can see a diagram showing how DLL Detective works below:
You should note that:
DLL Detective can intercept communications between an application and several DLLs simultaneously.
To start instrumenting the usage of a new DLL (simply logging its use) no additional DLL specific coding is needed: DLL Detective generates C++ code for the impostor DLL from a text file containing a list of DLL function prototypes automatically.
A default plugin for basic functionality like call filtering in the frontend can also be generated, though optional.
Since full C++ sources are generated for both the plugin and the impostor DLL, the user may customize them arbitrarily. Thus the functionality doesn't have to be restricted to unintrusive instrumentation. Rather you can write code which alters the communication between the app and the DLL in any way you see fit.
DLL Detective has the following standard features to be used with any DLL:
Application launching and terminating
Pausing the app and stepping to the next call
Logging to / controlling from a remote PC over a network (to instrument full screen games)
Call counting
Mirroring results to a text file
Filtering common calls.
DLL Detective, including all source code, is available under GNU GPL, along with plugins for protocolling OpenGL and Direct3D 8.
|
Welcome!
News
DLL Detective
GL Grab
Direct3D8 Grab
Downloads
Links
About
|