Поиск в Cheat Engine возвращает пустой список адресов чаще всего из-за неверно выбранного типа значения: игра хранит число как Float или Double, а сканирование идёт по умолчанию в режиме 4 Bytes. Это самая распространённая причина, и проверить её можно за минуту — достаточно сменить параметр Value Type и повторить сканирование.
Но тип данных — не единственный виновник. Число может отображаться на экране в одном виде, а храниться в памяти в другом: умноженным на коэффициент, зашифрованным или разбитым на несколько переменных. Ниже разберём все типичные причины и порядок действий для каждой ситуации.
Проверьте тип значения (Value Type)
По умолчанию Cheat Engine ищет целые числа в формате 4 Bytes. Если искомый параметр — дробное число (шкала здоровья, скорость, таймер), такое сканирование ничего не найдёт, даже если значение точно существует в памяти.
Откройте выпадающий список Value Type и попробуйте по очереди:
- 🔢 4 Bytes — стандартные целые числа: деньги, патроны, очки опыта;
- 📊 Float — дробные значения: полоски жизни, проценты, координаты;
- 📈 Double — дробные числа повышенной точности, встречаются в современных играх;
- 🔍 All — поиск по всем типам сразу; медленнее, но помогает, когда тип неизвестен.
Если на экране отображается целое число, это не гарантирует, что в памяти оно целое. Игра может хранить значение как Float и просто округлять его при отрисовке интерфейса. Поэтому при неудаче с 4 Bytes следующим шагом всегда пробуйте Float.
Используйте поиск по неизвестному значению
Бывает, что точное число узнать невозможно: полоска здоровья без цифр, прогресс в процентах без подписи. В этом случае работает метод неизвестного начального значения (Unknown Initial Value).
Порядок действий такой: в поле Scan Type выберите Unknown Initial Value и запустите первое сканирование — программа запомнит снимок памяти. Затем вернитесь в игру, измените параметр (получите урон, потратьте ресурс), снова откройте Cheat Engine и выберите один из вариантов отсева:
- ⬇️ Decreased Value — значение уменьшилось;
- ⬆️ Increased Value — значение увеличилось;
- 🔄 Changed Value — значение изменилось в любую сторону;
- ⏸️ Unchanged Value — значение не менялось (полезно для отсева лишнего).
Повторяйте цикл «изменил в игре → отфильтровал в Cheat Engine», пока в списке не останется несколько адресов. Обычно хватает четырёх-шести итераций.
☑️ Поиск неизвестного значения
Число хранится в зашифрованном или изменённом виде
Некоторые игры намеренно искажают данные в памяти, чтобы затруднить читерство. Типичные приёмы: число умножается на коэффициент (например, отображается 100, а хранится 10000), к нему прибавляется смещение или применяется операция XOR с ключом.
Определить такую ситуацию можно по косвенным признакам: точный поиск и поиск по диапазону не дают результатов ни в одном типе данных, а поиск по неизвестному значению находит адрес, но его содержимое не совпадает с тем, что на экране. В этом случае помогает сканирование типа Increased value by... с указанием дельты — насколько изменился параметр в игре.
⚠️ Внимание: если игра шифрует значения, изменение найденного адреса напрямую может привести к вылету или рассинхронизации данных. Перед экспериментами сохраните игровой прогресс, если игра это позволяет.
Как работает поиск по дельте
Выберите Scan Type = Increased value by... и укажите, на сколько именно выросло или упало значение в игре. Например, потратили 50 монет — ищите уменьшение на 50. Метод работает даже с зашифрованными значениями, если шифрование линейное (умножение или сложение), потому что дельта изменяется пропорционально.
Игра защищена античитом
Онлайн-игры и часть одиночных проектов используют защитные системы: Easy Anti-Cheat, BattlEye, Vanguard и другие. Они блокируют чтение памяти процесса, и Cheat Engine либо не видит игру в списке процессов, либо возвращает пустые результаты сканирования.
Признаки активной защиты: процесс игры не открывается (ошибка доступа), сканирование завершается мгновенно с нулём результатов, игра закрывается при попытке подключения отладчика. В такой ситуации обход защиты — отдельная сложная тема, и для онлайн-игр попытки читерства почти наверняка заканчиваются блокировкой аккаунта.
⚠️ Внимание: использование читов в многопользовательских играх нарушает пользовательское соглашение и ведёт к бану аккаунта, а иногда и к аппаратной блокировке. Применяйте Cheat Engine только в одиночных играх и офлайн-режимах.
Динамические адреса и указатели
Иногда число находится успешно, но после перезапуска игры или перехода на другой уровень адрес становится недействительным — значение «съезжает». Это нормальное поведение: игра выделяет память динамически, и при каждом запуске данные оказываются в новом месте.
Решение — поиск указателя (pointer) через функцию Pointer scan for this address в контекстном меню найденного адреса. Указатель опирается на статический базовый адрес модуля игры и цепочку смещений, поэтому остаётся рабочим после перезапуска. Альтернатива — поиск по сигнатуре AOB (Array of Bytes), но это уже продвинутый уровень.
Сводная таблица причин и решений
| Симптом | Вероятная причина | Что делать |
|---|---|---|
| Пустой результат при Exact Value | Неверный тип данных | Сменить Value Type на Float/Double/All |
| Число на экране есть, в памяти нет | Значение зашифровано или масштабировано | Поиск по Unknown Initial Value или по дельте |
| Сканирование мгновенно завершается | Античит блокирует доступ к памяти | Проверить наличие защиты; для онлайн-игр — отказаться |
| Адрес найден, но слетает после перезапуска | Динамическое выделение памяти | Искать указатель через Pointer Scan |
| Процесс игры не открывается | Недостаточно прав или защита процесса | Запустить Cheat Engine от имени администратора |
Дополнительные проверки
Если перечисленное не помогло, пройдитесь по базовым моментам. Убедитесь, что вы подключились именно к тому процессу игры — у современных игр и лаунчеров бывает несколько процессов с похожими именами, и данные хранятся не в том, который вы выбрали. Откройте список процессов через кнопку с иконкой компьютера и проверьте альтернативные варианты.
Также проверьте настройки сканирования: в Edit → Settings → Scan Settings должен быть включён обход всех регионов памяти, а поле диапазона адресов — пустым или корректным. Случайно ограниченный диапазон Start/Stop — частая причина «невидимых» значений.
Частые вопросы
Почему поиск находит тысячи адресов, и что с ними делать?
Это нормально для первого сканирования. Отсевайте лишние адреса повторными поисками (Next Scan) после изменения значения в игре — список будет сокращаться с каждой итерацией.
Можно ли искать значение, которое отображается без цифр, только полоской?
Да. Используйте Scan Type = Unknown Initial Value, затем фильтры Increased/Decreased после изменения полоски в игре. Точное число знать не обязательно.
Cheat Engine не видит процесс игры в списке. Что делать?
Запустите программу от имени администратора и проверьте, не защищена ли игра античитом. Также убедитесь, что игра действительно запущена и не свёрнута в режиме паузы лаунчера.
Нашёл адрес, изменил значение, но в игре ничего не поменялось. Почему?
Вы, скорее всего, нашли копию значения, которую игра использует только для отображения. Реальное значение хранится в другом месте — продолжите отсев или попробуйте поиск по дельте изменения.
Безопасно ли использовать Cheat Engine?
В одиночных играх без античита — да, максимум вы рискуете вылетом игры. В онлайн-играх использование читов нарушает правила и приводит к блокировке аккаунта.