Гость Tatsuo Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 Вообщем начал изучать game hacking, но не могу понять как находить коды или же адреса(вообщем что-то). Разъясню немного ситуацию... Я написал батник в c++, он очень легкий, при запуске и нажатий на кнопку... у меня что-то да и читерится, собственно при начале следующего уровня читы перестают работать т.к при созданий этого чита я указал на изменение кол-ва чего-то в динамическом адресе. Я хочу научится создавать такой чит... в котором бы все отлично работало, то бишь - Открыл игру, включил чит, ПРОФИТ. Научите и объясните пожалуйста! Спойлер WriteProcessMemory(handle, (LPVOID)0x25DBDEF8, &value, sizeof(value), 0); // 0x25DBDEF8 - это тот самый адрес ; value - это кол-во монеток которое выдается после активация чита ( int value = 15000 ) Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 1 час назад, Tatsuo сказал: Научите и объясните пожалуйста! Все что тебе нужно. https://docs.microsoft.com/ru-ru/windows/desktop/Debug/debugging-functions Рецепт такой. 1.Ищешь с помощью CE многоуровневый указатель на этот адрес по которому лежит твое значение. 2.И считываешь по уровням указатели с помощью ReadProcessMemory, если это внешний чит или с помощью указателей, если это внутренний чит. Пример. 0xAAAABBBB -> 0xDEADBE00 + FE -> 0xFEEDFA00+CE -> значение DWORD tmp = 0; DWORD base_address = 0xAAAABBBB; unsigned int buffer = 1337; ReadProcessMemory(hProcess, reinterpret_cast<PBYTE*>(base_address), &tmp, sizeof(DWORD), 0); // 1 уровень (0xAAAABBBB -> 0xDEADBE00) ReadProcessMemory(hProcess, reinterpret_cast<PBYTE*>(tmp + 0xFE), &tmp, sizeof(DWORD), 0); // 2 уровень (0xDEADBE00 + 0xEF -> 0xFEEDFA00) ReadProcessMemory(hProcess, reinterpret_cast<PBYTE*>(tmp + 0xCE), &tmp, sizeof(DWORD), 0); // 3 уровень (0xFEEDFA00 + 0xCE -> 0xFEEDFACE) 0xFEEDFACE адрес по которому лежит наше значение. WriteProcessMemory(hProcess, reinterpret_cast<PBYTE*>(tmp), &buffer, sizeof(buffer), 0); // Запись по адресу значения 3. Профит. Как получить адрес модуля это сам ищи, статей и уроков по этому лежит в интернете туева хуча. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Tatsuo Опубликовано 21 апреля, 2019 Поделиться Опубликовано 21 апреля, 2019 37 минут назад, partoftheworlD сказал: Пример. Спасибо Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения