链接未知的dll

问题描述 投票:-2回答:1

我有这个dll(称为unknown.dll),从中我只知道Ghidra告诉我的内容。我正在使用LoadLibraryW进行加载,但是(在x86中)它引发了错误126。但是,在64x中,它给出了错误193,因此我认为问题不在于我的程序找不到我dll ...这是我的代码:

#include <iostream>
#include <Windows.h>

typedef int(__cdecl* FunctionIWant)();

int main()
{
HMODULE hmod = LoadLibraryW(L"C:\\unknown.dll");

if (hmod != NULL)
{
    ...
}

else
    std::cout << GetLastError();

return 0;
}

我在做什么错?

dll dllimport loadlibrary
1个回答
0
投票

126是ERROR_MOD_NOT_FOUND。要么找不到您的DLL,要么更可能找不到它的依赖项。

193是ERROR_BAD_EXE_FORMAT。这是因为您不能混合使用32位和64位DLL。

事实上,当您在64位以下运行时会得到ERROR_BAD_EXE_FORMAT,这表明您已找到DLL。因此,我们可以得出结论,它的依赖性不存在。

请查阅文档以发现所需的依赖项。

© www.soinside.com 2019 - 2024. All rights reserved.