LD_PRELOAD equivalent for Windows to preload share

2019-01-18 02:10发布

问题:

I'm trying to do exactly what LD_PRELOAD does, i.e. preload a shared library or DLL files on Windows to a given program to override certain functions.

Is there a LD_PRELOAD equivalent for Windows?

I don't have any specific functionalities in mind. I just know that this is possible on Linux, and I'm curious about how overloading a native DLL can be done on Windows.

回答1:

AppInit_DLLs.

http://support.microsoft.com/kb/197571

But see also:

AppInit_DLLs should be renamed Deadlock_Or_Crash_Randomly_DLLs

https://blogs.msdn.microsoft.com/oldnewthing/20071213-00/?p=24183/

You may also want to look into "DLL Injection". Four approaches (including AppInint_DLLs) are described here:

http://en.wikipedia.org/wiki/DLL_Injection