Тренеры для игр что такое
Создание трейнера
Трейнеры и с чем их едят.
Ранее в 1980-е 1990-е на заре компьютерных игр трейнеры обычно встраивались хакерами прямо в код игр. При запуске игры, сначала запускался трейнер с окном «Вы хотите использовать читы?» Дальше выполнялся код игры. В названии трейнера использовались знаки сложения (+), по одному на каждую опцию трейнера. Например, «Группа Хакеров представляет: Игра+++» (три опции, например, бессмертие, бесконечная амуниция и телепортация). Сейчас же обычно в названии трейнера пишут (+9), что означает о 9 функциях трейнера. Вот например название трейнера для gta: GTA IV трейнер (+19).
Методы создания трейнеров
Для создания трейнеров используются специальный программы: дамперы памяти, отладчики и дизассемблеры. Самый простой способ создать его — поискать в памяти значения, совпадающие с нужным игровым параметром. Затем изменить его и поискать в получившемся списке снова. После нескольких итераций скорее всего останется небольшой список адресов, значения по которым можно попытаться изменить. Существует множество утилит (ArtMoney, Cheat’o’Matic…), автоматизирующих процесс поиска и изменения значений.
В некоторых случаях нужное игровое значение постоянно меняет свое положение в памяти. В этом случае можно попытаться найти указатель на него (возможно с небольшим смещением, если игровое значение находится в какой-либо структуре данных). Если и указатель меняет положение в памяти, то можно поискать указатель на этот указатель и.т.д. Также можно поставить точки останова на обращения к игровому значению и проанализировать код, который их читает или изменяет.
Если игровое значение является полем некоторого класса, то можно искать экземпляры этого класса по указателю на таблицу виртуальных методов. Найти таблицы виртуальных методов не сложно из-за их специфической структуры. Кроме того, они часто содержат указатель на имя класса. При поиске экземпляров класса желательно определять не удален ли он по флагам менеджера памяти (который зависит от языка программирования, на котором написана игра).
Трейнеры создаются следующими способами:
1. При знании языка программирования, с помощью программ:
сканер памяти (TSearch, ArtMoney, Cheat Engine)
отладчик (SoftIce, OllyDbg, встроенный в TSearch)
2. С помощью программ для автоматического создания трейнеров (TMK, GTS, Trainer Creation Kit, Cheat Engine)
Существует 3 типа игр, для которых трейнеры могут создаваться разными способами:
1. простая (запись в память осуществляется напрямую по адресу)
2. DMA (динамическое распределение памяти. Если в игре присутствует DMA «технология», то адрес с необходимым для вас значением будет изменяться при каждом перезапуске или переходе на новый уровень)
3. защищенная (игра, которая защищена каким-либо протектором, создание трейнеров для таких игр бывает трудоёмким)
Защита от трейнеров
Если в игре имеется официальная таблица рекордов или игра является сетевой, то существование трейнеров губит весь интерес к сетевым баталиям игру. В этом случае приходится встраивать систему защиты от трейнеров. Для этого важнейшие игровые параметры шифруются (и расшифровываются на короткое время перед использованием) или создается зашифрованная копия (с которой оригинальный параметр постоянно сравнивается). Для обхода таких защит не обойтись без дизассемблирования программы.