shared-libraries - LD_PRELOAD 等效于 Windows 预加载共享库

标签 shared-libraries overloading inter-process-communicat

我正在尝试完全执行 LD_PRELOAD 所做的事情,即将 Windows 上的共享库或 DLL 文件预加载到给定程序以覆盖某些功能。

有没有LD_PRELOAD相当于Windows?

我没有任何特定的功能。我只知道这在 Linux 上是可能的,我很好奇如何在 Windows 上完成 native DLL 的重载。

最佳答案

AppInit_DLL。

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

但另见:

AppInit_DLLs 应重命名为 Deadlock_Or_Crash_Randomly_DLLs

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

您可能还想查看“DLL 注入(inject)”。此处描述了四种方法(包括 AppInint_DLL):

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

关于shared-libraries - LD_PRELOAD 等效于 Windows 预加载共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1178257/

相关文章:

C 语言库是预编译的。那么它是如何链接到基于不同处理器的计算机中的呢?

C++ 如何重载一个函数,该函数将不同模板对象的迭代器作为参数?

c# - Long.Tryparse 重载和转换错误 C#

C linux : parent process not blocking 中子进程和父进程之间的通信

linux - 检查 fork 的 child 是否已经在 perl 中执行

java - 执行内存中的 jar

android - 将外部库添加到 Qt-Android 项目中

c++ - 如何在没有 main 的情况下初始化 google 测试?

android - 无法将依赖项添加到 Android 项目

java - 为什么调用少匹配的重载方法