Get samp Base

Parazitas

God
Joined
Jan 2, 2017
Messages
3,121
Solutions
5
Reaction score
882
Location
Lithuania
C++:
#include <iostream>
#include <windows.h>
#include <TlHelp32.h>

using namespace std;

uintptr_t GetModuleBaseAddress(DWORD dwProcID, const char* szModuleName)
{
    uintptr_t ModuleBaseAddress = 0;
    HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, dwProcID);
    if (hSnapshot != INVALID_HANDLE_VALUE)
    {
        MODULEENTRY32 ModuleEntry32;
        ModuleEntry32.dwSize = sizeof(MODULEENTRY32);
        if (Module32First(hSnapshot, &ModuleEntry32))
        {
            do
            {
                if (strcmp(ModuleEntry32.szModule, szModuleName) == 0)
                {
                    ModuleBaseAddress = (uintptr_t)ModuleEntry32.modBaseAddr;
                    break;
                }
            } while (Module32Next(hSnapshot, &ModuleEntry32));
        }
        CloseHandle(hSnapshot);
    }
    return ModuleBaseAddress;
}


int main()
{
    DWORD dwProcId;

    HWND hWnd = FindWindowA(NULL, ("GTA:SA:MP"));

    GetWindowThreadProcessId(hWnd, &dwProcId);
    HANDLE pHandle = OpenProcess(PROCESS_VM_READ, FALSE, dwProcId);

    uintptr_t Baseaddr = (uintptr_t)GetModuleBaseAddress(dwProcId, "samp.dll");

    return 0;
}

Tested , works good.
 
Last edited:
Top