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

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

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

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

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

Категории

Все категории
Loading categories
vmp2 — VMProtect2 Deobfuscation Tooling | Kitploit
Инструменты/GitHubGitHub/backengineering/vmp2
Dynamic Analysis (Sandboxing)Vulnerability AnalysisReverse EngineeringDebuggersBinary AnalysisPapers & ResearchLearning & EducationFirmware AnalysisBinary ExploitationArchived
GitHubbackengineering/vmp2

vmp2

130229 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

VMProtect2 Deobfuscation Tooling

Репозиторий

Введение

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

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

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

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

Полу-универсальный подход к девиртуализации VMProtect требует надёжного фреймворка, поддерживающего распространение загрузок/сохранений, распространение констант из секций, DCE и ряд других простых оптимизаций. Многие пытаются использовать LLVM для компиляции обратно в нативный код; однако я считаю, что этот подход всегда будет давать неоптимальный результат. У нас есть собственный фреймворк blare2, который предоставляет чистые возможности подъёма (lift) и понижения (lowering) в соотношении 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 Studio 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, предоставляющий интерактивное и визуальное исследование виртуализированного кода.