我有一些我无法使用 ctypes.open() 方法加载的 dll。我不知道为什么。它具有 C extern 函数,来自同一路径的所有其他 dll 均已正确加载。
在 FF 8 中,dll 加载没有问题,我在 FF 22 上尝试没有任何成功。在这里感谢您的帮助。
盖伊
我有一些我无法使用 ctypes.open() 方法加载的 dll。我不知道为什么。它具有 C extern 函数,来自同一路径的所有其他 dll 均已正确加载。
在 FF 8 中,dll 加载没有问题,我在 FF 22 上尝试没有任何成功。在这里感谢您的帮助。
盖伊
这是因为我的 PATH 环境中有“C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin”。不知道为什么有关系。但我会进一步探索。
由于它以前可以工作,我的猜测是在 Vista 及更高版本上执行 ASLR 。IIRC,整个LoadLibrary()
函数被挂钩以防止在运行时加载非 ASLR DLL。
尝试使用/DYNAMICBASE
.
如果不是这样,则可能的原因是找不到您的 DLL。尝试使用绝对路径并确保路径实际上是正确的。