Создание собственной таблицы читов в Cheat Engine

Бесплатная консультация юриста

+7 (800) 301-07-30

Реклама jurik.ru

Cheat Engine (CE) — это мощная среда разработки для моддинга игр и приложений‚ позволяющая сканировать память‚ отлаживать код и создавать читы․ Главный формат для сохранения и обмена результатами работы в CE — это таблицы читов (Cheat Tables‚ файлы ․ct)․ В этой статье мы подробно разберем процесс создания собственной таблицы: от поиска значений и работы с указателями до написания скриптов и сохранения файла․


Подготовка и базовые настройки

Прежде чем начать сканирование‚ убедитесь‚ что Cheat Engine настроен правильно:

  • Запуск от имени администратора: Обязательно запускайте CE с правами администратора (ПКМ по ярлыку → «Запуск от имени администратора»)‚ иначе программа не сможет открыть процессы игр‚ защищенные UAC или античитами․
  • Настройки сохранения файлов (важно): Как отмечают пользователи на форумах (например‚ Playground․ru)‚ в настройках (Settings → General → File Handling) рекомендуется включить опцию «Всегда выдавать запрос на сохранение файлов» (Always ask before saving files)․ Это спасет вас от случайной потери данных при закрытии программы․
  • Отключение антивируса: Многие антивирусы блокируют драйвер ядра CE (dbvm) или помечают сам исполняемый файл как вредоносное ПО․ Если CE не видит процессы или вылетает — добавьте папку с программой в исключения антивируса/Windows Defender․

Привязка к процессу игры

  1. Запустите целевую игру․
  2. В Cheat Engine нажмите на иконку компьютера с лупой (Select a process to open) в левом верхнем углу (или нажмите Ctrl+Alt+P)․
  3. В списке найдите процесс игры (обычно имя ․exe файла‚ например game․exe)․
  4. Нажмите Open․

> Важное предупреждение от сообщества (r/emulation): Cheat Engine работает с абсолютными адресами памяти Windows․ Они нестабильны: при перезапуске игры‚ загрузке сохранения или даже просто смене локации адреса изменятся․ Именно поэтому простое сохранение адреса в таблицу бесполезно для долгосрочного использования — нужны указатели (pointers) или скрипты инъекции кода․


Поиск значений (Scanning) и добавление в список адресов

Базовый цикл создания чита: поиск → фильтрация → добавление․

Типы сканирования:

  • Exact Value (Точное значение): Если вы знаете число (HP=100‚ деньги=5000)․ Тип данных: 4 Bytes (стандарт)‚ Float (дробные числа)‚ Double‚ String (текст)․
  • Unknown Initial Value (Неизвестное начальное значение): Если число скрыто или вы не знаете его точного значения (например‚ полоска здоровья без цифр)․ Первый скан — Unknown initial value‚ затем действия в игре (получить урон) → Decreased value‚ вылечиться → Increased value‚ без изменений → Unchanged value․

Перенос в таблицу адресов (Address List):

Когда в списке результатов (Scan Results) осталось 1- несколько адресов:

  1. Выделите нужный адрес (или несколько зажав Ctrl/Shift)․
  2. Нажмите ПКМ → Add to address list (Добавить в список адресов) или просто нажмите красную стрелку вниз / Enter․
  3. Адрес появится в нижней панели Address List — это и есть начало вашей будущей таблицы․

Работа с указателями (Pointers) — Ключ к постоянству

Поскольку базовые адреса меняются при каждом запуске‚ нужно найти указатель — цепочку смещений (offsets)‚ ведущую от статичного базового адреса (модуля игры) к вашему значению․

Способ 1: Pointer Scanner (Сканер указателей)

  1. В Address List нажмите ПКМ по адресу → Pointer scan for this address․
  2. Настройки: Max level (уровень вложенности‚ обычно 5-7)‚ Max offset (смещение‚ обычно 4096 или 8192)․ Нажмите OK‚ сохраните файл ․ptr․
  3. После первого скана перезапустите игру‚ найдите значение снова‚ добавьте в список․
  4. В окне Pointer Scanner: Rescan (Повторный скан) → укажите новый адрес → OK․
  5. Повторите 3-5 раз․ Оставшиеся зеленые строки — это рабочие указатели․
  6. ПКМ по указателю → Add to address list․ В таблице он будет выглядеть как [[[Base+Offset]+Offset]+Offset]․

Способ 2: «Найти‚ что обращается к адресу» (Find what accesses/ writes), для скриптов

Это профессиональный метод‚ позволяющий написать скрипт инъекции (Injection)‚ который работает надежнее указателей․

  1. ПКМ по адресу в Address List → Find what accesses this address (Что обращается к адресу) или Find what writes to this address (Что пишет в адрес)․
  2. Поиграйте немного (постреляйте‚ получите урон)‚ чтобы заполнить список инструкций․
  3. Выберите инструкцию‚ которая срабатывает только при изменении вашего значения (не рисует UI‚ не обновляет других врагов)․
  4. ПКМ по инструкции → Show disassembler (Показать дизассемблер)․
  5. В дизассемблере: Tools → Auto Assembler → Template → Code Injection (или Full Injection)․
  6. CE сгенерирует шаблон скрипта․ Вам нужно найти строчку‚ меняющую значение (например‚ mov [rsi+10]‚eax)‚ и заменить её на свой код (например‚ mov [rsi+10]‚#9999 для бесконечного HP) или добавить регистрацию символа (define) для ручного изменения․
  7. Нажмите File → Assign to current cheat table (Файл → Назначить текущей таблице читов)․ Скрипт появится в Address List как включаемая галочка․

Оформление таблицы: Структура‚ описания и группы

Хорошая таблица — это понятная таблица․ Используйте возможности Address List:

  • Группы (Groups): ПКМ в пустом месте Address List → Add Group․ Создайте группы: [Player]‚ [Weapons]‚ [Inventory]‚ [Scripts]․ Перетаскивайте записи в группы․
  • Описания (Description): Дважды кликните по колонке «Description» и дайте понятные имена: не «Address 1»‚ а «God Mode»‚ «Infinite Ammo»‚ «Money Pointer»․
  • Тип значения (Value Type): Убедитесь‚ что стоит правильный тип (4 Bytes‚ Float‚ Byte)․ Для флагов (вкл/выкл) удобно использовать Byte и ставить 0/1․
  • Drop-down списки: ПКМ по записи → Set/Change drop down list․ Можно прописать варианты: 0:Normal‚ 1:Super Speed‚ 2:Fly Mode․ Это удобнее ввода чисел вручную․
  • Цветовая кодировка: ПКМ → Color․ Красьте скрипты в зеленый‚ указатели в синий‚ опасные опции (One Hit Kill) в красный․

Сохранение таблицы читов (․CT)

Когда вы нашли указатели‚ написали скрипты и оформили список:

  1. В главном меню CE: File → Save (Файл → Сохранить) или Ctrl+S․
  2. Выберите папку (лучше создать отдельную папку для таблиц конкретной игры)․
  3. Введите имя файла (например‚ GameName_v1․0_MyTable․ct)․
  4. Нажмите Save;

Совет: Сохраняйте часто (Ctrl+S) во время работы․ CE может вылететь‚ игра может крашнуться при инъекции кода‚ а настройка «Всегда спрашивать при сохранении» (п․1) не даст случайно перезаписать рабочую версию пустой таблицей при закрытии․


Загрузка и использование таблицы

Чтобы использовать сохраненную таблицу (свою или скачанную‚ например‚ с fearlessrevolution․com или github․com):

  1. Запустите игру․
  2. Запустите Cheat Engine (от админа)․
  3. Выберите процесс игры (иконка компьютера)․
  4. Нажмите иконку папки (Open) в верхнем левом углу или File → Load․
  5. Выберите файл ․ct․
  6. В появившемся окне (если таблица привязана к другому процессу) подтвердите привязку к текущему процессу․
  7. Ставьте галочки напротив нужных читов (скриптов/указателей)․

Продвинутые возможности для качественных таблиц

Lua-скриптинг (Lua Engine)

Cheat Engine имеет встроенный Lua-движок․ Вы можете добавить Lua-скрипт в таблицу (Table → Show Cheat Table Lua Script) для:

  • Автоматического поиска указателей при загрузке таблицы (onOpen)․
  • Создания красивых GUI-форм (через createForm‚ createButton и т․д․) вместо стандартного списка адресов․
  • Автоматического включения читов при запуске․

Структуры (Structures / Dissect Data)

Если вы нашли базовый адрес структуры игрока (Player Base):

  1. ПКМ по адресу в списке → Dissect data/structures (Анализ данных/структур)․
  2. CE проанализирует память вокруг и покажет поля: HP‚ Stamina‚ Coords‚ Name и т․д․
  3. Можно определить структуру (Define Structure)‚ дать имена полям․
  4. ПКМ по структуре → Add addresses for this structure — мгновенно добавит все поля в таблицу с правильными смещениями․

Символы (Symbols) и регистрация

В скриптах Auto Assembler используйте registersymbol(MyHealthPtr) и unregistersymbol(MyHealthPtr) в секциях [ENABLE] / [DISABLE]․ Это позволяет обращаться к найденному адресу из других скриптов или из Lua-кода таблицы․


Типичные ошибки и решение проблем

Проблема Причина / Решение
Чит работает‚ но после перезапуска игры адрес другой / игра вылетает․ Вы сохранили сырой адрес (зеленый в списке)‚ а не указатель или скрипт․ Используйте Pointer Scanner или Code Injection․
CE не видит процесс игры / кнопка Open серая․ Запустите CE от имени администратора․ Игра может быть в защищенном режиме (Anti-cheat: BattlEye‚ EAC‚ Vanguard) — для онлайн игр создание читов невозможно/нелегально․
Скрипт не активируется (галочка не ставится / сразу сбрасывается)․ Ошибка в коде инъекции (не тот регистр‚ не тот размер операнда‚ конфликт с другими хуками)․ Проверьте лог в Auto Assembler (View → Show log)․
Указатель (Pointer) становится красным / показывает «???»․ Базовый адрес модуля сместился (ASLR) или указатель неверный (не прошел рескан)․ Нужен повторный Pointer Scan или поиск через Code Injection + registersymbol․
Антивирус удаляет Cheat Engine или ․CT файл․ Добавьте папку CE и папку с таблицами в исключения (Whitelist) Windows Defender / антивируса․

Этика и безопасность

  • Только Single Player: Cheat Engine предназначен для моддинга одиночных игр․ Использование в онлайн-играх (MMO‚ FPS‚ Co-op) нарушает EULA‚ ведет к перманентному бану аккаунта (HWID бан) и портит опыт другим игрокам․
  • Античиты: Современные античиты (Easy Anti-Cheat‚ BattlEye‚ Vanguard) работают на уровне ядра (Ring 0)․ Попытка подключиться CE к такому процессу приведет к немедленному бану или крашу системы (BSOD)․
  • Вирусы в чужих таблицах: Файлы ․ct могут содержать вредоносные Lua-скрипты (например‚ загрузка исполняемых файлов из интернета‚ кража паролей)․ Всегда проверяйте код Lua-скрипта (Table → Show Cheat Table Lua Script) перед активацией чужой таблицы․ Не запускайте таблицы из непроверенных источников․

Создание качественной таблицы Cheat Engine — это процесс‚ объединяющий реверс-инжиниринг‚ понимание архитектуры памяти (указатели‚ структуры‚ стек) и навыки программирования на Assembly (Auto Assembler) и Lua․

Краткий чек-лист создания про таблицы:

  1. Найти значение (Scan)․
  2. Найти инструкцию кода‚ обращающуюся к нему (Debugger / What accesses)․
  3. Написать скрипт инъекции (Code Injection) или найти надежный указатель (Pointer Scan с ресканами)․
  4. Оформить: Группы‚ Имена‚ Цвета‚ Drop-down списки․
  5. Добавить Lua-автоматизацию (опционально)․
  6. Сохранить (Ctrl+S) в ․ct․

Начинайте с простых игр (без античитов‚ старые одиночные проекты)‚ тренируйтесь на «Pointer Scanning» и «Code Injection»‚ и со временем вы сможете создавать профессиональные таблицы вроде тех‚ что публикуются на Fearless Revolution или GitHub․ Удачи в ресерче!