Usage:
GetModuleBaseAddress(PID, L"모듈이름");
uintptr_t GetModuleBaseAddress(
DWORD procId,
const wchar_t* modName)
{
uintptr_t modBaseAddr = 0;
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, procId);
if (hSnap != INVALID_HANDLE_VALUE)
{
MODULEENTRY32 modEntry;
modEntry.dwSize = sizeof(modEntry);
if (Module32First(hSnap, &modEntry))
{
do
{
if (!_wcsicmp(modEntry.szModule, modName))
{
modBaseAddr = (uintptr_t)modEntry.modBaseAddr;
break;
}
} while (Module32Next(hSnap, &modEntry));
}
}
CloseHandle(hSnap);
return modBaseAddr;
}
해당 댓글은 삭제되었습니다.
병신 ㅋㅋ 아무것도 모르니깐 코드의 동작도 모르겠지 그러면서 무슨 나대지마 ㅇㅈㄹ
이 함수는 어느 때 씀? imagebase 구하는거면 GetModule(nullptr) 해도 되지 않아?
그건 본인 주소 구하는거고
내가 올린 코드는 다른 프로세스 모듈의 베이스 주소를 구해올 수 있음.