Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
vmp2 — VMProtect2 디난독화 도구 | Kitploit
도구/GitHubGitHub/backengineering/vmp2
Dynamic Analysis (Sandboxing)Vulnerability AnalysisReverse EngineeringDebuggersBinary AnalysisPapers & ResearchLearning & EducationFirmware AnalysisBinary ExploitationArchived
GitHubbackengineering/vmp2

vmp2

130229개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

VMProtect2 디난독화 도구

저장소 보기

소개

이 저장소는 VMProtect 2로 보호된 바이너리를 다루기 위한 레거시 도구 모음입니다. 이 도구들은 VMProtect 2로 보호된 소프트웨어의 언패킹, 분석, 실험적인 가상화 해제(devirtualization) 를 가능하게 합니다. 이 모음의 핵심은 vmprofiler 유틸리티 라이브러리로, 다른 모든 도구에서 사용하는 기초 로직을 제공합니다. 이 라이브러리는 VM 핸들러, 핸들러 테이블, 변환(transform) 등 VMProtect 2의 주요 구성 요소를 식별하는 역할을 담당합니다.

경고

이 4년 이상 된 프로젝트에서 얻은 교훈은 가상화 해제에 관심이 있는 분들에게 전달되어야 합니다.

이 프로젝트는 개별 VM 핸들러를 식별하려고 시도합니다. 이 방식은 깨지기 쉽고 확장성이 없으며, 가상 머신 아키텍처 변경(여러 핸들러 상호 연결, 복잡한 핸들러 등)으로 무력화될 수 있습니다. 대신 저는 최소한의 VM 특정 난독화 해제 로직으로 점진적인 리프팅(lifting) 및 제어 흐름 복구(control-flow recovery) 전략을 지지합니다. Saturn, Colton의 Dna, Triton, Mergen과 같은 도구들은 VM 특정 핸들러 식별을 거의 또는 전혀 사용하지 않고 VMProtect 난독화를 성공적으로 해제했습니다. 이 저장소는 VMProtect 2의 아키텍처를 문서화하고, 가상 머신 특정 핸들러에 크게 의존하는 가상화 해제 도구를 구축하지 말라는 경고의 메모 역할을 합니다.

VMProtect 가상화 해제에 대한 반-일반적 접근 방식은 load/store 전파, 섹션 상수 전파, DCE 및 몇 가지 다른 간단한 최적화를 지원하는 강력한 프레임워크가 필요합니다. 많은 사람들이 LLVM을 사용하여 기본 코드로 다시 컴파일하려고 시도하지만, 저는 이 접근 방식이 항상 만족스럽지 못한 결과를 낳을 것이라고 생각합니다. 저희는 자체 프레임워크인 blare2를 보유하고 있으며, 이는 난독화 해제 목적으로 활용하는 깔끔한 1:1 리프트 및 로워링(lowering) 기능을 제공합니다. 난독화 해제를 위한 컨설팅 서비스에 관심이 있으시다면 일정이 허락하는 경우 제공해 드릴 수 있습니다.


도구 개요

  • vmemu
    Unicorn Engine 기반의 가상 머신 탐색 도구입니다. 지정된 vmenter 내에서 보호된 프로그램을 언패킹하고 제어 흐름을 분석할 수 있습니다. 이 도구는 주어진 VM 진입점의 제어 흐름 그래프를 포함하는 .vmp2 파일을 생성합니다. 생성된 .vmp2 파일은 vmdevirt 에 전달되어 함수를 다시 기본 x86으로 재컴파일하고 원래 바이너리에 재통합할 수 있습니다. 참고로 이 도구는 단순히 함수의 단일 경로만 발견하는 단순 트레이서가 아니라, 실제로 가상 jcc를 식별하고 모든 가상화된 제어 흐름을 탐색합니다.

  • vmdevirt
    .vmp2 파일을 위한 실험적인 LLVM 기반 재컴파일러입니다. 기능적으로는 작동하지만 매우 실험적이고 불안정한 것으로 간주되며, 이 접근 방식은 일반적으로 권장되지 않습니다.

  • vmassembler
    사용자 정의 가상 머신 연산을 인코딩하기 위한 실험적인 어셈블러입니다. 이 프로젝트는 VMProtect 2 가상 머신 아키텍처에 대한 깊은 기술적 이해를 보여줍니다.

  • vmhook
    런타임에 VMProtect 2 가상 머신에 훅을 설치하여 개별 VM 핸들러에 대한 상세한 내부 관찰을 가능하게 하는 도구입니다.

  • vmprofiler
    다른 모든 도구를 구동하는 핵심 유틸리티 라이브러리입니다. VM 핸들러 패턴 매칭, 핸들러 테이블 추출, 데드 코드 제거(DCE) 및 기타 필수 분석 루틴을 포함합니다.

  • vmprofiler-cli
    vmprofiler의 명령줄 인터페이스로, 추출된 정보를 텍스트 형식으로 표시하고 검사할 수 있습니다.

  • vmprofiler-qt
    VMProtect 2 바이트코드를 위한 Qt 기반 그래픽 디스어셈블러로, 가상화된 코드의 대화형 시각적 탐색을 제공합니다.


VMProtect 2 언패커

이 페이지의 지침을 따라주세요.

빌드 지침

사전 요구사항

  • CMake ≥ 3.11
  • C++ 컴파일러
  • vmhook용 Visual Studio 2022
  • LLVM 및 기타 빌드 아티팩트를 위한 최소 50GB의 여유 공간

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 규정을 위반하지 않습니다. 모든 작업은 저의 독창적인 창작물이며, 사용자의 행동은 전적으로 사용자의 책임이며 저자의 행동이나 의도를 반영하지 않습니다.

도구 다운로드