C++ 偏移量中的钩子函数类(从.dll中的.exe开始)

C++ 偏移量中的钩子函数类(从.dll中的.exe开始),c++,class,hook,C++,Class,Hook,我有一个.exe应用程序,我需要为此可执行文件创建一些自定义设置,因此我需要在其中挂接一个dll以加载更改。在那之前,每个人都知道 场景如下: 钩子(0xOffset,&myClass::myFunc) 在.exe中有一个类我需要完全重写,我已经在我的dll中完成了,但是我在类函数的钩子上遇到了问题,它们不是静态的。我读过很多主题,但我无法用任何方法实现它。在某些情况下,编译器将不接受,在其他情况下,编译器已接受,但.exe无法找到函数的实际地址 一位朋友给了我一个解决方案,但理解如何在那里调用

我有一个.exe应用程序,我需要为此可执行文件创建一些自定义设置,因此我需要在其中挂接一个dll以加载更改。在那之前,每个人都知道

场景如下: 钩子(0xOffset,&myClass::myFunc)

在.exe中有一个类我需要完全重写,我已经在我的dll中完成了,但是我在类函数的钩子上遇到了问题,它们不是静态的。我读过很多主题,但我无法用任何方法实现它。在某些情况下,编译器将不接受,在其他情况下,编译器已接受,但.exe无法找到函数的实际地址

一位朋友给了我一个解决方案,但理解如何在那里调用函数有点让人困惑,从我的源代码和许多循环中可以看出,调用函数会非常大


可以帮我吗?

成员函数确实要复杂得多。您必须处理普通继承、多重继承和虚拟继承;直接通话和虚拟通话。最糟糕的可能是处理成员函数指针,这与普通函数指针完全不同


因此,许多解决方案只处理简单的情况。一个能够处理所有边缘情况的解决方案需要大量代码,这是非常正常的。

您实际上不需要挂钩,只需要一个回调函数。或从DLL动态调用函数的机制。你在Windows中编程吗?这很可能是操作系统特有的机制。例如,在Windows中,有用于动态调用函数的
LoadLibrary
GetProcAddress
。是的,Windows。我只需要调用我的类的函数来代替原来的类函数。如果你也这么想,那我该怎么办?举个例子?