我正在尝试使用SetWindowsHookEx捕获对java.dll中的API的调用。

所以我创建了另一个dll,并使用setwindowsHookEx注入(inject)了所有其他进程

g_hHook = SetWindowsHookEx(WH_CALLWNDPROC,JLoadSetFunc,g_hHookDll,0)

问题如下:

在尝试捕获来自进程的调用时,我注意到在对钩子(Hook)函数执行了两次调用之后,我的dll附加到了该进程。

所以问题是我的挂钩机制错过了挂钩API的前几个调用。

请对这个问题提出建议或评论以指导我。
我被这个困扰极了。

最佳答案

我建议以下内容:

  • 使用SetWindowsHookEx()注册您的钩子(Hook)
  • 通过特殊消息将
  • SendMessage()发送到远程进程,只有您的钩子(Hook)才能理解
  • 重复此操作,直到您的钩子(Hook)回复
  • 调用您希望钩子(Hook)与
  • 交互的代码

    简而言之,请等待钩子(Hook)完成安装,然后再尝试使用它。

    10-07 16:36