2

是否可以替换系统函数,就像在 Linux 和 Solaris 上使用 LD_PRELOAD 一样

例如通过设置环境变量:LD_PRELOAD=/path/to/mymalloc.so

我将使用我的替换 malloc 函数,而不是在系统库中已经安装的 C 运行时中。系统 dll 中的所有其他功能都将正常运行。

4

2 回答 2

2

Microsoft Research 有一个名为Detours的库,它允许您拦截 Win32 API 调用。

Detours 是一个库,用于在 x86、x64 和 IA64 机器上检测任意 Win32 函数。Detours 通过重写目标函数的内存代码来拦截 Win32 函数。Detours 包还包含用于将任意 DLL 和数据段(称为有效负载)附加到任何 Win32 二进制文件的实用程序。

于 2009-07-31T03:32:15.233 回答
1

如果 Detours(如前所述)不是一个选项,那么您可以看看WinAPI Override。它被积极维护。请注意,只有 32 位版本可用。

于 2009-07-31T13:07:25.390 回答