Как написать трейнер для игры
Здравствуйте! Я решил написать подробнейший гайд по взлому одиночных игр и созданию трейнеров для них. В этом гайде должны разобраться даже новички.
Конечно, одиночные игры начинают проигрывать многопользовательским, но их век ещё долго не закончится. Пока все онлайн игры до ужаса однообразны!
Готовые трейнеры можно скачать с этого сайта. Трейнер для игры, рассматриваемой здесь, делает бесконечное супер-оружие, которое позволяет очень легко выиграть игру.
Взлом на бесконечное здоровье
Так как в этой игре здоровье обозначается полоской (шкалой), и мы не знаем значение здоровья, придётся искать неизвестное значение.
Тип сканирования выбираем «Unknown initial value». Тип значения оставляем «4 Bytes».
Он найдёт 70774784 значения. Теперь нам надо уменьшить количество значений, то есть отсеять лишние.
Уменьшаем количество здоровья в игре:
По логике, скорее всего, нужное значение 17207 или 16031. Методом тыка выясняем, что нужное значение 17207. Поменяем его на 17400.
Здоровье стало полным:
Более лёгкий способ поиска здоровья
Теперь, когда мы узнали количество здоровья, можно искать сначала точное значение в 4 байта, а потом уменьшенное. Находит 3 значения. Зелёное из них только одно, оно-то нам и нужно.
Зелёным цветом выделяются адреса, которые по мнению программы, не изменяют своё расположение. То есть при каждом запуске игры, они одинаковые и подходят для создания трейнеров.
Здоровье можно «заморозить», то есть программа сама будет восстанавливать указанное значение. Для этого нужно поставить слева галочку. Скрин будет ниже.
Если Вы не поняли, как ставить значение, скрин тоже будет ниже.
Взлом на 1 000 000 очков
По вышесказанному материалу попробуйте по скринам сами догадаться, как надо делать. Если не получится, пишите в комментариях, поможем.
Взлом 1-ого вида ракет
(со всеми остальными и с супер-оружием всё аналогично)
Опять попытайтесь разобраться по скринам.
Когда таблица создана, можно сделать трейнер. В меню «File» выбираем «Save». Тип файла: «Cheat Engine Trainer (*.EXE)».
Нам предлагают создать новый трейнер, изменяющий данные в запущенной игре. Нажимаем «ОК».
Нажимаем «Add». У адресов можно было изменить описание, чтобы тут выбрать его и вписать значение. Переключатель стоит в положение заморозки. Жмём «Add».
Адрес появляется в списке. В поле «Description» можно вписать описание действия, я в поле «Hotkey» горячую клавишу, активирующую действие.
Если замораживать не надо, то ставим второй пункт переключателя.
Всё добавляем и генерируем трейнер.
Полный перевод трейнера
Трейнер, созданный в СЕ, содержит английские надписи, как на скрине:
По скринам видно, где заменяются слова «About» и «Close» на «Справка» и «Закрыть» соответственно, «Hotkey» и «Effect» на «Клавиши» и «Эффект» соответственно.
Нажимаем «Применить» () и «Сохранить» ().
Пояснения по типам сканирования переменных
Я постарался объяснить как можно лучше. Если что-то непонятно или есть дополнения, пишите в комментариях. Для лучшего понимания размеров переменных, попробуйте изучить какой-нибудь простенький язык программирования (Basic, Pascal) по какой-нибудь книжке для «чайников». Но, если Вы этого не поняли, то ничего страшного. В начале читерского пути это не будет мешать.
Как сделать трейнер в Cheat Engine
Программа Cheat Engine помогает пользователям взламывать любимые игры, приобретая бесконечное количество игровых денег и нескончаемую шкалу жизни игрового персонажа. Для удобства использования, разработчики программы добавили опцию создания трейнеров. С помощью трейнеров пользователь сохраняет алгоритм взлома игры, который будет использоваться в следующих сессиях. В этой статье создан гид по тому, как сделать трейнер в cheat engine. Дополнительно, авторы статьи рассказывают об инструментах программы, которые влияют на работоспособность трейнера.
Для чего нужен трейнер в Cheat Engine
Трейнер экономит время игрока. С помощью такого устройства, игроку нет необходимости каждый день настраивать параметры Cheat Engine и делать изменения в файлах игры. Трейнер — это плагин, который создается один раз и используется каждый раз по необходимости. В такой плагин настраивается список функций. Это — увеличение очков игрока, уменьшение сил и выносливости соперника, сокращение карты, появление бустеров и др.
Этапы создания трейнера. Выбор процесса
Меню для создания трейнера расположено во вкладке «File».
Нажав кнопку «Generate graphic trainer» пользователю открываются два окна. В одном окне создается трейнер. В другом окне демонстрируется визуализация трейнера, а также, прописываются горячие клавиши.
В строке «Processname» прописывается класс процессов, которые будет выполнять трейнер. Для взлома программ используется процесс cheatengine-x86_64.exe.
Ниже расположена опция для установки горячей клавиши вызова трейнера. Пользователем выбирается сочетание клавиш по собственному усмотрению.
Добавить горячие клавиши
Создание трейнера заключается в выборе горячих клавиш для параметров взлома. Эти клавиши игрок будет нажимать, чтобы взломать интересующий процесс во время игры. Этот параметр настраивается посредством опции Add Hotkey. Как показано на рисунке ниже, автор статьи выбрал параметр Hp, который отвечает за восстановление здоровья игрового персонажа.
После нажатия кнопки «Ok» появится окно, в котором проставляется значение горячей клавиши для выбранного параметра взлома. Затем автор статьи выбрал горячие клавиши для параметра «Godmode» ( Бессмертие). В окне демонстрации процессов появились 2 новых описания.
В строках «Title» и «About text» прописывается название трейнера и добавляется описание параметров, которые улучает плагин.
В правой части панели инструментов расположена настройка запуска трейнера «Stop playing when». По умолчанию, трейнер активируется одновременно с запуском игры. Вместе с тем, игрок может отключать трейнер.
Ниже, расположена кнопка уведомления об использовании трейнера. В шутерах и других «шумных» играх, звуковое сопровождение трейнера помогает игроку, так как игрок получает уведомление, сообщающее, что его персонаж получил дополнительные силы.
Теперь осталось нажать кнопку «Generate trainer» и трейнер будет готов.
На что надо обращать внимания при создании трейнера?
Создание трейнера требует внимательности и знания особенностей компьютерной игры, которую предстоит взламывать. В панели инструментов программы Cheat Engine представлены инструменты для создания оригинальных кодов для взлома. Однако, создания таких кодов требует навыки в программировании, либо умение использовать скрипты, найденные в интернете. Большинство игроков находят параметры взлома в формате exe в интернете, загружают такие файлы на компьютер и используют в трейнерах, как сделал это автор статьи с кодом для «Бессмертия» и «Здоровья».
Создание трейнера своими руками
Представьте себе ситуацию: вы никак не можете пройти уровень в любимой игрушке, и при этом к ней не существует читов. Что делать? Правильно, нужно воспользоваться трейнером.
Трейнер — это небольшая программа, с помощью которой можно изменять некоторые параметра игры.
Предположим, вы запустили игру, в которой у вас 10 жизней. С помощью трейнера можно изменить количество жизней, например, с 10 до 100, или вовсе сделаться бессмертным. Трейнеры предоставляют несравнимо большие возможности, чем обыкновенные коды. Вообще большинство геймеров старается пользоваться именно трейнерами, а не обычными кодами.
Принцип работы этой программы таков. Игра загружает некоторые данные в оперативную память. В их число входят количество жизней, деньги и многие другие игровые параметры. Трейнер, включаемый после запуска игры, занимается тем, что меняет или «замораживает» эти параметры прямо в оперативной памяти.
Как искать неизвестные значения
Например, вы хотите бесконечные жизни в GTA Vice city. Сначала запускаем MTC, затем игру. Запоминаем количество жизней и переключаемся в MTC нажатием ALT+TAB. Далее следуйте инструкции:
1. Переключитесь в режим PID LOCK (рис. 1) и выберите из списка запущенную игру.
2. Выберите алгоритм поиска Normal.
3. В окне ввода значения для поиска (Value to search) наберите количество жизней в игре.
4. Нажмите кнопку Start.
5. После того, как поиск будет закончен, переключитесь обратно в игру.
6. Потратьте немного жизней. К примеру, их у вас осталось 90.
7. Переключитесь в MTC.
8. В окне ввода значения для поиска наберите 90.
9. Нажмите кнопку Continue.
10. По окончании поиска переключитесь в игру.
11. Повторяйте эти действия, пока не останется только одно значение.
Находить и «замораживать» таким образом можно не только численные значения, но и бары (полоски силы, выносливости и т.д.)
Когда вы нашли нужное значение, вы можете изменить его или «заморозить» — не давать ему изменяться:
1. Выберите частоту обновления значения. Чем правее указатель, тем быстрее будет обновляться адрес. Если вы не знаете, что выбрать, — доведите указатель до правой границы.
2. Сделайте двойной щелчок по кнопке Freeze.
Теперь значение не должно меняться.
Изменить значение на нужное вам:
1. Выберите адрес.
2. Введите нужное значение.
3. Нажмите Poke.
4. Если вы изменили значения по нескольким адресам, то можете нажать кнопку Poke All, чтобы внести сразу все изменения.
Помните, что значения тоже должны вводится в HEX-формате. То есть цифра 75, которую вы видите на картинке, вовсе не будет 75 жизнями в игре (рис. 2). На самом деле их будет 117, т.к. 75 в шестнадцатеричной системе исчисления (которая и называется HEX) равно 117 в десятичной. Чтобы вы не запутались, в программу встроен калькулятор. Как правило, аналогичные программы позволяют вводить значения в десятеричной системе исчисления.
Создание трейнера
Теперь, когда мы научились находить значения и работать с ними, пора приступить к созданию трейнера. Перед этим надо сохранить «замороженное» или измененное вами значение. Нажмите кнопку save и сохраните значение параметра в файл, место которого нужно указать на диске. Он может быть сохранен в любую папку.
Файл будет иметь расширение *.gtc. Теперь приступим непосредственно к созданию трейнера.
Нажмите на кнопку, изображенную на рис. 3. Откроется окно создания трейнера.
Теперь вам необходимо ввести следующую информацию:
TITLE: заголовок трейнера.
MADE BY: кем сделан.
DATE: когда был создан.
FOR: для какой игры.
INFO: пишите, что хотите.
EXE NAME: имя файла, который сгенерирует MTC.
EMPTY: здесь мы открываем сохраненные значения и даем им имя, которое хотим видеть на кнопке трейнера (ее тоже нужно указать). Важно, чтобы эти клавиши не совпадали с клавишами управления в самой игре. Очень часто модерируемые параметры заводятся на F1-F12, которые могут использоваться игрой.
Рядом с этой надписью — место для галочки. Если галочка стоит, значение по данному адресу будет заморожено. Если галочки нет, значение будет записано лишь один раз и потом может измениться.
В левом нижнем углу находится опция Auto PID: если она не отмечена, то в получившемся трейнере можно будет использовать только горячие клавиши, если отмечена — можно управлять действиями трейнера из него самого, нажимая кнопки.
Когда все будет заполнено, нажмите на кнопку генерации трейнера, и он будет записан в директорию с MTC. Вы узнаете его по названию и иконке, изображающей молнии на зеленом фоне.
Конечно, Magic Trainer Creator далеко не единственная программа такого рода. Есть и аналогичные, например, ArtMoney или DetectiveStory. Принцип работы у них одинаков. Если вы захотите воспользоваться другими программами для создания трейнера, то вот линки на них:
Создание трейнера
Трейнеры и с чем их едят.
Ранее в 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. защищенная (игра, которая защищена каким-либо протектором, создание трейнеров для таких игр бывает трудоёмким)
Защита от трейнеров
Если в игре имеется официальная таблица рекордов или игра является сетевой, то существование трейнеров губит весь интерес к сетевым баталиям игру. В этом случае приходится встраивать систему защиты от трейнеров. Для этого важнейшие игровые параметры шифруются (и расшифровываются на короткое время перед использованием) или создается зашифрованная копия (с которой оригинальный параметр постоянно сравнивается). Для обхода таких защит не обойтись без дизассемблирования программы.
Как написать трейнер для игры
Здравствуйте! Я решил написать подробнейший гайд по взлому одиночных игр и созданию трейнеров для них. В этом гайде должны разобраться даже новички.
Конечно, одиночные игры начинают проигрывать многопользовательским, но их век ещё долго не закончится. Пока все онлайн игры до ужаса однообразны!
Готовые трейнеры можно скачать с этого сайта. Трейнер для игры, рассматриваемой здесь, делает бесконечное супер-оружие, которое позволяет очень легко выиграть игру.
Взлом на бесконечное здоровье
Так как в этой игре здоровье обозначается полоской (шкалой), и мы не знаем значение здоровья, придётся искать неизвестное значение.
Тип сканирования выбираем «Unknown initial value». Тип значения оставляем «4 Bytes».
Он найдёт 70774784 значения. Теперь нам надо уменьшить количество значений, то есть отсеять лишние.
Уменьшаем количество здоровья в игре:
По логике, скорее всего, нужное значение 17207 или 16031. Методом тыка выясняем, что нужное значение 17207. Поменяем его на 17400.
Здоровье стало полным:
Более лёгкий способ поиска здоровья
Теперь, когда мы узнали количество здоровья, можно искать сначала точное значение в 4 байта, а потом уменьшенное. Находит 3 значения. Зелёное из них только одно, оно-то нам и нужно.
Зелёным цветом выделяются адреса, которые по мнению программы, не изменяют своё расположение. То есть при каждом запуске игры, они одинаковые и подходят для создания трейнеров.
Здоровье можно «заморозить», то есть программа сама будет восстанавливать указанное значение. Для этого нужно поставить слева галочку. Скрин будет ниже.
Если Вы не поняли, как ставить значение, скрин тоже будет ниже.
Взлом на 1 000 000 очков
По вышесказанному материалу попробуйте по скринам сами догадаться, как надо делать. Если не получится, пишите в комментариях, поможем.
Взлом 1-ого вида ракет
(со всеми остальными и с супер-оружием всё аналогично)
Опять попытайтесь разобраться по скринам.
Когда таблица создана, можно сделать трейнер. В меню «File» выбираем «Save». Тип файла: «Cheat Engine Trainer (*.EXE)».
Нам предлагают создать новый трейнер, изменяющий данные в запущенной игре. Нажимаем «ОК».
Нажимаем «Add». У адресов можно было изменить описание, чтобы тут выбрать его и вписать значение. Переключатель стоит в положение заморозки. Жмём «Add».
Адрес появляется в списке. В поле «Description» можно вписать описание действия, я в поле «Hotkey» горячую клавишу, активирующую действие.
Если замораживать не надо, то ставим второй пункт переключателя.
Всё добавляем и генерируем трейнер.
Полный перевод трейнера
Трейнер, созданный в СЕ, содержит английские надписи, как на скрине:
По скринам видно, где заменяются слова «About» и «Close» на «Справка» и «Закрыть» соответственно, «Hotkey» и «Effect» на «Клавиши» и «Эффект» соответственно.
Нажимаем «Применить» () и «Сохранить» ().
Пояснения по типам сканирования переменных
Я постарался объяснить как можно лучше. Если что-то непонятно или есть дополнения, пишите в комментариях. Для лучшего понимания размеров переменных, попробуйте изучить какой-нибудь простенький язык программирования (Basic, Pascal) по какой-нибудь книжке для «чайников». Но, если Вы этого не поняли, то ничего страшного. В начале читерского пути это не будет мешать.