не могу понять почему не выводиться базовый адрес игры в трейнере
-
Здравствуйте, пишу трейнер для игры MudRunner, на данном этапе пытаюсь вывести базовый адрес игры, но, видимо, что-то делаю не так код скину ниже.
И касательно самой игры: я пытаюсь найти, скажем там, прочность машины и нашёл все необходимые офсеты, но с топливом ничего не получается.
Значение как бы есть, но когда его меняешь и заходишь в игру, оно переходит обратно в тот вид до изменения, в чём может быть проблема, можете дать совет?
прошу простить меня если я задаю совсем очевидные вопросы просто в этом я новичок и видимо что-то не до конца понимаю
ещё раз простите если задал очевидный вопросвот код:
#include <Windows.h> #include <tlhelp32.h> #include <iostream> using namespace std; DWORD64 GetModuleBaseAddress(DWORD procId, const char* modName) { DWORD64 modBaseAddr = 0; HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE32, procId); MODULEENTRY32 modEntry; modEntry.dwSize = sizeof(modEntry); if (Module32First(hSnap, &modEntry)) { do { if (!_stricmp(modEntry.szModule, modName)) { modBaseAddr = (uintptr_t)modEntry.modBaseAddr; break; } } while (Module32Next(hSnap, &modEntry)); } CloseHandle(hSnap); return modBaseAddr; } int main() { setlocale(LC_ALL, "ru"); PROCESSENTRY32 entry; entry.dwSize = sizeof(PROCESSENTRY32); DWORD ID = 0; HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL); if (Process32First(snapshot, &entry) == TRUE) { while (Process32Next(snapshot, &entry) == TRUE) { if (_stricmp(entry.szExeFile, "MudRunner.exe") == 0) { ID = entry.th32ProcessID; break; } } } CloseHandle(snapshot); if (ID == 0) { cout << "Приложение не запущено" << endl; } DWORD moduleBase = GetModuleBaseAddress(ID, "MudRunner.exe"); cout<<"ID процесса: "<<ID<<endl; cout << "Базовый адрес модуля: " << moduleBase << endl; system("pause"); return 0; }
-
@android Возможно некая функция в игре постоянно туда пишет своё значение.