说明: 我找到一个游戏程序的基址,但在游戏重新启动后仍然会有变化, 但xxx.dll+5778 这个偏移是不变的.
xxx.dll的基址+5778 这个地址就可以得到这个游戏基址.
问题: 基址会根据这个dll的载入点不同变化? 如何取得这个xxx.dll的基址? 希望给出代码!
xxx.dll的基址+5778 这个地址就可以得到这个游戏基址.
问题: 基址会根据这个dll的载入点不同变化? 如何取得这个xxx.dll的基址? 希望给出代码!
hLib: THandle;
tInf: TModuleInfo;
begin
hLib:= LoadLibray('xxx.dll'); if hLib <> 0 then
begin
GetModuleInformation(GetCurrentProcess, hLib, @tInf, SizeOf(tInf)); // 这个就是你想要的:
// tInf.lpBaseOfDll^
end;
//...
end;
psapi; //不好意思,写错一个单词: LoadLibrary edit1.Text:= Format('%d', [DWORD(tInf.lpBaseOfDll)]);