Инструкция по использованию программы cheat engine

Все способы:

  • Учимся работать с Cheat Engine
    • Изменение значений в игре
    • Включение SpeedHack
  • Вопросы и ответы: 187

Если вы хотите поиграть в компьютерные игры не совсем честно, но не знаете как это сделать, тогда данная статья именно для вас. Сегодня мы расскажем вам, как можно взломать различные игры с помощью специализированного софта. Делать это мы будем с помощью Cheat Engine.

Сразу же хотим обратить внимание на тот факт, что в некоторых случаях при использовании указанной программы вы можете получить бан. Поэтому лучше всего сперва проверить работоспособность взлома на каком-то новом аккаунте, который будет не жалко в случае чего потерять.

Учимся работать с Cheat Engine

Рассматриваемая нами программа для взлома весьма функциональна. С помощью нее можно выполнять множество различных задач. Но для большинства из них потребуется определенный багаж знаний, например опыт работы с HEX (Хекс). Мы не будем нагружать вас различными терминами и поучениями, поэтому просто расскажем вам об общих приемах и способах применения Cheat Engine.

Изменение значений в игре

Данная функция является самой популярной из всего арсенала Cheat Engine. Она позволяет изменить нужным образом практически любое значение в игре. Это может быть здоровье, броня, количество боеприпасов, денег, координаты персонажа и многое другое. Вы должны понимать, что использование данной функции далеко не всегда завершается успешно. Причиной неудачи может быть как ваша ошибка, так и надежная защита игры (если рассматривать онлайн-проекты). Тем не менее попытаться взломать показатели вы все же можете. Вот что нужно сделать:

  1. Загружаем с официального сайта Cheat Engine, после чего устанавливаем ее на компьютер либо ноутбук, а после этого запускаем.
  2. Вы увидите на рабочем столе следующую картину.
  3. Главное окно программы CheatEngine

  4. Теперь следует запустить клиент с игрой либо открыть таковую в браузере (если речь идет о веб-приложениях).
  5. После того, как игра будет запущена, необходимо определиться с тем, показатель чего именно вы хотите изменить. К примеру, это какая-то валюта. Смотрим в инвентарь и запоминаем ее текущее значение. В приведенном ниже примере данное значение равняется 71 315.
  6. Теперь снова возвращаемся к запущенной Cheat Engine. Необходимо в главном окне найти кнопку с изображением компьютера. До первого нажатия эта кнопка будет с мигающей обводкой. Нажимаем на нее один раз левой кнопкой мыши.
  7. В результате на экране появится окно меньших размеров со списком запущенных приложений. Из подобного списка вам нужно выделить ту строчку левой кнопки мыши, которая отвечает за игру. Ориентироваться можно по иконке слева от названия, а если таковая отсутствует, то по самому имени приложения. Как правило, имя содержит название приложения либо слово «GameClient». Выбрав нужную позицию, следует нажать на кнопку «Open», которая располагается немного ниже.
  8. Кроме того, выбрать нужную игру можно также из списка процессов или открытых окон. Для этого нужно просто перейти в одну из вкладок с соответствующим названием вверху.
  9. Когда игра будет выбрана из списка, программе потребуется буквально пару секунд, чтобы провести так называемую инъекцию библиотек. Если ей это удастся, то в самом верху главного окна Cheat Engine будет отображено название приложения, которое вы выбрали ранее.
  10. Имя подключенного процесса в CheatEngine

  11. Теперь можно приступить непосредственно к поиску нужного значения и его дальнейшему редактированию. Для этого в поле с названием «Value» вводим значение, которое мы ранее запомнили и которое хотим изменить. В нашем случае это 71 315.
  12. Вводим начальное значение валюты в игре в CheatEngine

  13. Далее нажимаем кнопку «First Scan», которая находится выше поля ввода.
  14. Чтобы результаты поиска получились более точными, можно установить опцию паузы в игре во время сканирования. Делать это не обязательно, но в некоторых случаях помогает сузить перечень вариантов. Чтобы включить данную функцию, достаточно поставить отметку в чекбокс напротив соответствующей строки. Ее мы отметили на изображении ниже.
  15. Включаем функцию паузы в игре при сканировании в CheatEngine

  16. Нажав на кнопку «First Scan», вы увидите спустя короткий промежуток времени все найденные результаты в левой части программы в виде своеобразного списка.
  17. Список найденных значений в CheatEngine

  18. За искомое значение отвечает лишь один адрес. Поэтому необходимо отсеять лишние. Для этого нужно вернуться в игру и изменить числовое значение валюты, жизней или того, что вы хотите изменить. Если это какая-то валюта, то достаточно просто что-либо купить или продать. Не важно, в какую сторону изменится значение. В примере после манипуляций у нас получилось число 71 281.
  19. Возвращаемся снова к Cheat Engine. В строке «Value», куда ранее мы вписывали значение 71 315, теперь указываем новое число — 71 281. Проделав это, жмем кнопку «Next Scan». Она находится немного выше строчки ввода.
  20. Отсееваем лишние значения повторным сканированием в CheatEngine

  21. При самых хороших раскладах вы увидите в списке значений лишь одну нужную строчку. Если же таких будет несколько, то необходимо повторить предыдущий пункт еще раз. Имеется в виду смена значения в игре, ввод нового числа в поле «Value» и повторный поиск через «Next Scan». В нашем случае все получилось с первого раза.
  22. Выделяем найденный адрес одиночным нажатием левой кнопкой мыши. После этого нажимаем на кнопку с красной стрелкой. Ее мы отметили на скриншоте ниже.
  23. Кнопка переноса адреса в редактор CheatEngine

  24. Выбранный адрес переместится в нижнюю часть окна программы, где можно производить дальнейшие правки. Для изменения значения кликаем два раза левой кнопкой мышки на той части строки, где находятся цифры.
  25. Изменяем в редакторе значение валюты в игре

  26. Появится маленькое окошко с единственным полем для ввода. В нем пишем то значение, которое вы хотите получить. К примеру вы хотите 1 000 000 денег. Именно данное число и пишем. Подтверждаем действия нажатием кнопки «OK» в этом же окне.
  27. Вводим необходимое значение и подтверждаем ввод в CheatEngine

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

Вот собственно и вся методология поиска и изменения нужного параметра. Мы советуем при сканировании и отсеве параметров не менять настройки программы по умолчанию. Для этого необходимы более глубокие знания. А без них вы попросту не сможете добиться желаемого результата.

Важно помнить, что при работе с онлайн-играми далеко не всегда получится проделать описанные выше манипуляции. Виной всему защита, которую нынче стараются установить практически везде, даже в браузерные проекты. Если у вас что-либо не получается, то это не значит, что всему виной ваши ошибки. Возможно, это установленная защита не дает подключиться Cheat Engine к игре, вследствие чего на экране могут возникнуть различные ошибки. Кроме того, часто встречаются ситуации, когда поменять значения выходит лишь на уровне клиента. Это значит что отображаться будет введенное вами значение, но сервер по факту увидит лишь настоящие цифры. Это также заслуга системы защиты.

Включение SpeedHack

SpeedHack — это изменение скорости движения, стрельбы, полета и прочих параметров в игре. С помощью Cheat Engine сделать это абсолютно несложно.

  1. Заходим в ту игру, в которой нужно изменить скорость.
  2. Далее снова возвращаемся к ранее запущенному Cheat Engine. Жмем на кнопку в виде компьютера с лупой в левом верхнем углу. О ней мы упоминали в предыдущем разделе.
  3. Выбираем из появившегося списка свою игру. Чтобы она появилась в данном перечне, ее необходимо предварительно запустить. Выбрав приложение, жмем кнопку «Open».
  4. Если защита позволит программе подключиться к игре, то вы не увидите на экране никакого сообщения. В верхней части окна лишь отобразится название подключенного приложения.
  5. Отображение названия подключенного процесса в CheatEngine

  6. С правой стороны окна Cheat Engine вы найдете строчку «Enable Speedhack». Ставим отметку в чекбоксе рядом с данной строчкой.
  7. Ставим галочку напротив строчки в CheatEngine

  8. Если попытка включения завершится успехом, вы увидите ниже появившуюся строчку для ввода и ползунок. Изменить скорость можно как в большую сторону, так и вовсе опустить ее до нуля. Для этого нужно ввести в строчку нужное значение скорости либо выставить его с помощью ползунка путем перетягивания последнего.
  9. Для того чтобы изменения вступили в силу, нужно нажать кнопку «Apply» после того, как выбрали нужную скорость.
  10. После этого ваша скорость в игре изменится. В некоторых случаях увеличивается скорость не только ваша, но и всего происходящего в игровом мире. Кроме того, иногда сервер не успевает обрабатывать подобные запросы, в результате чего возникают некие рывки и подергивания. Это связано с защитой игры и обойти это, к сожалению, никак нельзя.
  11. Если вам необходимо отключить Speedhack, то достаточно просто закрыть Cheat Engine или снять галочку напротив строки в окне программы.

Вот таким нехитрым образом можно в игре быстро бегать, стрелять и проводить прочие действия.

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

Если вам интересна тема взлома игр и использования читов, рекомендуем ознакомиться со списком софта, который в этом поможет.

Подробнее: Программы-аналоги ArtMoney

Наша группа в TelegramПолезные советы и помощь

  1. Step 1 Запомните, как работает Cheat Engine.

    Cheat Engine может получить доступ к данным, которые находятся в оперативной памяти компьютера — некоторые из этих данных относятся к игровым значениям. Например, если здоровье игрового персонажа выражено числом (к примеру, 100), число «100» является значением. С помощью Cheat Engine такие значения можно находить в оперативной памяти компьютера, а затем менять их.

    • Если изменить значение, можно, например, получить больше предметов, улучшить здоровье персонажа и так далее.
  2. Step 2 Имейте в виду, что Cheat Engine работает не со всеми играми.

    Если игра защищена от использования чит-кодов или является многопользовательской сетевой игрой, она не будет работать с Cheat Engine — если вы попытаетесь использовать Cheat Engine, ваш аккаунт или профиль для сетевой игры будет заблокирован.

    • Если с помощью Cheat Engine вы умудритесь получить предметы, которые в игре продаются за настоящие деньги, вас могут привлечь к ответственности за кражу.
    • Cheat Engine — это качественное программное обеспечение, поэтому у большинства игр есть какая-то защита от него.
  3. Step 3 Запомните, какие игры могут работать с Cheat Engine.

    Старые однопользовательские игры и некоторые однопользовательские игры Steam должны работать с Cheat Engine, но в таких играх на экране должно отображаться какое-то значение, которое можно найти и изменить.

    • Многие сетевые флеш-игры, в которых нет многопользовательского режима и рекордов, также совместимы с Cheat Engine.

    Реклама

  1. Step 1 Откройте страницу Cheat Engine.

  2. Step 2 Нажмите Download Cheat Engine (Скачать Cheat Engine).

    Эта кнопка находится посередине страницы.

    • На этой кнопке также будет указана текущая версия Cheat Engine, например, «Download Cheat Engine 6.7» (Скачать Cheat Engine 6.7).
    • Чтобы скачать Cheat Engine для macOS, нажмите «Download Cheat Engine 6.2 For Mac» (Скачать Cheat Engine 6.2 для Mac).
  3. Step 3 Откажитесь от установки дополнительного программного обеспечения.

    Нажмите «Decline» (Отклонить) в окне, а затем снова нажмите «Отклонить», когда появится запрос. Начнется загрузка установочного файла Cheat Engine на компьютер.

    • Пропустите этот шаг на компьютере Mac — как только вы щелкните по кнопке для загрузки, запустится процесс скачивания DMG-файла.
  4. Step 4 Установите Cheat Engine.

    Процесс зависит от операционной системы компьютера:

    • Windows — дважды щелкните по установочному файлу Cheat Engine, нажмите «Да» в окне с запросом, щелкните по «Next» (Далее), установите флажок у «I agree» (Согласиться) и нажмите «Next» (Далее), трижды щелкните по «Next» (Далее), снимите флажок у «I agree to install McAfee WebAdvisor» (Согласиться на установку McAfee WebAdvisor), нажмите «Next» (Далее) и щелкните по «Install» (Установить). Когда процесс установки завершится, нажмите «Next» (Далее) и щелкните по «Finish» (Готово).
    • Mac — дважды щелкните по скачанному DMG-файлу, разрешите устанавливать программы сторонних разработчиков, перетащите значок Cheat Engine в папку «Программы» и следуйте инструкциям на экране.
  5. Step 5 Запустите Cheat Engine.

    Откройте меню «Пуск»

    Windows Start

    (Windows) или Launchpad (Mac), а затем нажмите «Cheat Engine».

    • Возможно, сначала вам придется нажать «Да» или «Открыть».

    Реклама

  1. Step 1 Запустите игру.

    Запустите игру, которую хотите использовать с Cheat Engine.

    • Помните, что это не должна быть многопользовательская сетевая или серверная игра.
  2. Step 2 Выберите элемент игры, значение которого нужно изменить.

    Чтобы изменить значение, элемент должен быть выражен числом (например, уровень здоровья персонажа выражен числом).

    • Число должно отображаться на экране. Например, чтобы изменить количество конкретного предмета в инвентаре, сначала откройте инвентарь, чтобы отобразить текущее количество этого предмета.
  3. Step 3 Сверните окно с игрой.

    Теперь откройте окно Cheat Engine.

    • Игру не останавливайте.
  4. Step 4 Нажмите на значок «Processes» (Процессы) в окне Cheat Engine.

    Он выглядит как компьютер и находится в верхнем левом углу. Откроется всплывающее окно со списком программ, которые запущены на компьютере.

  5. Step 5 Выберите процесс игры.

    Прокрутите список процессов, найдите в нем запущенную игру и щелкните по ее имени. Чтобы использовать Cheat Engine для игры, которая запущена в браузере, нажмите на имя браузера.

    • Если нужной игры в списке «Процессы» нет, использовать Cheat Engine с этой игрой нельзя.
    • Возможно, сначала вам придется нажать на вкладку «Процессы» в верхней части окна.
  6. Step 6 Щелкните по OK.

    Эта опция находится внизу окна. Игра откроется в Cheat Engine.

  7. Step 7 Найдите число, которое нужно изменить.

    Введите число, которым выражен нужный игровой элемент, в текстовое поле «Value» (Значение) в верхней части окна Cheat Engine, а затем нажмите «First Scan» (Первое сканирование).

    • Например, если нужный игровой элемент выражен числом «20», введите 20 в текстовом поле «Значение».
  8. Step 8 Сделайте так, чтобы число изменилось.

    Ваши действия будут зависеть от игры; например, если вы хотите изменить уровень здоровья персонажа, как-нибудь навредите себе, чтобы уровень здоровья снизился.

    • То есть нужно сделать так, чтобы число, отображаемое на экране, изменилось (уменьшилось или увеличилось).
  9. Step 9 Сверните окно с игрой, а затем найдите новое число.

    Введите новое число в поле «Value» (Значение) и нажмите «Next Scan» (Следующее сканирование). Так вы уменьшите количество значений, которые отображаются на левой панели окна Cheat Engine.

  10. Step 10 Повторяйте процесс поиска,...

    Повторяйте процесс поиска, пока на левой панели не останется 4 или менее значений. То есть делайте так, чтобы число, отображаемое на экране (в окне с игрой), менялось, а затем ищите новое число в программе Cheat Engine.

    • В конце концов, предыдущее искомое число отобразится в столбце «Previous» (Предыдущее), а текущее число — в столбце «Value» (Значение).
  11. Step 11 Выберите значения.

    Нажмите на верхнее значение, удерживайте Shift и щелкните по нижнему значению. Все значения будут выделены.

  12. Step 12 Добавьте значения в список адресов.

    Нажмите на красную диагональную стрелку в правом нижнем углу списка значений. При этом значения переместятся в список адресов в нижней части окна.

  13. Step 13 Выберите все значения.

    Щелкните по одному значению в нижней части окна, а затем нажмите Ctrl+A (Windows) или Command+A (Mac).

  14. Step 14 Нажмите ↵ Enter.

    Появится всплывающее окно с текстовым полем.

    • Возможно, вам придется дважды щелкнуть по значению, чтобы открыть это поле.
  15. Step 15 Введите нужное число.

    Введите число, которое будет присвоено выбранному игровому элементу, во всплывающем окне.

    • Например, чтобы получить 1000 предметов, введите 1000.
  16. Step 16 Щелкните по OK.

    Эта опция находится внизу окна. Все текущие значения будут обновлены.

  17. Step 17 Проверьте, изменилось ли число в игре.

    Когда вы откроете игру, вместо числа, которое вы хотели изменить, должно отображаться введенное вами число.

    • Возможно, вам придется изменить число еще раз, прежде чем оно отобразится в игре.

    Реклама

Советы

  • Cheat Engine предназначен для изменения незначительных элементов игры — если изменить значение более крупного элемента, игра может поломаться.

Реклама

Предупреждения

  • Если вы используете Cheat Engine на VAC или другом защищенном от мошенничества сервере, ваш аккаунт будет заблокирован.
  • Roblox нельзя взломать с помощью Cheat Engine — если вы сделаете это, ваш аккаунт будет заблокирован.

Реклама

Об этой статье

Эту страницу просматривали 138 220 раз.

Была ли эта статья полезной?

So let’s go through the Cheat Engine Tutorial (x64).

So open Cheat Engine, then in the main menu select help then select Cheat Engine Tutorial.

Tutorials.CETutorialx64.01.png

Then attach to the Cheat Engine Tutorial process, it should be ‘Tutorial-x86_64.exe’.

If unsure how to attach to the process see: How to attach to a process

Contents

  • 1 Step 1: Welcome
  • 2 Step 2: Exact Value scanning
  • 3 Step 3: Unknown initial value
  • 4 Step 4: Floating points
  • 5 Step 5: Code finder
  • 6 Step 6: Pointers
  • 7 Step 7: Code Injection
  • 8 Step 8: Multilevel pointers
    • 8.1 Manual Iteration
    • 8.2 Pointer Scan
    • 8.3 Finally
  • 9 Step 9: Shared code
    • 9.1 Find the team id in the player structure
    • 9.2 Find a difference in the registers
  • 10 See also

Step 1: Welcome[edit]

When the tutorial launches you should see some thing like this, you can just click the next button after reading the help text.

Save the password in later steps in case of crashes (from injections) and for restarting at a later time.

Tutorials.CETutorialx32.02.png

Step 2: Exact Value scanning[edit]

So for step 2 you will see some thing like this.

Tutorials.CETutorialx32.step01.01.png

What we need to find is the health, and here it’s an integer.

So setup the memory scanner to find an integer and for exact value scan then set the value to the current health value, most integers will be stored in a 4 byte variable, so let’s start there.

Note: Integers can be stored in a 1 byte variable (byte), 2 byte variable (int16/short), 4 byte variable (int32/int), or 8 byte variable (int64/long).

When ready click the first scan button.

Tutorials.CETutorialx64.step02.01.png

You Should see a list of addresses, in the found address list, like this.

Tutorials.CETutorialx64.step02.03.png

Now Click the hit me button, then reenter the current value and click the next scan button.

Note the red value in the list, this shows that the value has changed.

Tutorials.CETutorialx64.step02.04.png

After clicking next scan you may need to keep clicking hit me and rescanning tell the found address list is small enough to work with.

Tutorials.CETutorialx64.step02.05.png

Just double click the address in the found list to add it to the cheat table.
Then change the value and freeze the address, double click the value in the address list to edit it, freeze it by clicking the enabler/freeze box.

Tutorials.CETutorialx64.step02.06.png

Now the next button should be enabled, click it to go to the next step.
Click the hit me button again if the next button is not enabled already.

Step 3: Unknown initial value[edit]

When you start step 3 you should see the form looking like this.

Tutorials.CETutorialx32.step03.01.png

Like the help text said make sure to click the new scan button before starting new scans.

Tutorials.CETutorialx64.step03.02.png

This clears the found results to start scanning for a new value.

Here is where I suggest going ahead and clicking the hit me button, just to see how the value is decreased to help in determining what value type to scan for.

Tutorials.CETutorialx32.step03.03.png

Note that the value was decreased by an integer, that is a non fractional number.

So I would setup the scanner for 4 bytes and unknown initial value.
Then click the first scan button.

Tutorials.CETutorialx64.step03.04.png

Now click the hit me button.

Then set the scan type to decreased value and click the nest scan button.

Tutorials.CETutorialx64.step03.05.png

Note the number of found addresses, this is kinda small for most games these days, the found results can easily be in the millions for most games.

Now just keep decreasing the value with the hit me button, and scanning for a decreased value, until the found results is small enough to work with.

Tutorials.CETutorialx64.step03.06.png

Now we just pick an address and change the value to see if it has the desired effect, this is just how it works.

Here is where I suggest that you always note the values (or just Ctrl+C) before changing them to set them back if they are not the right value, to keep from changing a bunch of unknown addresses and corrupting your save files when doing this in games.

The next button should become enabled as soon as you set the value to 5000.
After changing the value and clicking the hit me button the progress bar should fill, but this is not needed.

Tutorials.CETutorialx64.step03.07.png

Now the next button should be enabled, click it to go to the next step.
Click the hit me button again if the next button is not enabled already.

Step 4: Floating points[edit]

When you start step 4 you should see the form looking like this.

Tutorials.CETutorialx32.step04.01.png

So click the new scan button.
Then setup the scanner for a float, exact value, enter the current health value.

When setup click the first scan button.

Tutorials.CETutorialx64.step04.02.png

So just scan like before to find the health address, then add it to the address list.

Now click the new scan button again.
Then setup the scanner for a double, exact value, enter the current ammo value.

When setup click the first scan button.

Tutorials.CETutorialx64.step04.03.png

So just scan like before to find the ammo address, then add it to the address list.

Now change the values to 5000, then the next button should become enabled.
Then click the next button to progress to the next step.

Step 5: Code finder[edit]

When you start step 5 you should see the form looking like this.

Tutorials.CETutorialx32.step05.01.png

So first find the value then add it to the address list.

Go ahead and save the table and the password at this point, just in case the debugger isn’t setup right.

If you need help setting up the debugger see: Debugger options

After you have the address in the address list right click it then select find out what accesses this address.

Tutorials.CETutorialx32.step05.02.png

Cheat Engine will prompt you about attaching the debugger, just click the yes button.

Then a debugger form will open, now click the change value button, and you should get code that shows up in the debugger form.

What we want is a write instruction. So we will be looking for some thing like one of the following:

mov [**],**
add [**],**
sub [**],**
*** [**],**

Select the code line of the write instruction, you can click the show disassembler button to see the code in memory, then click the replace button.

Don’t forget to click the stop button.

Tutorials.CETutorialx64.step05.04.png

The replace button will replace that line of code with NOPs.

Cheat Engine will prompt you for a name for the entry it will add in the advanced options list.

Enter a name and click the OK button.

Now click the change value button back on the tutorial.

The next button should become enabled, then click the next button to advance to the next step.

When entries in the advanced options list are replaced, they will show up with red text.

Tutorials.CETutorialx64.step05.06.png

The advanced options list can be viewed by clicking the advanced options button in the status bar on the bottom left corner of the Cheat Engine main form.

To restore the original code for an entry in the list, right click the entry and select restore with original code.

Tutorials.CETutorialx64.step05.07.png

Note that the text is black after restoring.

Tutorials.CETutorialx64.step05.08.png

Step 6: Pointers[edit]

When you start step 6 you should see the form looking like this.

Tutorials.CETutorialx32.step06.01.png

So first find the value then add it to the address list.

After you have the address in the address list right click it then select find out what accesses this address.

Tutorials.CETutorialx64.step06.05.png

Then click the change value button, to have the process access the address.

When choosing the code to find the base address for the pointer, try to select an instruction that doesn’t write to the same register as the base address.

Here we’re interested in the value between the square brackets (‘[‘ and ‘]’), so here we want the value of RDX.

The instruction

mov [rdx],eax

means it writes the content of the EAX register into the memory address pointed by the RDX register. We should choose this instruction, because we are looking for who is modifying the content of memory address 012348D0, which we can see is stored in RDX register.

Tutorials.CETutorialx64.step06.02.png

The offset here is 0, if the instruction had some thing like this:

mov [rdx+12C],eax

Then the offset would be ’12C’ (0x12C), note that this is in hex.

Now we want to find out which pointer points to the interested address 012348D0 we found before. Set the scanner for 8 bytes, exact value, check the hex check box, then take the value found and put that as the value to scan for.

When ready click the first scan button.

Look in the found address list for address with green text, these are static addresses.

Tutorials.CETutorialx64.step06.03.png

Now we want to trace this pointer, so that whenever its content changes (which means it points to a different memory location), we will be able to modify the new memory address. Add the pointer we just found to the cheat table, double click the address of the memory record that was added to the address list, copy the address then check the pointer check box, and paste the address in the pointers base address.

If you are unsure how to do this look here: How to add addresses to the address list

So my pointer will look like this.

["Tutorial-x86_64.exe"+XXXXXX]+0

It should be setup some thing like this, remember to set the offset to the offset you found.

Click the OK button when the pointer is setup.

Now freeze the value at 5000 and click the change pointer button, the next button should become enabled.

If the next button doesn’t become enabled then select another address from the found list, look for a green one that had it’s value changed, and set it up like the last one and see if it points to the right value, if so change the value freeze and click the change pointer button.

Click the next button to advance to the next step.

Step 7: Code Injection[edit]

When you start step 7 you should see the form looking like this.

Tutorials.CETutorialx32.step07.01.png

Here we’ll follow the the same procedures as step 5, but instead of clicking replace click the show disassembler button.

Tutorials.CETutorialx64.step07.02.png

This will open the disassembler view form at the instruction’s address.

Tutorials.CETutorialx64.step07.03.png

With the instruction selected press Crtl+A, to open an auto assembler form.

In the auto assembler form menu select template then select full injection.

This will generate some script to start you out.

Tutorials.CETutorialx64.step07.05.png

Now we need to add some code that will increase the value by 2, then remove the original code that decreases the value.

For increasing the value we can use INC or ADD.

So let’s try some thing like this.


newmem:
add dword ptr [rsi+780],2

code:

//sub dword ptr [rsi+00000780],01
jmp return

address:

jmp newmem
nop
nop
return:

Now add the script to the cheat table.

If you are unsure how to do that look here: How to add script to table

Then enable the script and click the hit me button.

This should enable the next button, so click the next button to go to the next step.

Step 8: Multilevel pointers[edit]

When you start step 8 you should see the form looking like this.

Tutorials.CETutorialx32.step08.01.png

Manual Iteration[edit]

So here we will follow the same steps as step 6, except we’ll see what accesses the base address we find, and we’ll keep repeating this until a static base is found.

So here is my first debugger output.

10002D8D1 - B9 A00F0000 - mov ecx,00000FA0
10002D8D6 - E8 3522FEFF - call Tutorial-x86_64.exe+XXXXXX
10002D8DB - 89 46 18  - mov [rsi+18],eax  <<<<<<
10002D8DE - 89 C2  - mov edx,eax
10002D8E0 - 48 8D 4D F8  - lea rcx,[rbp-08]

RAX=00000000000007F7
RBX=000000000125CD60
RCX=0000000000000FA0
RDX=00000000828087F3
RSI=0000000001287960  <<<<<<
RDI=0000000100258308
RSP=000000000102F070
RBP=000000000102F0B0
RIP=000000010002D8DE
R8=0000000100161BA0
R9=00000000008E06A0
R10=0000000000000002
R11=0000000000000206
R12=00000000012607C0
R13=0000000100161BA0
R14=0000000100258300
R15=0000000100257A18

I did find a static base on the first scan of the base address but I remember this being a false base.
So here what we want is a base address in the form of ‘process.exe+offset’, you can try one of the others that look like ‘module.dll+offset’ but I want to say that here they will prove to be false pointers. And yes most newer games will have many false values and pointers.

And the debugger output from the address holding: 0000000001287960

10002D88B - E8 90961200 - call Tutorial-x86_64.exe+XXXXXX
10002D890 - E9 65000000 - jmp Tutorial-x86_64.exe+XXXXXX
10002D895 - 48 83 3E 00 - cmp qword ptr [rsi],00  <<<<<<
10002D899 - 74 5F - je Tutorial-x86_64.exe+XXXXXX
10002D89B - 48 8B 36  - mov rsi,[rsi]

RAX=0000000000013117
RBX=000000000125CD60
RCX=000000000125CD60
RDX=0000000000003CE3
RSI=0000000002D6D540  <<<<<<
RDI=0000000100258308
RSP=000000000102F070
RBP=000000000102F0B0
RIP=000000010002D899
R8=0000000100161BA0
R9=00000000008E06A0
R10=0000000000000002
R11=0000000000000206
R12=00000000012607C0
R13=0000000100161BA0
R14=0000000100258300
R15=0000000100257A18

And the debugger output from the address holding: 0000000002D6D540

10002D845 - E8 D6961200 - call Tutorial-x86_64.exe+XXXXXX
10002D84A - E9 AB000000 - jmp Tutorial-x86_64.exe+XXXXXX
10002D84F - 48 83 7E 18 00 - cmp qword ptr [rsi+18],00  <<<<<<
10002D854 - 0F84 A0000000 - je Tutorial-x86_64.exe+XXXXXX
10002D85A - 48 8B 76 18  - mov rsi,[rsi+18]

RAX=00000000000166D2
RBX=000000000125CD60
RCX=000000000125CD60
RDX=000000000000302E
RSI=0000000002D6CE40  <<<<<<
RDI=0000000100258308
RSP=000000000102F070
RBP=000000000102F0B0
RIP=000000010002D854
R8=0000000100161BA0
R9=00000000008E06A0
R10=0000000000000002
R11=0000000000000206
R12=00000000012607C0
R13=0000000100161BA0
R14=0000000100258300
R15=0000000100257A18

And the debugger output from the address holding: 0000000002D6CE40

10002D800 - E8 1B971200 - call Tutorial-x86_64.exe+XXXXXX
10002D805 - E9 F0000000 - jmp Tutorial-x86_64.exe+XXXXXX
10002D80A - 48 83 7E 10 00 - cmp qword ptr [rsi+10],00  <<<<<<
10002D80F - 0F84 E5000000 - je Tutorial-x86_64.exe+XXXXXX
10002D815 - 48 8B 76 10  - mov rsi,[rsi+10]

RAX=000000000000B567
RBX=000000000125CD60
RCX=000000000125CD60
RDX=00000000000050A1
RSI=000000000123F1C0  <<<<<<
RDI=0000000100258308
RSP=000000000102F070
RBP=000000000102F0B0
RIP=000000010002D80F
R8=0000000100161BA0
R9=00000000008E06A0
R10=0000000000000002
R11=0000000000000206
R12=00000000012607C0
R13=0000000100161BA0
R14=0000000100258300
R15=0000000100257A18

Now we scan for that base ‘000000000123F1C0’ and you should find a static address, but in real games you would keep going until a static base is found.

With that static address as the base my pointer will look like this.

[[[["Tutorial-x86_64.exe"+XXXXXX]+10]+18]+0]+18

Tutorials.CETutorialx64.step08.02.png

Pointer Scan[edit]

The pointer scan can be used to solve this quickly by first finding the address of the desired value, saving a generated pointer map, restarting the game, searching for the address again, saving another pointer map, and then comparing the two. More information can be found in Help_File:Pointer_scan.

Finally[edit]

After you have found the pointer, freeze it at 5000, then click the change pointer button.
If you found the right base the next button should become enabled after about 2 seconds.
So click the next button to go to the next step.

Step 9: Shared code[edit]

When you start step 9 you should see the form looking like this.

Tutorials.CETutorialx32.step09.01.png

So here like the help text says there is far more than one solution.

First we need to find one of the addresses and add it to the table.

If you are having trouble finding an address, remember to try different value types, and don’t forget to start new scans.

Then like in step 7 we want to see what accesses the address, to find the function that writes to the actor’s health.

Go ahead and save the password if you want to try different ways, this is the last step in the tutorial.

So here it’s good to understand what we’re actually looking for to tell allies and combatants apart.

When the game or engine is written, actors and players might be written like this.

//// Actor, base for all actors
class Actor(object){
string Name = ‘Actor’;
Coord Coords = new Coord(0, 0, 0);
float Health = 100.0;

}
//// Player
class Player(Actor){ //// Player inherits form Actor
string Name = ‘Player’;
int Team = 1;

}

The team it self could be a structure, say if it’s declared as an object class like the ‘Coords’ variable, which we would want to look for a pointer to the actor’s team structure.

So one way we could do this is to find the team id or team structure in the player structure.

Find the team id in the player structure[edit]

After you have found the function that decreases health.

Right click the instruction in the disassembler view form, and select find out what addresses this instruction accesses.

Tutorials.CETutorialx64.step09.02.png

Then click the attack button for all 4 values.

You should have all 4 addresses in the debugger list.

So go ahead and add them to the address list.

Tutorials.CETutorialx64.step09.04.png

Then let’s open the dissect data structure form.

Tutorials.CETutorialx64.step09.05.png

You’ll get some pop ups, after going thought them you should see a form like this.
Note that I had to expand the width of the form to be able to move the columns.

Now on mine offset 0x10 was guessed as a pointer which is 8 bytes wide in a 64 bit process. I saw that the pointers at 0x10 had values that really didn’t look like pointers.

So I had to switch it to 4 byte, and add a new element set it’s offset to 0x14 with 4 byte value type. This is often the way it works.

Tutorials.CETutorialx64.step09.06.png

So here we can see that the team variable is at offset 0x14 of the structure.

Now we need to add some injection code to a script, then add some code that checks the team variable of the structure, to determine which actors are allies and which are combatants.

So we want some this like this.

Tutorials.CETutorialx64.step09.07.png

So with this script enabled,
when the game writes to an actors health here is what will happen after the jump to the hook code:

  1. Save (PUSH) the RFLAGS register, not completely needed but still a good habit when comparing.
  2. Check if actor is on team 1.
    1. If actor is on team 1, then we set the new value to 5000 in a floating point format.
  3. Check if actor is on team 2.
    1. If actor is on team 2, then we set the new value to 0 in hex format. (float 0 == int 0 == hex 0)
  4. Restore (POP) the RFLAGS register, this is completely needed if the register was PUSHed.

With this script enabled, click the restart game and autoplay button, then you should see the form change and look like this.

Tutorials.CETutorialx32.step09.08.png

So click the next button to complete the tutorial.

Then you should see a form telling you that you have completed the tutorial.

Find a difference in the registers[edit]

After you have found the function that decreases health.

Right click the instruction in the disassembler view form, and select find out what addresses this instruction accesses.

Tutorials.CETutorialx64.step09.02.png

Then click the attack button for all 4 values.

You should have all 4 addresses in the debugger list.

Now let’s look at the registers to see if we can find a difference in the allies and combatants.

Select each address individually and press Ctrl+R.

Arrange the forms to make it easier to compare.

Tutorials.CETutorialx64.step09.b.01.png

So here we can see that RSI is 1 for the combatants.

So a script like this should work.

Tutorials.CETutorialx64.step09.b.02.png

So with this script enabled,
when the game writes to an actors health here is what will happen after the jump to the hook code:

  1. Save (PUSH) the RFLAGS register, not completely needed but still a good habit when comparing.
  2. Check if RSI register is 1.
    1. If RSI register is 1, then we set the new value to 0 in hex format. (float 0 == int 0 == hex 0)
    2. If RSI register is not 1, then we assume the actor is an ally so we set the new value to 5000 in a floating point format.
  3. Restore (POP) the RFLAGS register, this is completely needed if the register was PUSHed.

With this script enabled, click the restart game and autoplay button, then you should see the form change and look like this.

Tutorials.CETutorialx32.step09.08.png

So click the next button to complete the tutorial.

Then you should see a form telling you that you have completed the tutorial.

See also[edit]

  • Tutorials
  • Syntax Highlighter

Cheat Engine — это программа для читерства в компьютерных играх. Утилита распространяется абсолютно бесплатно, так что воспользоваться ею может любой желающий игрок.

Программа Cheat Engine может проводить сканирование оперативной памяти запущенной игры, а затем, с помощью невероятно огромного набора инструментов, находить в этой же самой памяти определенные игровые значения, чтобы их можно было изменить по вашему желанию.

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

Как пользоваться Cheat Engine?

Подобные программы довольно сложны в своем освоении, если у вас нет человека, который просто и понятно расскажет, как пользоваться ими. Сейчас мы расскажем вам, как взламывать через Cheat Engine. После разбора следующего примера вы поймете, что все не так уж и сложно.

Как уже можно было догадаться, для начала вам нужно скачать программу Cheat Engine(если понадобиться, то подробная установка и скачиванием будут рассмотрены в конце статьи). Ок, скачали и установили утилиту.

Теперь нам нужно найти игрушку, на которой мы будет показывать пример с изменением значений в ней. Что скажете насчет Fallout 3? Там есть своя игровая валюта, которая выполнена в виде бутылочных крышек. Давайте же рассмотрим, как взломать деньги с помощью cheat engine в Fallout 3.

Как накрутить деньги через Cheat Engine?

Например, у вашего персонажа в данный момент в рюкзаке будет находиться 450 бутылочных крышек. Запомним с вами это число. Теперь свернем игру и запустим программу Cheat Engine. Как только утилита будет открыта, нажмите на иконку компьютера в верхнем левом углу.

Затем выберите процесс запущенной игры(в нашем случае это Fallout 3), кликните на него один раз, а затем нажмите «Открыть». Далее введите в строку значение, которая находится в правой части окна, цифру 450. Затем  нажмите на кнопку «Поиск», находящуюся чуть выше строки значения.

После нажатия на кнопку «Поиск», начнется процесс сканирования оперативной памяти игры.  Далее перед вами должно появиться огромное количество различных значений, между которыми, мы гарантируем, вы не разберетесь и нужное значение навряд ли найдете.

Однако, сейчас мы сделаем кое-что, что поможет с обнаружением нужного значения. Сворачиваем окошко чит-программы Cheat Engine и разворачиваем окошко с игрой. Быстро воруем из какого ящика пару крышек и увеличиваем общее количество крышек до 452 штук.

Снова сворачиваем игру и разворачиваем окошко с утилитой Cheat Engine. Вбиваем в строчку значения 452, а затем нажимаем уже на кнопку «Отсев»(данная опция проведет поиск указанного значения не во всей оперативной памяти игры, а только среди предыдущего сканирования).

Перед вами должно теперь быть куда меньше значений. Возможно, что даже одно или два. Выделите все значения, которые были подверглись отсеву, а затем нажмите на них правой кнопкой мыши и выберите пункт «Добавить выбранные адреса в таблицу».

Теперь вам нужно обратить свое внимание на таблицу, в которую вы добавили найденные значения. Нажмите на каждое из значений в таблице правой кнопкой мыши и выберите «Изменить→Значение». Учитывая, что мы играем в Fallout, то давайте выставим значение наших крышек на 20000 тысяч.

Изменив значение, снова сворачиваем окошко с программой и наслаждаемся кучей денег. Мы смогли показать вам, как взломать деньги с помощью Cheat Engine. Однако, менять можно любые значения: деньги, количество очков, доступные юниты и прочее. Главное отследить значение в программе, а затем изменить его.

Как скачать и установить программу Cheat Engine?

Скачать Cheat Engine вы можете с официального сайта разработчика данной программы. Однако, учитывая, что данная утилита распространяется на бесплатной основе, то вы легко можете скачать Cheat Engine бесплатно последней версии с нашего сайта с помощью ниже приложенной ссылки. Причем,  данная версия Cheat Engine на русском, так что людям, незнакомым с английский, переживать не о чем.

Установка этой утилиты также не представляет какой-то сложной задачи. Загрузите установщик Cheat Engine, а затем установите утилиту в любое удобное для вас место на компьютере, т.е. вам нет нужды устанавливать утилиту в папку с игрой, которая будет взламываться.

Это руководство объяснит тебе, мой дорогой друг, как пройти встроенное руководство Cheat Engine.
Сегодня мы скачаем и установим Cheat Engine, пройдем шаги 1 — 2, которые ориентированы исключительно на новичков, так что пропустите их,
если вы хорошо разбираетесь в Cheat Engine.
Даже если вы неплохо разбираетесь в Cheat Engine, посмотрите урок, может быть, вы объясните его лучше, чем я

Итак, давайте скачаем

.
1. Нажмите на большую синюю кнопку «Download Cheat Engine 7.3»
2. Запустите файл «CheatEngine73.exe»

Примечание: Cheat Engine монетизируется, чтобы избежать установки ненужного ПО на компьютер повторяйте за мной:

Если вы сделали все правильно, то должны увидеть это:

Перед вами интерфейс Cheat Engine, возможно, для новичков он покажется чуть проще панели управления Boeing, но бояться не стоит,
скоро вы будете уверенно с ним работать.

Не используйте Tutorial для x64, используйте обычную версию.

После нажатия должно открыться такое окно:

Добро пожаловать в учебное пособие по Cheat Engine (v3.5)

Это руководство научит вас основам мошенничества в видеоиграх. Он также покажет вам основные аспекты использования Cheat Engine (или сокращенно CE). Следуйте инструкциям ниже, чтобы начать.

1: Откройте Cheat Engine, если он в данный момент не запущен.
2: Щелкните значок «Открыть процесс» (это значок с изображением компьютера в верхнем левом углу под заголовком «Файл»).
3: Теперь, когда открыто окно «Список процессов», найдите в списке процесс этого учебного пособия. Он будет выглядеть примерно так: «00001F98-Tutorial-x86_64.exe» или «0000047C-Tutorial-i386.exe». (Первые 8 цифр / букв, вероятно, будут другими.)
4: Как только вы нашли процесс, щелкните по нему, чтобы выбрать его, затем нажмите кнопку «Открыть». (Не беспокойтесь обо всех остальных кнопках прямо сейчас. Если вам интересно, вы можете узнать о них позже.)

Поздравляю! Если вы все сделали правильно, окно процесса должно исчезнуть, а Cheat Engine теперь прикреплен к учебнику (вы увидите имя процесса ближе к центру вверху CE).

Нажмите кнопку «Далее» ниже, чтобы продолжить, или введите пароль и нажмите кнопку «ОК», чтобы перейти к этому шагу.)

Если у вас возникли проблемы, просто зайдите на forum.cheatengine.org, затем нажмите «Учебники», чтобы просмотреть руководства для начинающих!

Нажимаем кнопку «Next»
Приступим ко второму шагу!

Шаг 2: сканирование точного значения (PW = 090453)
Теперь, когда вы открыли руководство по Cheat Engine, давайте перейдем к следующему шагу.

Вы можете увидеть внизу этого окна текст «Здоровье: xxx».
Каждый раз, когда вы нажимаете «Ударь меня», ваше здоровье уменьшается.

Чтобы перейти к следующему шагу, вам нужно найти это значение и изменить его на 1000.

Есть разные способы найти значение, но я расскажу о самом простом — «Точное значение»:
Сначала убедитесь, что тип значения установлен как минимум на 2 или 4 байта. 1-байтовый также будет работать, но вы столкнетесь с проблемой, которую легко исправить, когда вы найдете адрес и захотите его изменить. 8-байтовый, возможно, сработает, если байты после адреса равны 0, но я бы не стал делать ставку.
Одинарное, двойное и другие сканирование просто не работают, потому что они сохраняют значение по-другому.

Если тип значения установлен правильно, убедитесь, что для scantype установлено значение «Точное значение».
Затем введите число вашего здоровья в поле значения. И нажмите «Первое сканирование».
Через некоторое время (если у вас очень медленный компьютер) сканирование будет выполнено, и результаты отобразятся в списке слева.

Если вы нашли более одного адреса и не знаете наверняка, какой это адрес, нажмите «Ударь меня», введите новое значение работоспособности в поле значения и нажмите «Следующее сканирование».
повторяйте это, пока не будете уверены, что нашли его. (включая то, что в списке только 1 адрес …..)

Теперь дважды щелкните адрес в списке слева. В результате адрес появится в списке внизу, показывая текущее значение.
Дважды щелкните значение (или выберите его и нажмите ввод) и измените значение на 1000.

Если все прошло нормально, следующая кнопка должна стать активной, и вы готовы к следующему шагу.

Примечание:
Если вы сделали что-то не так во время сканирования, нажмите «Новое сканирование» и повторите сканирование еще раз.
Также попробуйте поиграть со значением и нажмите «ударь меня».

Окно «Step 2» — окно учебного процесса

Необходимо нажать на кнопку в пульсирующей красной рамке (иконка монитора)
Перед нами всплывает окно выбора процесса.

Выбираем процесс «Tutorial-i386.exe» — процесс нашего учебного окна «Step 2», что можно определить по иконке и названию, и нажимаем «Open».

Если вы всё сделали правильно, то у вас должна появиться надпись с соответствующим названием процесса (см. красную рамку), а также должны
стать доступны кнопки и поля справа (см. желтую рамку).

Вернемся к учебному окну «Step 2».

Перед нами стоит задача: найти в памяти переменную «Health» и поменять её значение на 1000 для успешного прохождения этапа.
Что для этого нужно?
Вводим в поле «Value» текущее значение Health (100) и нажимаем на кнопку «First Scan»

Как это работает?
Когда мы нажимаем «First Scan», Cheat Engine производит первичное сканирование памяти и находит все переменные с указанным нами значением (100)
Cheat Engine показывает нам все найденные переменные:

И как же нам среди них найти искомую переменную «Health»?
Cheat Engine очень удобный инструмент, позволяющий «отсеять» ненужные переменные.
Для этого нам требуется спровоцировать изменение значения переменной «Health».
В учебном окне это достигается нажатием кнопки «Hit me»:

В моем случае «Health» приняло значение «95».
Теперь нам необходимо ввести в поле «Value» значение «95» и нажать кнопку «Next Scan».
Cheat Engine покажет нам только те переменные, значение которых изменилось со «100» до «95».

Как вы видите, перед нами лишь одна переменная.
Давайте проверим, правильную ли переменную мы нашли?
Для этого дважды кликнем по строке, переменная должна отразиться в списке ниже.
После чего нажмем дважды на «95» в поле Value и попытаемся изменить значение на «1000».

Теперь проверим, применились ли изменения в нашем учебном окне «Step 2».
Вернемся к окну и нажмем на кнопку «Hit me», чтобы обновить значение на экране.

После нажатия значение «Health» стало «995», а кнопка «Next» стала доступна
Поздравляю с первым успешным взломом! Если у тебя не получилось — не расстраивайся, перечитай и повтори заново, внимательно следуя шаг за шагом
и у тебя обязательно все получится! Если после нескольких попыток у тебя все же не получилось — оставь свой вопрос, я обязательно отвечу ;)
Всем успехов и хорошего настроения
Winlogon.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Экотрит в 27 инструкция по применению
  • Когда нужно менять инструкции по охране труда
  • Роквул венти баттс инструкция по монтажу
  • Уколы реблакс инструкция по применению отзывы
  • Лекарство цель т инструкция в ампулах