我刚刚开始进行逆向工程。
我创建了一个小型 C++ ConsoleApplication,并尝试通过注入的 DLL 调用 NewFunction。
void NewFunction()
{
DWORD dwImageBase = (DWORD)GetModuleHandle(NULL);
std::cout << "ImageBase: " << ToHex(dwImageBase) << std::endl;
std::cout << "NewFunction: " << ToHex((DWORD)&NewFunction) << std::endl;
std::cout << "Offset: " << ToHex((DWORD)&NewFunction - dwImageBase) << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
ImageBase: F90000
NewFunction: FA111D
Offset: 1111D
Run Code Online (Sandbox Code Playgroud)
现在,当我使用注入的 DLL 调用 0xFA111D 时,它会按预期工作并再次打印。(DLL调用ImageBase + Offset)
但我不知道如何使用 IDA Pro 获取 NewFunction 的地址...
至少偏移量不应该是相同的吗?我在这里错过了一些重要的东西吗?