c++ - 在不编辑主 dll 的情况下覆盖另一个 dll 中的函数

标签 c++ dll

我编写脚本的这个游戏使用了一个主要的 dll,我们在其中编写了我们的脚本(创造性地命名为“scripts.dll”

服务器端的 scripts.dll 加载其他插件(还有 .dll)。

问题: 我需要覆盖 scripts.dll 中的一个现有函数,例如 pluginA.dll 中的函数不会被调用。 em>

我有一个想法,也许可以获取 scripts.dll 中的那个地址,然后用(memcpy()?)我的新函数的地址覆盖它。

哦,函数的名称相同。

最佳答案

这是一个相当大的主题,需要一个冗长的答案,但值得庆幸的是,它已在其他地方详细介绍。 This CodeProject article是关于该主题的相当不错的读物 - 它解释了理论以及如何使用方便的 Microsoft Detours图书馆很容易做到这一点。

关于c++ - 在不编辑主 dll 的情况下覆盖另一个 dll 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1106519/

相关文章:

c++ - LNK2019错误(未解析的外部符号)将SQLite链接到DLL

c++ - 在 Visual Studio 2012 中调试 C DLL 文件时无法单步执行代码

C++ 库 : application inserts a class in inheritance hierarchy

iphone - 使用 ifstream 读写二进制字符串的正确格式

c++ - 使用 AES-256 解压 Zip Archive 库

java - 将 .dll 导入与 Java 中的文件相同的目录中

C++ - 我可以同时对多个文件使用 extern 和 const 吗?

c++ - 在 c++ 对象包装器中安全包含 C 代码

c# - DLL 不导出类/方法 C#/C++

c# - 停止dll循环