Question

Is it possible to substitute system functions, as is possible on Linux and Solaris using the LD_PRELOAD

For example by setting the environment variable: LD_PRELOAD=/path/to/mymalloc.so

I would have my replacement malloc functions instead of in the C runtime already installed in the system libraries. All other functions in the system dll's would run as normal.

Was it helpful?

Solution

Microsoft Research has a library called Detours which allows you to intercept Win32 API calls.

Detours is a library for instrumenting arbitrary Win32 functions on x86, x64, and IA64 machines. Detours intercepts Win32 functions by re-writing the in-memory code for target functions. The Detours package also contains utilities to attach arbitrary DLLs and data segments (called payloads) to any Win32 binary.

OTHER TIPS

If Detours ( as mentioned previously ) is not an option - then you might take a look at WinAPI Override. It is actively mantained. Note that only 32 bit version is available.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top