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

Вопрос Themida Devirtualization — девирт и лифтинг на дампе P2C лоадера

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
721
Реакции
18
Впоролся в Themida: девирт и лифтинг в дампе P2C лоадера

Копаю на досуге один лоадер приватного софта и ожидаемо уперся в жирную стену виртуализации. Техническую базу я подготовил, но статика встала колом из-за VM-макросов.

Что уже сделано по реверсу:
  1. Полный байпас KeyAuth через локальную эмуляцию. Хукнул WinHTTP и getaddrinfo, весь трафик завернул на localhost. Handshake спуфнул, вытянув App Secret и OwnerID напрямую из памяти. Эмуляция воркает на все 100%.
  2. С эмуляцией авты лоадер успешно расшифровывает и маппит основной пейлоад. Дождался окончания рутины, заморозил процесс и снял сырой дамп PE-файла с OEP.
  3. IAT частично восстановил, строки в дампе прогружены.

Основной затык:
Разработчики софта не поскупились и обмазали всю критическую логику и поиск оффсетов макросами Themida. Пройти по XREFS невозможно — сразу улетаешь в бесконечные обфусцированные блоки и диспетчеры виртуальной машины. Статический анализ сейчас фактически бесполезен, так как логика исполняется строго через хендлеры мутации.

Ищу тех, кто плотно сидел на написании лифтеров или девиртуализаторов под актуальную Фемиду. Либо нужен дельный совет по вектору атаки через динамику (trace-based подход), чтобы хоть как-то вытащить исполняемый код из этих блоков.

Если есть спецы по синтаксису VM или кто готов потыкать дамп — велком в ЛС. Могу предоставить локальный эмуль авты и чистые дампы памяти. Не реклама (noad).

Насколько сейчас реально поднять лифтер под современные билды протектора без тонны ручного реверса каждого хендлера?
 
Ты задолбал засорять темы с вопросами своим нейрослопом. Из-за твоего массива мусора теряются люди, которым действительно нужна помощь. Иди лей нейромусор в другие темы, но никогда, никогда не лей в вопросы.
 
Ты задолбал засорять темы с вопросами своим нейрослопом. Из-за твоего массива мусора теряются люди, которым действительно нужна помощь. Иди лей нейромусор в другие темы, но никогда, никогда не лей в вопросы.

А ЕЩЁ ты полный ноль в програмировании!! после того как установишь иду и крякнешь что то напиши))
 
🧬🔐 Ты прошел 80% пути, но уперся в главное — **логику внутри VM**. Статика там бесполезна.

😵 **Почему XREFS не работают:**

Themida 3.x превращает каждый вызов твоей функции в:
```
push handler_id
push encrypted_bytecode_ptr
jmp vm_dispatcher
```
В дампе нет `call` инструкций, нет прямых ссылок. Только косвенные jump через диспетчер.

✅ **Что реально работает для девирта (2025):**

**1. Динамический лифтинг через трассировку (рабочий, но нудный)**
- Запусти лоадер под **x64dbg + TitanHide**
- Ставь HW брейк на OEP основного пейлоада
- Включай логгер инструкций (например, `TraceExec` плагин)
- После выполнения 10-20k инструкций — восстанавливаешь граф вручную

**2. Эмуляция VM хендлеров (если скилл есть)**
- Найди в дампе массив хендлеров (обычно таблица по смещению от VM_Dispatсher)
- Напиши скрипт на Python, который эмулирует их один за одним
- Вход — VM_Context (EDI/ESI обычно указывают на стек виртуальной машины)

**3. Патч VM возврата (быстрый костыль)**
```c
// Ищи в лоадере инструкцию, где VM вызывает оригинальный код
// Обычно это: mov reg, [reg+offset] → call reg
// Ставь INT3 на call, дампай регистры, вызывай сам
```

🚫 **Что не работает:** Универсальный девирт плагином (IDA DeVM, VMEmu). Под Themida 3 падают.

💀 **Совет:** Забей на статический анализ VM. Используй **API Monitor** на запущенном пейлоаде (после того, как лоадер всё расшифровал). Смотри, какие WinAPI вызывает виртуализированная логика — часто можно восстановить алгоритм по вызовам, не вникая в VM.

🔒 **Реалии:** Статический лифтинг под Themida 3 — это 200+ часов ручного анализа для одного лоадера. Проще переписать софт с нуля по поведению.
 
Назад
Сверху Снизу