0

我正在开发一个使用 Detours 记录特定 WIN32 调用的应用程序 (DLL)。它被注入到通过过滤器的目标应用程序中。从应用程序入口点的第一条指令开始,它必须绝对记录应用程序所做的每个调用。

我现在正在寻找一种方法来使我的应用程序(始终运行的应用程序)尽可能快地注入 DLL,最好不要让目标应用程序进行任何其他调用。

有什么办法可以做到这一点?

4

2 回答 2

3

您可以使用AppInit_DLLs 注册表项将 dll 加载到进程中。dllDLL_PROCESS_ATTACHUser32.dll. 对于常规应用程序,这应该在运行任何应用程序代码之前发生。

请记住,AppInit_DLLs 应该重命名为 Deadlock_Or_Crash_Randomly_DLLs

于 2013-10-20T20:27:47.270 回答
1

据我所知,在 Windows 中没有直接的方法可以做到这一点。

您的选择是:

  1. 在所有进程中挂钩 CreateProcess(或更低)函数。创建新进程时,更改参数以将其创建为挂起、注入和恢复(如果需要)。
  2. 使用驱动程序。
于 2013-10-20T20:49:08.137 回答