LD_PRELOAD эквивалент для Windows для предварительной загрузки разделяемых библиотек

24 dm76 [2009-07-24 18:00:00]

Я пытаюсь сделать именно то, что делает LD_PRELOAD, то есть предварительно загружать общую библиотеку или файлы DLL в Windows в заданную программу, чтобы переопределить определенные функции.

Есть ли эквивалент LD_PRELOAD для Windows?

У меня нет особых функций. Я просто знаю, что это возможно в Linux, и мне любопытно, как перегрузка локальной DLL может быть выполнена в Windows.

overloading shared-libraries inter-process-communicat


1 ответ


14 Решение Ben [2011-03-11 16:24:00]

AppInit_DLLs.

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

Но смотрите также:

AppInit_DLLs следует переименовать Deadlock_Or_Crash_Randomly_DLLs

http://blogs.msdn.com/b/oldnewthing/archive/2007/12/13/6648400.aspx

Вы также можете посмотреть в "DLL Injection". Здесь описаны четыре подхода (включая AppInint_DLL):

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