GameHackLab[RU]
    • Категории
    • Последние
    • Метки
    • Популярные
    • Пользователи
    • Группы
    • Зарегистрироваться
    • Войти
    1. Главная
    2. android
    3. Сообщения
    A
    • Профиль
    • Подписки 0
    • Подписчики 0
    • Темы 1
    • Сообщения 1
    • Группы 0

    Сообщения

    Последние Лучшие сообщения Спорные
    • не могу понять почему не выводиться базовый адрес игры в трейнере

      Здравствуйте, пишу трейнер для игры 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;
      }
      
      написал в Взлом игр (начинающим)
      A
      android