Трейнер

Трейнер

Тре́нер, тре́йнер (англ. trainer) — программа, предназначенная для изменения поведения игры (например, делающие игрока бессмертным), обычно работающая непосредственно с оперативной памятью компьютера.

В 1980-х и 1990-х годах трейнеры обычно встраивались хакерами прямо в код игр. При запуске игры, сначала запускался трейнер с диалоговым окном «Вы хотите использовать читы?» Дальше выполнялся код игры. В названии трейнера использовались знаки сложения (+), по одному на каждую опцию трейнера. Например, «Группа Хакеров представляет: Игра+++» (три опции, например, бессмертие, бесконечная амуниция и телепортация).

Современные трейнеры обычно запускается как отдельная программа (до игры) и в своих названиях используют один знак сложения с числом опций после него, например, «Doom 3 Trainer +15». Кроме того, современные трейнеры работают с оперативной памятью игры, а не её исполняемым файлом, поскольку внесение изменений в исполняемый файл осложняется системами защиты от копирования.

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

Для создания трейнеров используются дамперы памяти, отладчики и дизассемблеры. Самый простой способ создать трейнер — поискать в памяти значения, совпадающие с нужным игровым параметром. Затем изменить его и поискать в получившемся списке снова. После нескольких итераций скорее всего останется небольшой список адресов, значения по которым можно попытаться изменить. Существует множество утилит (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. защищенная (игра, которая защищена каким-либо протектором, создание трейнеров для таких игр бывает трудоёмким)

Защита от трейнеров

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



Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "Трейнер" в других словарях:

  • Трейнер (игры) — …   Википедия

  • Короткие истории (фильм, 1993) — Другие фильмы с таким же или схожим названием: см. Короткие истории (фильм). Короткие истории Short Cuts …   Википедия

  • Футбольная Конференция Англии 2010/2011 — Футбольная Конференция 2010/11  32 й сезон Футбольной Конференции Англии и 7 й сезон в его нынешнем формате лиги. Сезон начался в августе 2010 года и завершился в мае 2011 года, розыгрышем финала плей офф. В Футбольной Конференции играют как …   Википедия

  • Форд, Харрисон — В Википедии есть статьи о других людях с такой фамилией, см. Форд. Харрисон Форд Harrison Ford …   Википедия

  • Final Fantasy VII — Обложка североамериканского издания игры Разработчик Square Co Ltd. Eidos …   Википедия

  • Зиген — Siegen Герб …   Википедия

  • Читерство — (от англ. to cheat мошенничать) жаргонный термин, применяемый преимущественно в контексте игр, чаще компьютерных или азартных. Означает применение недозволенных или нестандартных методов и приёмов, а также специальных технических средств для …   Википедия

  • Чит-код — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете …   Википедия

  • ArtMoney — Тип Читерское …   Википедия

  • Blade Runner (игра) — Blade Runner Разработчик Westwood Studios Издатель …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»