Здравствуйте, пишу трейнер для игры 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;
}