gpt4 book ai didi

python - 使用 python 运行未导出的 .dll 函数

转载 作者:太空狗 更新时间:2023-10-30 01:30:41 24 4
gpt4 key购买 nike

这似乎是一个奇怪的问题,但我想知道如何从内存“签名”运行 .dll 中的函数。我不太了解它的实际工作原理,但我非常需要它。如果您知道它的内存签名和地址,它是一种从 .dll 中运行未导出函数的方法。例如,我有这些:

respawn_f "_ZN9CCSPlayer12RoundRespawnEv"
respawn_sig "568BF18B06FF90B80400008B86E80D00"
respawn_mask "xxxxx?xxx??xxxx?"

并且使用一些漂亮的 C++ 代码,您可以使用它从 .dll 中运行函数。

这里有一篇很好解释的文章: http://wiki.alliedmods.net/Signature_Scanning

那么,是否可以使用 Ctypes 或任何其他方式在 python 中执行此操作?

最佳答案

如果您已经可以使用 C++ 运行它们,那么您可以尝试使用 SWIG 为您编写的 C++ 代码生成 python 包装器,使其可以从 python 调用。

http://www.swig.org/

我在使用 SWIG 时发现的一些注意事项:

Swig 根据字符串值查找类型。例如Python 中的整数类型 (int) 将确保cpp 类型是“int”,否则 swig 会提示关于类型不匹配。没有自动转换。

Swig 逐字复制源代码,因此即使是同一命名空间中的对象将需要完全限定,以便 cxx 文件能够正确编译。

希望对您有所帮助。

关于python - 使用 python 运行未导出的 .dll 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/421223/

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