gpt4 book ai didi

C++ Hook ws2_32.dll recv

转载 作者:行者123 更新时间:2023-11-30 05:11:00 30 4
gpt4 key购买 nike

我正在尝试学习 Hook 并且只想 Hook .exe 的发送/接收函数。

我正在将项目构建为 .dll,然后将其注入(inject)到 .exe

编辑:已解决

最佳答案

据我所知,有 3 种 Hook API 调用的方法:

  1. 在应用程序中注入(inject)一个 DLL,它将重写包含 API 调用地址的导入地址表,以便应用程序调用您的函数;
  2. 编写一个虚拟 DLL,其名称与要 Hook 的 API 调用的 DLL 同名,并将其放置在应用程序的根目录中,这样它将加载您的 API 而不是系统的;
  3. 通过使用 JMP yourfunc 或具有类似效果的东西重写它的代码来绕过 API 调用。

方法 1 非常流行,甚至在 Wikipedia page about Hooking 中也有描述。在各种例子中,如果你谷歌它,比如 this one , 或 this one .

方法 2 有点棘手,你必须构建一个与你正在模仿的同名和导出的 DLL,并绕过所有你不感兴趣的函数,并为你的那个编写自定义代码是。我发现这个方法非常干净,因为你不必修改内存,你不必使用外部程序显式地注入(inject)这个 DLL,Windows 只是为你做,而且还有一个好处,它通常不受关注反调试和反黑客检测。 Here is an example如何做到这一点(32 位)。

方法三是Microsoft's favorite .它有一个特别好的优势:您可以 Hook 任何函数、方法或虚拟调用。它不依赖于外部调用的函数来挂接它,因此挂接 DirectX 方法非常流行。这是 FRAPS、Discord Overlay、Overwolf Overlay 以及几乎所有其他在游戏中放置叠加层或记录游戏玩法的软件所使用的方法。您不需要专门使用 Microsoft Detours,这里有 generic alternative还有。

关于C++ Hook ws2_32.dll recv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45341551/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com