Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
vmp2 — Распаковывайте и деобфусцируйте защищённые VMProtect 2 бинарные файлы с помощью эмуляционного VM-обозревателя, профилировщика обработчиков и экспериментального LLVM-рекомпилятора для девиртуализации. | Kitploit
Инструменты/GitHubGitHub/aftermathlabs/vmp2
Статический анализ кода (SAST)Анализ КодаДинамический анализ кода (DAST)Обратная инженерияАнализ вредоносных программАнализ Бинарных ФайловArchived
GitHubaftermathlabs/vmp2

vmp2

Распаковывайте и деобфусцируйте защищённые VMProtect 2 бинарные файлы с помощью эмуляционного VM-обозревателя, профилировщика обработчиков и экспериментального LLVM-рекомпилятора для девиртуализации.

Репозиторий
131239 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Введение

Этот репозиторий представляет собой набор устаревших инструментов для работы с бинарными файлами, защищёнными VMProtect 2.
Эти инструменты обеспечивают распаковку, анализ и экспериментальную девиртуализацию программного обеспечения, защищённого VMProtect 2. В основе этой коллекции лежит vmprofiler — библиотека утилит, предоставляющая фундаментальную логику, используемую всеми остальными инструментами. Она отвечает за идентификацию ключевых компонентов VMProtect 2, таких как VM-обработчики, таблица обработчиков, трансформации и многое другое.

Предупреждение

Уроки, извлечённые из этого проекта, которому более 4 лет, следует передать тем, кто интересуется девиртуализацией.

Этот проект пытается идентифицировать отдельные VM-обработчики. Этот подход хрупок, не масштабируется и может быть сведён на нет изменениями архитектуры виртуальной машины (связывание нескольких обработчиков, сложные обработчики и т. д.). Вместо этого я выступаю за инкрементальную стратегию подъёма (lifting) и восстановления потока управления с минимальной VM-специфичной логикой деобфускации. Такие инструменты, как Saturn, Dna от Colton, Triton и Mergen, успешно деобфусцировали VMProtect практически без идентификации VM-специфичных обработчиков или вовсе без неё. Этот репозиторий документирует архитектуру VMProtect 2 и служит предостережением: избегайте создания инструментов девиртуализации, которые сильно зависят от идентификации специфичных для виртуальной машины обработчиков.

Полу-универсальный подход к девиртуализации VMProtect требует надёжного фреймворка, поддерживающего распространение операций load/store, распространение констант по секциям, DCE и ряд других простых оптимизаций. Многие пытаются использовать LLVM для обратной компиляции в нативный код; однако я считаю, что этот подход всегда будет давать нежелательный результат. У нас есть собственный фреймворк blare2, который предоставляет чистые возможности подъёма и понижения 1:1, которые мы используем для наших целей деобфускации. Если вас интересуют консультационные услуги по деобфускации, мы можем их предоставить при наличии свободного времени в нашем графике.


Обзор инструментов

  • vmemu
    Инструмент исследования виртуальной машины на основе Unicorn Engine. Он позволяет распаковывать защищённые программы и анализировать поток управления внутри указанного vmenter.
    Этот инструмент генерирует файл .vmp2, содержащий граф потока управления для заданной точки входа в VM.
    Полученный файл .vmp2 затем можно передать в vmdevirt для перекомпиляции функции обратно в нативный x86 и повторной интеграции в исходный бинарный файл. Обратите внимание, что это НЕ просто простой трассировщик, который обнаруживает лишь один путь через функцию: он фактически идентифицирует виртуальные jcc и исследует весь виртуализированный поток управления.

  • vmdevirt
    Экспериментальный рекомпилятор на основе LLVM для файлов .vmp2.
    Хотя он работоспособен, он считается крайне экспериментальным и нестабильным, и данный подход в целом не рекомендуется.

  • vmassembler
    Экспериментальный ассемблер для кодирования определяемых пользователем операций виртуальной машины.
    Этот проект демонстрирует глубокое техническое понимание архитектуры виртуальной машины VMProtect 2.

  • vmhook
    Инструмент, предназначенный для внедрения в виртуальную машину VMProtect 2 во время выполнения, обеспечивающий детальную интроспекцию отдельных VM-обработчиков.


Распаковщик VMProtect 2

Пожалуйста, следуйте инструкциям на этой странице.

Инструкции по сборке

Предварительные требования

  • CMake ≥ 3.11
  • Компилятор C++
  • Visual Studios 2022 для vmhook
  • Не менее 50 ГБ свободного места для LLVM и других артефактов сборки

Конфигурация для vmassembler, vmemu, vmprofiler и vmprofiler-cli:

root@kitploit:~
cmake -B build
cmake --build build

С vmdevirt (будет загружен и собран LLVM!):

root@kitploit:~
cmake -B build -DBUILD_VMDEVIRT=ON -DLLVM_BUILD_TYPE=Release
cmake --build build

С vmprofiler-qt:

root@kitploit:~
cmake -B build -DBUILD_VMPROFILER_QT=ON
cmake --build build

Оба дополнительных модуля:

root@kitploit:~
cmake -B build -DBUILD_VMDEVIRT=ON -DBUILD_VMPROFILER_QT=ON -DLLVM_BUILD_TYPE=Release
cmake --build build

Юридический отказ от ответственности

Эти инструменты предоставлены исключительно для образовательных и исследовательских целей. Они не должны использоваться для любых незаконных действий, несанкционированного доступа или нарушений DMCA или других законов. Сами инструменты не нарушают никаких положений DMCA. Вся работа является моим оригинальным творением, и любые действия, совершаемые пользователями этих инструментов, являются исключительно ответственностью этих пользователей и не отражают действия или намерения автора.

Скачать инструмент
  • vmprofiler
    Основная библиотека утилит, на которой работают все остальные инструменты.
    Она включает поиск по шаблону VM-обработчиков, извлечение таблицы обработчиков, удаление мёртвого кода (DCE) и другие основные процедуры анализа.

  • vmprofiler-cli
    Интерфейс командной строки для vmprofiler, позволяющий пользователям отображать и просматривать извлечённую информацию в текстовом формате.

  • vmprofiler-qt
    Графический дизассемблер на основе Qt для байт-кода VMProtect 2, обеспечивающий интерактивное и визуальное исследование виртуализированного кода.