Наш ответ Magic Trainer Creator
На белом свете появилась новая программа для взлома игр — Detective Story. Извините. я хотел сказать — утилита для исправления ошибок разработчиков вроде малого количества денег в играх. Написана она вашим покорным слугой и автором этой статьи. Нескромно? А никто и не обещал, что кто-то будет скромничать. А вот поддержать отечественного производителя не только никогда не поздно, но еще и не всегда рано.
Кроме русскоязычности, в рассматриваемой утилите есть множество других преимуществ перед прочими программами подобной направленности: простой, инстинктивно понятный интерфейс, множество добавлений для пущего удобства пользователя, она как будто специально предназначена для ввода шестнадцатиричных кодов из рубрики "КОДекс" (особо нетерпеливым смотреть в конец статьи). Добавьте ко всему "хит сезона" — возможность вернуться к предыдущему поиску! То, чего нет даже в Magic Trainer Creator. Да и неудобно тем же Magic Trainer Creator пользоваться, когда единственно необходимым является введение hex-кода: программа слишком громоздка. А в Detective Story все предельно просто. Запустил ехе-шник, ввел адрес и наслаждайся результатом.
Верх.
Итак, давайте запустим утилиту и рассмотрим повнимательнее главное окно. Сразу же бросается в глаза панель инструментов (если нет, убедитесь в наличии монитора). На ней имеются следующие кнопки:
1 — создать новую таблицу адресов;
2 — открыть таблицу адресов с диска;
3 — сохранить текущую таблицу адресов;
4 — выбрать процесс для взлома (исправления ошибок). В появившемся окне следует выбрать один из процессов и нажать ОК. После выбора процесса становятся доступными кнопки 5 и 6;
5 — сохранить память выбранного процесса на диск (если нужно);
6 — ручная блокировка (если у вас стоит флажок автоблокировки в опциях, то использовать не нужно);
7 — первый поиск. В появившемся окне настроек поиска можно выбрать вид поиска (точное значение или диапазон значений), тип искомого числа (long (4 bytes) наиболее распространен) и ввести собственно искомые числа. Обратите внимание на кнопки "-" и "+" около полей для ввода числа — для целых чисел они означают наименьшее и наибольшее числа соответственно. То есть, если нужно найти числа, меньше либо равные 1, то делаем так: выбираем "диапазон значений", в первом поле жмем на "-", а во втором вводим "1". Флаг "Проверить не только главный модуль" отвечает за область поиска. Рекомендуется держать его в неотмеченном состоянии — так поиск выполняется намного быстрее, но если не удается найти нужное значение, то можно попробовать начать новый поиск с отмеченным флажком, обычно помогает;
8 — поиск дальше. Эта кнопка отсеивает адреса по введенным условиям. Появившееся окно совпадает с предыдущим;
9, 10 — эти кнопки служат для предотвращения попыток ударить клавиатурой в монитор и выкинуть мышь в окно. Непонятно? Представьте: вы уже минут 20 отсеиваете непокорный адрес с деньгами. Конец мучений близок, но тут вы вводите не то число, и, ясное дело, получаете 0 адресов. Все старания насмарку, и возникают "те самые" желания. Восьмая кнопочка вернет вас на один поиск назад, а девятая — вперед (если вы случайно нажали на восьмую). Пользоваться обеими можно неограниченное число раз;
11 — настройки. Здесь можно настроить количество показываемых адресов, максимальное количество найденных, частоту обновления и заморозки значений, а также установить/снять упомянутый выше флажок автоблокировки (она увеличивает скорость поиска) и снять блокировку выбранного процесса после краха программы. Настройки можно сохранить в реестре соответствующей кнопкой;
12 — окно About. Настоятельно рекомендуется взглянуть; здесь также можно написать письмо автору программы (мне);
13 — список найденных адресов;
14 — список готовых адресов.
. и низ
Снизу на главном окне имеются следующие кнопки:
15 — переместить выделенные (выделять можно и с помощью клавиш Shift и Ctrl) адреса из найденных (список 13) в готовые (список 14);
16 — редактировать адреса, выделенные (выделять можно и с помощью клавиш Shift и Ctrl) в списке 14. В появившемся окне можно настроить значение, пояснение, адрес и тип выделенных адресов, а также заморозить или разморозить его. ВНИМАНИЕ! При редактировании нескольких адресов изменения коснутся всех выделенных адресов, но неизмененные поля останутся неизмененными. Например: если выделить несколько адресов и нажать кнопку редактирования, после чего вписать только значение, то пояснение, замороженность, адрес внутри процесса и тип останутся, какими были, а значение для всех адресов станет тем, что вы ввели;
17 — позволяет вручную создать готовый адрес по введенным значениям;
18 — служит для удаления выделенных в списке 14 адресов.
Как пользоваться magic trainer creator
Как вы могли заметить, в меню «Options» в Мехварриоре есть пара пунктов, с помощью которых вы можете сделать игру легче. В частности, вы можете включить бессмертие, неограниченные патроны и контроль за температурой. Но при включении этих опций в игре появится надпись , мол, нечестно играете. С этой надписью вы не сможете перейти на следующий уровень, так что смысл от читов несколько теряется. Но мы можем сделать трейнер, который при всех этих включенных вкусностях уберет назойливую надпись и позволит продвигаться по уровням. Запустите Magic Trainer Creator и игру.
В меню настроек включите . Начните новую кампанию. Как видите, гадкая надпись имеется в наличии. А значит, где-то в игре установлен некий , показывающий, что надпись есть (если надпись есть, то флаг установлен в положение 1; надписи нет — в 0. Запомните это). Когда надпись включена, поставьте игру на паузу и через Alt-Tab переключитесь в Magic Trainer Creator (далее MTC). Нажмите в нем кнопку process id. Найдите в списке процесс (программу) по имени Mech3.exe (собственно файл, запускающий Mechwarrior) и кликните на него пару раз мышью. Заполните также следующие поля указанным образом. Мы выбираем обычный режим поиска, при котором будут искаться определенные числовые значения — в данном случае значение флага. И, поскольку в данный момент надпись dishonorable включена, искать мы будем единицу. Через некоторое время шуршания винчестером MTC найдет все значения в игре, равные 1. Вернитесь в игру, идите в меню настроек и отключите читы. После этого начните новую кампанию. Надписи уже не будет, а это значит, что в игре поставлен на значение 0. Поэтому переключаемся в MTC и продолжаем поиск, только теперь ищем 0: Нажмите здесь на кнопку Continue, чтоб продолжить поиск. Пусть MTC найдет нужные ему адреса, — их опять будет целая куча. Вернитесь в игру и в настройках включите читы. Опять появится злобная надпись, мы опять переключимся в MTC и проведем поиск на циферку 1. Продолжайте повторять эти шаги (по включению-выключению читов, началу кампаний и поиск нулей или единиц) пока это окно не скажет вам, что остался всего один адрес. Когда останется только один, кликните на нем пару раз. Он появится в нижней части экрана MTC, рядом с текстом Values to write in memory. Нажмите кнопку Add (добавить адрес). Опять даблкликните на найденном адресе и в маленьком появившемся окошке введите цифру 0. Затем найдите в той же области копку Save, нажмите ее и сохраните найденный адрес в каком-нибудь файле (только не потеряйте его где-нибудь). Теперь будем делать трейнер, — нажимаем кнопку,она находится в правой нижней части экрана MTC. Появится экран — заполните все поля. Нажмите кнопку Empty напротив текста, описывающего действие трейнера, и найдите файл, который вы только что сохранили, после чего выберите/откройте его. Поставьте галочку справа от текста — она включит операцию Freeze, то есть запретит игре менять значение флага. Дайте трейнеру имя (exe name). После всего этого надо нажать на кнопку в середине правой части экрана — кнопка без надписи. Трейнер будет создан. Пользуйтесь на здоровье.
Как скачать и установить трейнер в игру
Многие начинающие игроки задаются вопросом – каким способом можно создать трейнеры, ведь они являются эффективными помощниками во многих играх. Давайте сегодня разберемся в этом вопросе и параллельно выясним, для чего трейнеры нужны и как их правильно использовать.
Опытные игроманы уверены в том, что создавать трейнеры – удел неопытных и новичков в играх, хотя порой, сами используют их в играх. Главное назначение трейнеров – дать возможность любому игроку пройти миссию или же уровень, с которым у него возникли трудности, преодолеть которые ему на данный момент не под силу.
К счастью, или сожалению, не все игры рассчитаны на использование чит-кодов, а в некоторых из них игрок может увидеть предупредительные сообщения о том, что использовать такие коды нужно в определенном, умеренном порядке. Так вот, трейнеры в данном случае дают возможность избавиться от имеющихся такого рода ограничений.

Когда стало понятно, что собой предствляют эти трейнеры и как в принципе, их можно использовать. Нужно разобраться в том, как их создавать какие методы создания имеются на сегодняшний день. Начнем наше рассмотрение с такой программы как Magic Trainer Creator:
- Данная программа является наиболее простой, а значит, используют ее многие игроки.
- Когда вы запускаете рассматриваемую программу, автоматически копируется часть игрового кода, который, в свою очередь, расположен на оперативной памяти.
- В коде, который скопировался в данном процесс находится информация по самым различным параметрам игры – манна, деньги, сила и т.д.
- В этой программе игрок просто находим нужные ему значения и попросту замораживаете их, а это означает, что эти параметры не будут меняться в течение игры.
- Как только вы запустите выбранную вами игру, ее нужно будет открыть, после чего переходите в скаченную ранее программу и там уже осуществляете активацию режима PID.
- После этого нужно будет выбрать нужную вам игру и не забываем об алгоритме типа Normal.
- Следующий шаг – вводим начальное число в специальное поле под названием «Value to search», после этого кнопкой мыши нажимаем на функцию «старт».
- Пришло время перейти обратно в выбранную вами игру для того чтобы подкорректировать значение, которое было выставлено автоматически или на данный момент есть в игре.
- Обратно возвращаемся к Magic Trainer Creator и меняем нужные параметры значений. После чего сразу же сохраняем все проведенные ранее корректировки, выбирая функцию «Continue».
- Помните о том, что вам придется повторять проведение данной процедуры до тех пор, пока искомое значение не уменьшиться до минимума.

- Для того чтобы все нужные вам значения оставались в положение «заморозка», нужно будет кнопкой мыши протянуть полосу обновления до максимального значения. В данном случае вправо до конца. Теперь закрепляем полученный результат нажатием кнопки Freeze.
- Не забывайте о том, чтобы не сбить все новые настройки, в обязательном порядке в конце той процедуры нужно будет сохранить все внесенные ранее изменения. Ничего сложного для этого делать не нужно, просто нажимаете кнопку «Save», не забыв при этом указывать местоположение файла, который вы сохраняете, на диске.
- Игрок также должен помнить о том, что в основном окне программы в обязательном порядке нужно будет заполнить все строки и поля, и только потом выбрать кнопку – «создать трейнер».
Если вы не можете найти файл трейнера, то просто попробуйте организовать свой поиск в папке, которая называется «программы».
Если говорить совсем уж просто, то трейнеры – это возможность получить в игре бессмертие или же неограниченное число патронов в вашем оружии. Данные параметры могут быть различными, в зависимости от игры. В отличие от кодов-читов, трейнер является программой, благодаря которой вы можете ее функции реализовать путем нажатия горячих клавиш. Чтобы осуществить установку трейнера и запустить его необходимо проделать следующие шаги:
- Запускать программу необходимо перед тем, как вы войдете в игру. Последовательность действий должна быть именно такой.
- Нужно не забывать, что программы для создания трейнеров могут быть разные, так что некоторые приложения такого типа могут работать только из директории с игрой.
- Чтобы осуществить этот процесс нужно будет сначала распаковать архивный файл, в котором и находится трейнер, и только после этого осуществить перемещение его в определенную папку на вашем ПК.
- В том случае, если ничего не получилось, тогда пользователю лучше скачать другую версию программы. Еще программа может не работать из-за неподходящей версии программы с игрой. Если так произошло, тогда вам нужно будет обновить игру.

- Необходимо отметить, что каждый имеющийся чит имеет свои функции и этот набор может отличаться от аналогичного набора другого подобного чита. Помимо всего прочего, вызывать определенные функции можно различным набором клавиш, это тоже зависит от самого чита.
- После того как вам удалось запустить определенный чит, нужно будет выяснить, какими клавишами вызывать ту или иную его функцию. Если сделать самостоятельно это вам не удалось, тогда обратитесь за подробным разъяснением в папку «Help».
- Пока вы не запомнили наизусть эти наборы клавиш, можно выписать их на листок, чтобы он всегда был перед вашими глазами.
Теперь можете запускать выбранную вами игру и пробовать на практике действие трейнера и его эффективность. Описание может показаться слишком сложным, но на практике скачать, установить и запустить трейнер очень просто, так что приступайте к действиям после того как ознакомитесь с инструкцией, которая представлена выше.
Пишем трейнер на Visual Basic
До сих пор в журнале мы учили вас ломать игры и изготавливать для них трейнеры с помощью таких программ, как MTC и ему подобных. Теперь же рассмотрим более продвинутый вариант — попробуем научиться программировать трейнеры своими силами. Зачем? А затем, что трейнеры, написанные самим на любом языке программирования, имеют намного более широкие возможности . Во-первых, поскольку вы сами пишете код, то, соответственно, знаете, где там что, и получаете возможность настраивать трейнер так, как вам нужно, учитывая любые мелочи. Во-вторых, такие трейнеры занимают небольшой объем памяти. Ну а в-третьих, намного приятней юзать собственную прогу, а также показывать и дарить ее своим знакомым. Но, разумеется, надо хотя бы немного знать какой-нибудь язык программирования и разбираться в шестнадцатеричных кодах. Неважно, на каком языке писать трейнер, общий принцип будет примерно тем же. Здесь мы рассмотрим написание трейнеров на Visual Basic , так как этот язык — один из наиболее простых и его легче осваивать начинающим. Если же вы хорошо разбираетесь в программировании, то можете использовать любой другой язык.
Все, что нужно, это Visual Basic, желательно не ниже 5-й версии, и программа для поиска адресов памяти. В качестве последней вполне можно использовать тот же самый Magic Trainer Creator (MTC). Также можно воспользоваться теми адресами, которые мы публикуем в “шестнадцатеричном” разделе “КОДекса”.
Windows API — функции
Любое Windows-приложение использует так называемые стандартные API-функции.
Вначале поговорим о тех функциях, которые понадобятся при написании простейшего трейнера. О том, куда это все писать и как, будет рассказано позже.
FindWindow (ClassName, “заголовок окна”) — с помощью этой функции программа ищет окно по его заголовку. В скобках указывается класс окна и, через запятую, в кавычках его заголовок. В Visual Basic любую функцию надо “декларировать”, т.е. как бы описать машине, что это функция из себя представляет. Выглядит это так: Declare Function FindWindow Lib “user32” Alias “FindWindowA” (ByVal lpClassName As String, ByVal lpWindowName As String) As Long. Я не буду подробно пояснять смысл этих слов, так как в этой строке менять вам все равно ничего не придется, какую бы игру вы ни взяли.
GetWindowThreadProcessId (WindowHandle, ProcessId) — перехватывает управление из FindWindow и возвращает идентификатор процесса (ProcessId), который нужен для управления этим процессом. Это описывается так: Declare Function GetWIndowProcessId Lib “user32” (ByVal hwnd As Long, lpdwProcessId As Long) As Long
OpenProcess (DesiredAccess, Inherit, ProcessId) — эта функция возвратит управление игре. Потом это можно использовать для записи и чтения данных. DesiretAccess определяет права доступа к данным игры. Здесь мы укажем полный доступ: PROCESS_ALL_ACCESS. Inherit всегда должен иметь значение False. ProcessId устанавливается такой же как в функции, описанной в пункте 2. Описывается все это так: Declare Function OpenProcess Lib “kernel32” (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
CloseHandle (ProcessHandle) — закрывает все открытые программой процессы. Описывается так: DeclareFunction CloseHandle Lib “kernel32” (ByVal hObject As Long) As Long
WriteProcessMemory (ProcessHandle, Address, Value, SizeofValue, BytesWritten) — записывает значение в адрес игры. Декларируется так: Declare Function WriteProcessMemory Lib “kernel32” (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByVal lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
ReadProcessMemory (ProcessHandle, Address, Value, SizeofValue, BytesWritten) — читает значение из адреса игры. Описывается: Declare Function WriteProcessMemory Lib “kernel32” (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByVal lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Это пока что все функции Windows, которые понадобятся. Вы можете использовать еще и другие, если знаете их и если это вам понадобится для расширения возможностей. Прочитать подробней про них можно в хелпах и в соответствующей литературе.
Если вы ничего не поняли из сказанного выше, а под рукой не нащупывается книги по Visual Basic, то пока что продолжайте читать дальше — по ходу разберетесь.
Шаг первый — поиск адреса
Вначале ищем адрес. Для примера возьмем игру SimCity 3000 Holiday Theme Edition . Вы можете искать адрес любой удобной для вас программой, но здесь я объясню, как искать, на примере Magic Trainer Creator (МТС). Запустим игру, затем MTC. В поле Process ID выбираем запускаемый файл игры (Sc3.exe). Выбираем режим поиска Normal , в поле Value to search вводим текущую сумму денег. Нажимаем Start . По завершении поиска (нужный адрес, скорее всего, не будет найден с первого раза) возвращаемся в игру и меняем количество денег (строим новое недорогое здание, чтобы потратить немного). Затем в MTC ставим в поле Value to search новое количество денег и нажимаем Continue . Проделываем все это несколько раз, пока не найдем один адрес. У меня этот адрес был 235B218, но у вас может быть и другой. Адрес надо будет указывать в программе сразу после знаков &H без пробелов — это указывает программе, что мы используем шестнадцатеричные значения. Выглядеть будет так: &H235B218. Теперь на всякий случай проверим, правильно ли найден адрес. Щелкаем по нему, чтобы добавить в нижнее поле, затем щелкаем по нему там. В поле Monitor нажимаем кнопку в левом верхнем углу и в появившемся окне меняем первые 2 бита на FF FF. Нажимаем кнопку в нижнем правом углу окна для возврата в основное окно MTC. В поле Monitor нажимаем среднюю нижнюю кнопку. Возвращаемся в игру и смотрим, изменилось ли количество денег. Если да, тогда выписываем найденный адрес на бумагу — он нам пригодится при создании трейнера. Конечно, здесь можно ограничиться этим и создать трейнер в MTC. Но мы-то собрались писать трейнер сами. Выходим из MTC и игры и продолжаем читать статью дальше.
Шаг второй — написание трейнера
Запускайте Visual Basic. Начните новый проект и выберите Standard EXE . В окне Properties в поле Caption можете оставить свое название для заголовка окна вместо принятого по молчанию Form1 . Добавьте 1 Textbox , 1 Button и Timer . Выделите только что добавленное текстовое поле (Textbox) и сотрите в окне Properties в поле Text название text1 — текстовое поле нужно для записи желаемого значения. Выделите добавленный таймер (Timer) и в окне Properties в поле Interval поставьте 500 — это частота обновления значения в игре (заморозка).
Выделите добавленную кнопку (Button), и в окне Properties в поле Caption сможете поставить свое наименование кнопки (она нужна для записи в игру набранного нами в текстовом поле трейнера значения). Выберите в меню Project опцию Add Module , чтобы добавить новый модуль в программу. В окне Project перейдите в этот модуль и наберите указанные ниже строчки. Каждая новая строка начинается со слова Declare и должна быть набрана в одну строку (здесь некоторые строчки могут быть напечатаны с переносом):
Теперь перейдите в Form1 , щелкнув по ней в окне Project. Вы увидите исходный экран с образом вашего будущего трейнера. Щелкните в любом месте этого окна правой кнопкой мыши и выберите пункт View Code . Напоминаю, что адрес, который я использовал здесь и в котором хранится инфа о деньгах, был у меня 235B218, но у вас может быть и другой. А заголовок окна игры в моей версии был Sim City 3000. У вас заголовок может несколько отличаться, и узнать вы его можете, переключившись из игры по Alt+Tab — заголовок написан на кнопке свернутого окна. Теперь наберите весь написанный ниже текст программы (после знака ‘ следуют комментарии, которые можно и не писать):
Вот вроде и все. Теперь нажмите в меню File->Make Project1.exe , чтобы создать запускаемый файл вашего трейнера. Не забудьте предварительно сохранить проект и вообще почаще сохраняйтесь в процессе написания программы, чтобы вернуться, если что, к первоначальному рабочему ее варианту. Вот теперь уже можно испытать трейнер в работе. Не забудьте, что вначале нужно запускать игру, а затем уже трейнер.
Прочие игры ломаются аналогичным образом.
Засим прощаюсь, желаю вам всяческих успехов во взломе. Удачных экспериментов!