Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос Unreal Engine — Методы обхода паттерн-сканирования памяти при мануал маппинге

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
130
Реакции
4
Народ, кто сейчас ковыряет UE игры без сторонних античитов, подскажите по поводу защиты от паттерн-сканирования.

Ситуация следующая: есть 64-битный тайтл на Unreal Engine, своего античита нет, но девы активно мониторят память своим исполняемым файлом. Сейчас инжект через мануал маппинг, сама длл под ВМП, стринг-крипт есть, декрипт в памяти — тоже. Но чую, что если доберутся до инжектора, то начнут сканировать память на предмет "лишних" модулей или аномалий в коде.

Текущий план действий:
  1. Динамическая сборка: Поднимаю сервер, который при каждом запросе компилит билд с рандомными мусорными макросами, чтобы смещать сигнатуры.
  2. Уникализация: После компиляции — автоматический прогон через VMProtect на сервере и выдача юзеру уникального бинарника.

Вопрос к тем, кто уже плотно работал с такой защитой:

  1. Мусорный код: Насколько сильно реально помогают джанк-макросы против современных сканеров? Не будут ли они просто создавать подозрительные области с невыполняемым кодом, на которые сработает эвристика?
  2. Маскировка мануал маппинга: Как сейчас грамотно зачищать следы в InLoadOrderModuleList, InMemoryOrderModuleList и InInitializationOrderModuleList? Простого обнуления заголовков (PE header) уже явно мало.
  3. Скан памяти: Есть ли смысл делать section hiding или перехватывать функции сканирования памяти, если игра обращается к VirtualQuery или ReadProcessMemory в своих же потоках?

Понимаю, что панацеи нет, но хочется минимизировать шансы на детект через статику. Если у кого есть наработки или опыт по обходу таких проверок в UE — поделитесь мыслями, как лучше подойти к изменению структуры бинарника при билде. Может, есть более изящные методы, чем просто рандомный мусор в коде?

Отпишитесь, кто сталкивался с подобным, стоит ли заморачиваться с кастомным компилятором на бэкенде или проще уйти в сторону полноценного экстернала через RPM/WPM, чтобы вообще не светить длл в адресном пространстве процесса?
 
джанк макросы особо не спасают от эвристик лучше фокус на обфускацию вызовов и перехват API в рантайме чем нагромождать мусор. по поводу списков чистка LDR списков обязательна но делай через прямые записи в память после маппинга не через стандартные функции.
 
Назад
Сверху Снизу