Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
VMDragonSlayer — 멀티 엔진 프레임워크로서, VM 보호 바이너리를 언패킹 및 분석합니다. Dynamic taint tracking, symbolic execution, pattern classification 및 ML 기반 우선순위 지정을 활용하여 상용 및 맞춤형 프로텍터의 리버스 엔지니어링을 자동화합니다. | Kitploit
도구/GitHubGitHub/poppopjmp/vmdragonslayer
Static AnalysisDynamic Analysis (Sandboxing)Vulnerability AnalysisReverse EngineeringDebuggersFuzzingMalware AnalysisBinary AnalysisMachine LearningPapers & ResearchLearning & Education
43168220년 전Kitploit 검토 완료
GitHub
poppopjmp/vmdragonslayer

VMDragonSlayer

멀티 엔진 프레임워크로서, VM 보호 바이너리를 언패킹 및 분석합니다. Dynamic taint tracking, symbolic execution, pattern classification 및 ML 기반 우선순위 지정을 활용하여 상용 및 맞춤형 프로텍터의 리버스 엔지니어링을 자동화합니다.

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

VMDragonSlayer

프로젝트는 10월 중순에 공개될 예정입니다 (리팩토링 진행 중)

고급 가상 머신 탐지 및 분석 프레임워크

VMDragonSlayer는 VMProtect 2.x/3.x, Themida 및 사용자 정의 악성코드 VM과 같은 가상 머신(VM) 기반 보호 프로그램에 의해 보호된 바이너리를 분석하기 위한 포괄적인 프레임워크입니다. 이 프레임워크는 동적 오염 추적(DTT), 기호 실행(SE), 패턴 분류 및 머신러닝을 포함한 여러 분석 엔진을 결합하여 리버스 엔지니어링 프로세스를 자동화합니다.

목표: 복잡한 보호 바이너리 분석을 수주/수개월의 수동 작업에서 설명 가능한 결과를 제공하는 구조화된 자동 분석으로 전환합니다.

주요 기능

  • 멀티 엔진 분석: 정적, 동적 및 하이브리드 분석 기술 결합
  • VM 탐지: 상용 및 사용자 정의 VM 프로텍터 자동 탐지
  • 플러그인 에코시스템: Ghidra, IDA Pro 및 Binary Ninja 통합
  • 머신러닝: 패턴 분류를 위한 개념 증명 ML 모델
  • 확장 가능한 아키텍처: 사용자 정의 분석 워크플로우를 위한 모듈식 설계
  • 연구 프레임워크: 악성코드 연구 및 리버스 엔지니어링 교육을 위해 구축됨

핵심 기능

도메인엔진 / 모듈강조 사항
VM 발견analysis.vm_discovery디스패처 및 핸들러 테이블 식별, 중첩 VM 휴리스틱
패턴 분석analysis.pattern_analysis규칙 기반 + 유사도 + ML (하이브리드 자동 선택)
오염 추적analysis.taint_trackingIntel Pin 기반 바이트 수준 오염, 핸들러 발견, 흐름 신뢰도
기호 실행analysis.symbolic_execution.executorPathPrioritizer ML 가중 탐색, 제약 및 상태 추적
하이브리드 오케스트레이션(Python 코어)순차 / 병렬 / 적응형 워크플로우 (Ghidra 보고서에 구현됨)
합성 데이터data/training/synthetic_sample_generator.py난독화 변이, 다중 아키텍처 샘플 생성
패턴 DBdata/patterns/JSON + 향상된 DB + SQLite 기반 런타임 패턴
Ghidra 플러그인plugins/ghidra/진행 중인 UI 통합 (일부 템플릿 누락)
스키마 / 검증data/schemas/JSON 스키마 검증된 분석 출력 및 패턴 형식

아키텍처 개요

VMDragonSlayer는 여러 분석 엔진이 함께 작동하는 모듈식 아키텍처를 사용합니다:

graph TD
    A[VM Discovery Engine] --> B[Pattern/ML Classifier]
    B --> C[Symbolic Execution Engine]
    B --> D[Dynamic Taint Tracker]
    D --> C
    
    subgraph DataSources ["Data Sources"]
        E[Pattern Database]
        F[ML Models - PoC]
    end
    
    subgraph Coordination
        G[Orchestrator - Workflow Management & Coordination]
    end
    
    E --> B
    F --> B
    A --> G
    B --> G
    C --> G
    D --> G
    E --> G
    F --> G
    G --> H[REST API Server]
    G --> I[Plugins - RE Tools]

핵심 분석 엔진

1. VM 발견 엔진 (dragonslayer.analysis.vm_discovery)

  • 목적: VM 기반 보호 기법 탐지 및 분류
  • 기법: 디스패처 루프 탐지, 핸들러 테이블 분석, 제어 흐름 휴리스틱
  • 대상: VMProtect, Themida, 사용자 정의 악성코드 VM, 중첩 보호

2. 동적 오염 추적 (dragonslayer.analysis.taint_tracking)

  • 목적: VM 실행을 통한 데이터 흐름 추적 및 중요 경로 식별
  • 구현: Intel Pin 기반 계측, 바이트 수준 정밀도
  • 기능: 섀도우 메모리, 안티 분석 회피, 자동 핸들러 발견

3. 패턴 분석 (dragonslayer.analysis.pattern_analysis)

  • 목적: VM 패턴 및 동작 분류 및 범주화
  • 방법: 규칙 기반 매칭, 유사도 분석, ML 분류
  • 데이터베이스: JSON 스키마를 사용한 확장 가능한 패턴 데이터베이스

4. 기호 실행 (dragonslayer.analysis.symbolic_execution)

  • 목적: VM 실행 경로를 기호적으로 탐색
  • 기능: 제약 해결, 경로 우선순위 지정, 상태 병합
  • 통합: 오염 분석 결과를 사용하여 탐색 시드 설정

5. 머신러닝 파이프라인 (dragonslayer.ml)

  • 목적: 자동 분류 및 분석 지원
  • 모델: 연구 및 교육을 위한 기본 개념 증명 모델
  • 구성 요소: 특징 추출, 모델 학습, 앙상블 예측

저장소 구조

VMDragonSlayer/
├── dragonslayer/                    # 메인 Python 패키지
│   ├── analysis/                   # 분석 엔진
│   │   ├── vm_discovery/          # VM 탐지 및 분류
│   │   ├── pattern_analysis/      # 패턴 매칭 및 ML 분류
│   │   ├── symbolic_execution/    # 기호 실행 엔진
│   │   ├── taint_tracking/        # 동적 오염 분석
│   │   └── anti_evasion/          # 안티 분석 대응책
│   ├── api/                       # REST API 서버 및 클라이언트
│   ├── core/                      # 핵심 프레임워크 구성 요소
│   ├── ml/                        # 머신러닝 파이프라인
│   ├── analytics/                 # 분석 보고 및 메트릭
│   ├── gpu/                       # GPU 가속 지원
│   ├── utils/                     # 유틸리티 함수
├── data/                          # 설정 및 데이터 파일
│   ├── patterns/                  # 패턴 데이터베이스
│   ├── models/                    # ML 모델 및 메타데이터
│   │   ├── pretrained/           # 사전 학습 모델 (PoC)
│   │   └── metadata/             # 모델 메타데이터 및 스키마
│   ├── samples/                   # 샘플 파일 및 레지스트리
│   ├── schemas/                   # 검증용 JSON 스키마
│   └── training/                  # 학습 구성
├── plugins/                       # 리버스 엔지니어링 도구 플러그인
│   ├── ghidra/                   # Ghidra 플러그인 (Java/Gradle)
│   ├── idapro/                   # IDA Pro 플러그인 (Python)
│   └── binaryninja/              # Binary Ninja 플러그인 (Python)
├── tests/                         # 테스트 스위트
├── documentation/                 # 문서
└── LICENSE                        # GPL v3 라이선스

플러그인 에코시스템

VMDragonSlayer는 주요 리버스 엔지니어링 도구와 통합됩니다:

Ghidra 플러그인

  • 언어: Java (Gradle 빌드 시스템)
  • 기능: VM 분석 UI, 패턴 시각화, 자동 분석 워크플로우
  • 상태: 프레임워크 구현됨, UI 구성 요소 개발 중

IDA Pro 플러그인

  • 언어: Python
  • 기능: IDA 분석 엔진과의 원활한 통합
  • 상태: 핵심 기능 사용 가능

Binary Ninja 플러그인

  • 언어: Python
  • 기능: 네이티브 Binary Ninja API 통합
  • 상태: 기본 통합 구현됨

머신러닝 구성 요소

참고: 포함된 ML 모델은 연구 및 교육 목적으로 설계된 기본 개념 증명 구현입니다.


설치

사전 요구 사항

  • Python 3.8 이상
  • 하나 이상의 리버스 엔지니어링 도구:
    • Ghidra 10.0+ (Ghidra 플러그인용)
    • IDA Pro 7.0+ (IDA 플러그인용)
    • Binary Ninja (Binary Ninja 플러그인용)

하드웨어 요구 사항

최소 요구 사항

  • CPU: 최신 x64 프로세서
  • RAM: 최소 8GB, 권장 16GB
  • 저장 공간: 5GB 여유 공간
  • OS: Windows 10/11, Linux (Ubuntu 20.04+), macOS 11+

GPU 요구 사항 (선택 사항이지만 권장)

  • NVIDIA GPU: 최적 성능을 위해 GTX 1060 이상
  • CUDA: 버전 11.8 또는 12.1+ (PyTorch와 함께 자동 설치됨)
  • VRAM: ML 모델용 최소 4GB

중요한 제한 사항

  • 가상 머신: GPU 가속 기능은 직접 하드웨어 액세스가 필요하며 VM에서 작동하지 않을 수 있습니다.
  • WSL: 일부 GPU 기능은 WSL 환경에서 제한적으로 작동할 수 있습니다.
  • 원격 서버: 헤드리스 GPU 액세스를 위해 CUDA 드라이버가 올바르게 설치되어 있는지 확인하십시오.

현재 상태 (수정된 문제)

확인된 작동 예제

# This now works perfectly:
from dragonslayer.core.orchestrator import Orchestrator, AnalysisType

orchestrator = Orchestrator()
result = orchestrator.analyze_binary("your_binary.exe", analysis_type=AnalysisType.VM_DISCOVERY)

# Results are properly structured:
vmd = result.get("vm_discovery", {})
print(f"VM detected: {vmd.get('vm_detected', False)}")
print(f"Handlers found: {len(vmd.get('handlers_found', []))}")

빠른 시작

# 1. Install with all dependencies
pip install -r requirements.txt
pip install -e .

핵심 프레임워크

# Clone repository
git clone https://github.com/poppopjmp/VMDragonSlayer.git
cd VMDragonSlayer

# UPDATED INSTALLATION
# Install all required dependencies including z3-solver
pip install -r requirements.txt

# Install framework in development mode
pip install -e .

다양한 하드웨어를 위한 설치

# CPU-only installation (basic functionality)
pip install -r requirements.txt
pip install -e .

# NVIDIA GPU with CUDA 12.x (RTX 30xx/40xx series) 
pip install -r requirements.txt
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install -e .

# NVIDIA GPU with CUDA 11.8 (older GPUs)
pip install -r requirements.txt  
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install -e .

가상 환경 생성

python -m venv venv source venv/bin/activate # Linux/macOS

또는

venv\Scripts\activate # Windows

종속성 설치

pip install -r requirements.txt

프레임워크 설치

cd dragonslayer pip install -e .

플러그인 설치

선호하는 디스어셈블러를 선택하세요:

Ghidra 플러그인

cd plugins/ghidra
./build.bat  # Windows
# 또는
./build.sh   # Linux/macOS

# Ghidra에 설치
cp dist/VMDragonSlayer.zip $GHIDRA_INSTALL_DIR/Extensions/

빠른 시작

1. 기본 프레임워크 사용법

from dragonslayer.core.orchestrator import Orchestrator, AnalysisType

# Initialize orchestrator (loads default configuration automatically)
orchestrator = Orchestrator()

# Analyze a binary
result = orchestrator.analyze_binary("path/to/protected_binary.exe", analysis_type=AnalysisType.VM_DISCOVERY)

# Extract VM discovery results
vmd = result.get("vm_discovery", {})
print(f"VM Protection Detected: {vmd.get('vm_detected', False)}")
print(f"Handler Count: {len(vmd.get('handlers_found', []))}")
print(f"Analysis Success: {result.get('success', False)}")

플러그인 상태

리버스 엔지니어링 도구 통합

도구 다운로드