是否可以替换系统函数,就像在 Linux 和 Solaris 上使用 LD_PRELOAD 一样
例如通过设置环境变量:LD_PRELOAD=/path/to/mymalloc.so
我将使用我的替换 malloc 函数,而不是在系统库中已经安装的 C 运行时中。系统 dll 中的所有其他功能都将正常运行。
是否可以替换系统函数,就像在 Linux 和 Solaris 上使用 LD_PRELOAD 一样
例如通过设置环境变量:LD_PRELOAD=/path/to/mymalloc.so
我将使用我的替换 malloc 函数,而不是在系统库中已经安装的 C 运行时中。系统 dll 中的所有其他功能都将正常运行。
Microsoft Research 有一个名为Detours的库,它允许您拦截 Win32 API 调用。
Detours 是一个库,用于在 x86、x64 和 IA64 机器上检测任意 Win32 函数。Detours 通过重写目标函数的内存代码来拦截 Win32 函数。Detours 包还包含用于将任意 DLL 和数据段(称为有效负载)附加到任何 Win32 二进制文件的实用程序。
如果 Detours(如前所述)不是一个选项,那么您可以看看WinAPI Override。它被积极维护。请注意,只有 32 位版本可用。