Возможности Cheat Engine

Полный обзор возможностей: от базового сканирования памяти до продвинутых функций уровня ядра и скриптинга.

Сканер памяти

Ядро CE — сканер памяти. Поиск по памяти процесса по введённому значению: точное значение, неизвестное начальное, уменьшилось/увеличилось и другие типы. После первого сканирования меняете значение в игре и запускаете «Повторное сканирование». В результате остаются один или несколько адресов.

Поддерживаются типы: 1–8 байт целые, float, double, строки. Групповое сканирование и пользовательские скрипты Lua. Результаты добавляются в список адресов: заморозка, ручное изменение, горячие клавиши.

Дополнительно: сканирование областей памяти, отладчик при обращении к адресу, сканирование указателей для работы после перезапуска игры.

Отладчик

Полноценный отладчик: точки останова по инструкциям и по доступу к памяти (чтение/запись). Просмотр регистров, стека и памяти. Поддержка 32/64 бит и ядерная отладка с DBVM.

Пошаговое выполнение, «найти что пишет/читает этот адрес», трассировка — для поиска инструкции, обновляющей здоровье/патроны/деньги, с последующей заменой или внедрением кода.

Окно отладчика: дизассемблер, редактирование (ассемблер), новые скрипты (Auto Assembler), лог трассировки.

Дизассемблер и ассемблер

Дизассемблер показывает машинный код в виде ассемблера (x86/x64). Навигация по адресам, переходы и вызовы. Найдя код, записывающий в нужное значение, можно заменить его своими инструкциями.

Auto Assembler — слой скриптов: ассемблер с директивами alloc, внедрение кода, поиск AOB (массив байт). CE выделяет память, находит байты и патчит игру. Есть шаблоны (бесконечное здоровье, без отдачи и т.д.).

Ускорение (Speedhack)

Изменение скорости процесса: замедление (сложные моменты, анализ) или ускорение (гринд в одиночной игре). Регулировка ползунком или множителем. Реализовано через перехват API времени (GetTickCount, QueryPerformanceCounter).

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

Создание тренажёров

Найдя адреса и при необходимости скрипты Auto Assembler, сохраняете их в таблицу (.CT). Конструктор тренажёров создаёт отдельный .exe с окном (галочки, горячие клавиши), чтобы пользователям не нужны были CE и загрузка таблицы.

Тренажёры часто распространяются на форуме. Скачивайте только из доверенных источников; .CT — XML, может содержать Lua и ассемблер.

Скрипты Lua

Встроенная поддержка Lua: автоматизация сканирования, изменение интерфейса, формы и диалоги, работа со списком адресов и памятью. Много расширений на форуме на Lua. API: чтение/запись памяти, выделение, перечисление модулей, вызов отладчика из скрипта.

Lua используется для авто-подключения к процессу, пользовательских типов сканирования и сложных тренажёров. Основы Lua и документация CE Lua в вики.

DBVM (Debugger Virtual Machine)

DBVM — гипервизор под ОС, расширяет набор инструкций CPU для доступа usermode-программ к операциям уровня ядра. Более мощная отладка и доступ к памяти, особенно на 64-бит Windows.

С загруженным DBVM: ultimap (трассировка), улучшенные точки останова, доступ к памяти на уровне ядра. Нужна совместимая CPU и загрузка через загрузчик DBVM (UEFI). ПКМ по логотипу CE → «О программе» — поддержка и статус загрузки.

160-битный ключ для защиты. Опционально; большинство пользуется CE без DBVM.

Mono и .NET

Многие игры на Unity (Mono) или .NET. CE перечисляет типы, классы и поля. Mono Dissector и .NET Data Collector — просмотр объектной модели в памяти и поиск полей по имени (например Player.health, GameManager.gold). Добавление в список адресов или использование в скриптах.

Lua и Mono API можно комбинировать для автоматического поиска и отслеживания классов и экземпляров.

Сканирование указателей

Адреса в играх часто меняются при перезапуске (ASLR, динамическое выделение). Указатель — адрес, содержащий другой адрес, в цепочке до нужного значения. Сканирование указателей находит цепочки, остающиеся валидными после перезапуска. Сохраняете указатель в таблице — чит работает при каждом запуске.

Сканирование может быть долгим. Фильтры «должен быть читаем» и ограничение глубины уменьшают ложные срабатывания.

Прочие инструменты

Настройки сканирования и производительность

Много опций скорости и точности: ограничение областей (только основной модуль или доступные для записи), «Быстрое сканирование», число потоков. Для «Неизвестное начальное значение» на больших процессах ограничение диапазона ускоряет. Список адресов поддерживает тысячи записей; для результатов сканирования указателей используйте фильтры перед повторным сканированием. Практика — на странице Обучение.

Плагины и расширения

Поддержка плагинов (DLL). На форуме — раздел плагинов. Скрипты Lua тоже могут быть расширениями. Используйте только доверенные источники; плагины и скрипты выполняются с теми же правами, что и CE. Вики документирует API плагинов и Lua.

Для пошагового обучения начните с обучения и встроенного урока CE (меню «Пуск»). Вики Cheat Engine — подробно по каждой возможности.

Скачать