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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
vmprotect-research — 버전 1.x~3.x를 지원하는 일반화된 VMProtect 탈가상화 도구입니다. 보호된 바이너리에서 자동 바이트코드 디코딩, 핸들러 분류, x86-64 명령어 재구성을 위한 독립형 CLI 도구 및 Ghidra 플러그인입니다. | Kitploit
도구/GitHubGitHub/rasetsuu/vmprotect-research
Static AnalysisDynamic Analysis (Sandboxing)Reverse EngineeringDebuggersBinary AnalysisPapers & ResearchLearning & EducationFirmware AnalysisBinary Exploitation
GitHubrasetsuu/vmprotect-research

vmprotect-research

버전 1.x~3.x를 지원하는 일반화된 VMProtect 탈가상화 도구입니다. 보호된 바이너리에서 자동 바이트코드 디코딩, 핸들러 분류, x86-64 명령어 재구성을 위한 독립형 CLI 도구 및 Ghidra 플러그인입니다.

4892개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

VMP 디버추얼라이저 - 프로덕션 릴리스

VMProtect 1.x, 2.x, 3.x 버전을 지원하는 범용 디버추얼라이저. 독립형 CLI 도구 + Ghidra 플러그인.

상태: ✅ 프로덕션 준비 | 검증: 22/22 샘플 (100%) | 범위: VMP ≤3.6 (3.7+는 리버스 엔지니어링 필요)


특징

  • 멀티 버전 지원: VMP 1.x, 2.x, 3.x (1.1 → 3.10.5)
  • 버전 탐지: 휴리스틱을 통한 자동 식별
  • 디스패치 테이블 추출: 암호화된 테이블을 위한 Unicorn XOR 키 캡처
  • 핸들러 분류: 모든 버전에 걸친 256개 핸들러 유형
  • 바이트코드 디코딩: VM 연산 → x86-64 명령어 재구성
  • 플랫폼 지원: Windows PE + Linux ELF 바이너리
  • 디컴파일러 통합: VM 바이트코드 → 의사 코드
  • Ghidra 플러그인: 대화형 핸들러 분석 + 주석

빠른 시작

빌드

root@kitploit:~
cd /home/ciupix/vmp_devirt_prod
cargo build --release

바이너리: target/release/vmp_devirt

사용법

root@kitploit:~
# Analyze binary
./target/release/vmp_devirt <binary_path>

# Export handlers
./target/release/vmp_devirt <binary_path> --export-handlers handlers.json

# Export bytecode
./target/release/vmp_devirt <binary_path> --export-bytecode bytecode.json

검증 결과

요약

  • 전체 샘플: 22
  • 성공률: 22/22 (100%)
  • 평균 처리 시간: 229ms
  • 총 시간: 5.0초

버전별

버전

테스트된 샘플:

  • VMP 1.x: HiVmp.vmp.1.1.exe, HiVmp.vmp.1.4.exe, HiVmp.vmp.1.54.exe, HiVmp.vmp.1.70.4.exe
  • VMP 2.x: Branch0.vmp.exe, HiVmp.exe, mfc_algo_demo.vmp.exe, Project1.vmp.exe, Project2.vmp.exe, Project4.vmp.exe
  • VMP 3.x: add_control_flow.vmp.exe, adder.vmp.exe, bitwise.vmp.exe, control_flow_test.vmp.exe, cpuid_test.vmp.exe, fac_fib.vmp.exe, globals.vmp.exe, hello_world.vmp.exe, multiadder.vmp.exe, nested_virt_funccall.vmp.exe, ptr_drf.vmp.exe, switch.vmp.exe

자세한 결과는 VALIDATION_REPORT.md를 참조하세요.


아키텍처

root@kitploit:~
입력 바이너리
    ↓
PE/ELF 로더 (src/pe_loader.rs)
    ↓
버전 탐지기 (src/version.rs)
    ↓
디스패치 테이블 추출기 (src/dispatch_table.rs)
    ├─ Unicorn XOR 키 캡처 (src/unicorn_emulator.rs)
    └─ 패턴 매칭 폴백
    ↓
핸들러 분류기 (src/handler_classifier.rs)
    ↓
바이트코드 디코더 (src/bytecode.rs)
    ├─ 피연산자 복호화 (src/decrypt.rs)
    └─ ALU 재구성 (src/alu.rs)
    ↓
출력 (JSON/의사 어셈블리)

핵심 모듈

총계: 약 2,800줄의 프로덕션 Rust 코드


구현 세부 사항

버전 탐지

기반 휴리스틱:

  • 핸들러 진입 패턴 (POP/PUSH 연산코드)
  • 디스패치 메커니즘 (점프 테이블 vs. 암호화된 체인 vs. 핸들러 체인)
  • PE 섹션 레이아웃 (.vmp0, .vmp1, .text)
  • 진입 스텁 패턴 (PUSH 암호화 + CALL/JMP)

디스패치 테이블 추출

VMP 1.x/2.x: .text 섹션의 패턴 매칭을 통한 XOR 키 추출

  • XOR 명령어 패턴 스캔
  • 연산코드 시퀀스에서 키 도출
  • 이미지 베이스 범위에 대해 검증

VMP 3.x: 핸들러 체인 디스패치

  • 디스패치 포인트(DP0-DP5) 위치 파악
  • 핸들러 체인 추적
  • 256개 디스패치 항목 추출

핸들러 분류

패턴 매칭 대상:

  • 진입 패턴 (49 8b 2a = VMP 3.x의 POP)
  • 핵심 연산 (SUB, ADD, XOR 등)
  • 피연산자 유형 (슬롯, 오프셋, 즉시값)
  • 디스패치 메커니즘 (push/ret, 직접 jmp)

바이트코드 디코딩

  1. 바이트코드 섹션에서 연산코드 읽기
  2. 핸들러 의미 조회
  3. 피연산자 추출 (슬롯, 오프셋)
  4. ValueCryptor 체인을 통해 피연산자 복호화
  5. x86-64 명령어 재구성
  6. VM 컨텍스트 처리 (레지스터 파일, 플래그, 스택)

알려진 제한 사항

  1. VMP 3.7+ (병합된 핸들러) - 지원되지 않음. VMP 3.7+는 핸들러당 여러 연산을 포함하는 병합된 핸들러를 도입하여 현재 분류기를 손상시킵니다. 실제 3.7+ 샘플을 통한 리버스 엔지니어링이 필요합니다. 자세한 내용은 FUTURE_WORK.md를 참조하세요.
  2. XOR 키 검증 경고 - VMP 1.x/2.x에서 예상됨 (중요하지 않음)
  3. VMP 3.x 디스패치 탐지 - 최신 난독화에 대한 폴백 전략 사용
  4. Linux 샘플 - 현재 테스트 세트에 포함되지 않음 (ELF 지원 구현됨)

성능

  • 처리량: 약 4.4 샘플/초
  • 메모리: 샘플당 <50MB
  • 지연 시간: 5ms-3.25s (바이너리 크기에 따라 다름)

문서

  • VALIDATION_REPORT.md - 포괄적인 테스트 결과
  • IMPLEMENTATION_COMPLETE.md - 구현 상태
  • UNICORN_IMPLEMENTATION_REPORT.md - XOR 키 캡처 세부 사항

소스 참조

VMP 3.5.1 소스 누출 분석에 기반한 아키텍처:

  • 핸들러 구조 및 디스패치 메커니즘
  • ValueCryptor 체인 구현
  • ALU 연산 패턴
  • VM 컨텍스트 관리

라이선스

연구/교육용


연락처

문제나 질문이 있으면 검증 보고서나 구현 문서를 참조하세요.

최종 업데이트: 2026-06-01 상태: 프로덕션 준비

도구 다운로드
샘플
성공
평균 시간
VMP 1.x44/438ms
VMP 2.x66/6734ms
VMP 3.x1212/1239ms
모듈목적라인 수
src/lib.rs주 라이브러리 인터페이스150
src/version.rsVMP 버전 탐지200
src/pe_loader.rsPE/ELF 바이너리 로딩350
src/dispatch_table.rs디스패치 테이블 추출400
src/unicorn_emulator.rsXOR 키 캡처308
src/handler_classifier.rs핸들러 유형 식별280
src/bytecode.rs바이트코드 읽기/디코딩320
src/decrypt.rsValueCryptor 체인250
src/alu.rsALU 연산 재구성200
src/opcode_table.rs연산코드 관리180
src/bin/cli.rsCLI 도구400