Клиентские игры

Как создаются игровые трейнеры?

Методы создания трейнеров

Для создания трейнеров используются специальный программы: дамперы памяти, отладчики и дизассемблеры. Самый простой способ создать его — поискать в памяти значения, совпадающие с нужным игровым параметром. Затем изменить его и поискать в получившемся списке снова. После нескольких итераций скорее всего останется небольшой список адресов, значения по которым можно попытаться изменить. Существует множество утилит (ArtMoney, Cheat’o'Matic…), автоматизирующих процесс поиска и изменения значений.

В некоторых случаях нужное игровое значение постоянно меняет свое положение в памяти. В этом случае можно попытаться найти указатель на него (возможно с небольшим смещением, если игровое значение находится в какой-либо структуре данных). Если и указатель меняет положение в памяти, то можно поискать указатель на этот указатель и. т. д. Также можно поставить точки останова на обращения к игровому значению и проанализировать код, который их читает или изменяет.

Если игровое значение является полем некоторого класса, то можно искать экземпляры этого класса по указателю на таблицу виртуальных методов. Найти таблицы виртуальных методов не сложно из-за их специфической структуры. Кроме того, они часто содержат указатель на имя класса. При поиске экземпляров класса желательно определять не удален ли он по флагам менеджера памяти (который зависит от языка программирования, на котором написана игра).

Cоздание трейнера

Трейнеры создаются следующими способами:
1. При знании языка программирования, с помощью программ:
сканер памяти (TSearch, ArtMoney, Cheat Engine)
отладчик (SoftIce, OllyDbg, встроенный в TSearch)
2. С помощью программ для автоматического создания трейнеров (TMK, GTS, Trainer Creation Kit, Cheat Engine)

Существует 3 типа игр, для которых трейнеры могут создаваться разными способами:
1. простая (запись в память осуществляется напрямую по адресу)
2. DMA (динамическое распределение памяти. Если в игре присутствует DMA «технология», то адрес с необходимым для вас значением будет изменяться при каждом перезапуске или переходе на новый уровень)
3. защищенная (игра, которая защищена каким-либо протектором, создание трейнеров для таких игр бывает трудоёмким)
СБ
Сергей Бедарев
22 371
Лучший ответ
скрипт для нажатия клавиш, которые в свою очередь активируют те или иные команды (скрытые или открытые) в игре