Эквивалент LD_PRELOAD для Windows для предварительной загрузки общих библиотек.

StackOverflow https://stackoverflow.com/questions/1178257

Вопрос

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

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

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

Это было полезно?

Решение

AppInit_DLL.

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

Но см. также:

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

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

Вы также можете изучить «DLL-инъекцию».Здесь описаны четыре подхода (включая AppInint_DLL):

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top