Пользовательский способ получения базовых адресов - PullRequest
0 голосов
/ 24 февраля 2020

Так что мне было интересно заменить GetModuleHandleA на собственный способ получения базовых адресов, но я понятия не имею. Ребята, вы можете мне помочь?

using LoadSystemFile_call = __int64(*)(__int64 state, const char* scriptName);
    uint64_t luaClass = 0x0;


auto grabClass() -> void {
    while (true) {
        Sleep(250);
        uint64_t* c1 = (uint64_t*)(GetModuleHandleA("citizen-scripting-lua") + 0x4FECC8);
        if (*c1 != 0)
            luaClass = *c1;
    }
}

auto doStuff() -> void {
    CreateThread(0, 0, (LPTHREAD_START_ROUTINE)grabClass, 0, 0, 0);

    LoadSystemFile_call lsfC = (LoadSystemFile_call)(GetModuleHandleA("citizen-scripting-lua") + 0x50D50);

    printf("Press F5 to execute C:/whatever.lua\n");
    while (true) {
        if (GetAsyncKeyState(VK_F5)) {
            lsfC(luaClass, "C:\\whatever.lua");
        }
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...