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

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

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
4316810개월 전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는 여러 분석 엔진이 함께 작동하는 모듈식 아키텍처를 사용합니다:

root@kitploit:~
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)

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

저장소 구조

root@kitploit:~
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 드라이버가 올바르게 설치되어 있는지 확인하십시오.

현재 상태 (수정된 문제)

확인된 작동 예제

root@kitploit:~
# 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', []))}")

빠른 시작

root@kitploit:~
# 1. Install with all dependencies
pip install -r requirements.txt
pip install -e .

핵심 프레임워크

root@kitploit:~
# 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 .

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

root@kitploit:~
# 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 플러그인

root@kitploit:~
cd plugins/ghidra
./build.bat  # Windows
# 또는
./build.sh   # Linux/macOS

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

빠른 시작

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

root@kitploit:~
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)}")

플러그인 상태

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


아키텍처

VMDragonSlayer는 여러 분석 엔진을 갖춘 모듈식 아키텍처를 사용합니다:

분석 엔진

VM 발견 엔진

  • 디스패처 탐지: 제어 흐름 분석을 사용하여 VM 디스패처 루프 식별
  • 핸들러 매핑: VM 핸들러 및 그 관계 매핑
  • 아키텍처 인식: VMProtect, Themida 및 사용자 정의 VM 아키텍처 탐지

오염 추적 엔진

  • 동적 분석: VM 핸들러를 통한 데이터 흐름 추적
  • 정밀도 제어: 바이트 수준 또는 명령어 수준 세분성
  • 안티 회피: 일반적인 분석 탐지 기법 우회

패턴 분석 엔진

  • 시그니처 매칭: 규칙 기반 패턴 인식
  • ML 분류: 머신러닝 기반 핸들러 분류
  • 유사도 분석: 변종 탐지를 위한 퍼지 매칭

기호 실행 엔진

  • 경로 탐색: 실행 경로의 체계적인 탐색
  • 제약 해결: Z3 기반 제약 해결
  • VM 인식 분석: 가상화된 코드에 대한 특수 처리

머신러닝 모델

프레임워크에는 여러 개념 증명 모델이 포함됩니다:

사용 가능한 모델

  • 바이트코드 분류기: VM 바이트코드 시퀀스의 패턴 인식
  • VM 탐지기: VM 보호 존재 여부에 대한 이진 분류
  • 핸들러 분류기: VM 핸들러 유형 분류
  • VMProtect 탐지기: VMProtect 패턴에 대한 특수 탐지기
  • 앙상블 모델: 여러 분류기를 결합하여 정확도 향상

모델 특성

  • 형식: Scikit-learn 호환 (joblib 직렬화)
  • 크기: 빠른 프로토타이핑에 적합한 소형 모델
  • 목적: 교육 예제 및 연구 기준
  • 훈련 데이터: 합성 데이터 및 제한된 실제 샘플

설정

환경 변수

root@kitploit:~
# Core configuration
export VMDS_CONFIG_PATH="/path/to/config"
export VMDS_MODEL_PATH="/path/to/models"  
export VMDS_LOG_LEVEL="INFO"

# Database configuration
export VMDS_DB_URL="sqlite:///vmds.db"

# API configuration
export VMDS_API_HOST="localhost"
export VMDS_API_PORT="8000"

설정 파일

  • data/database_config.json: 데이터베이스 설정
  • data/taint_config.properties: 오염 분석 매개변수
  • data/models/model_registry_config.toml: ML 모델 구성

예제

고급 설정

root@kitploit:~
from dragonslayer.core.config import Config
from dragonslayer.analysis.vm_discovery import VMDiscoveryEngine
from dragonslayer.analysis.taint_tracking import TaintTracker

# Custom configuration
config = Config({
    'vm_discovery': {
        'min_handler_count': 10,
        'dispatcher_threshold': 0.8
    },
    'taint_tracking': {
        'precision': 'byte_level',
        'max_depth': 1000
    }
})

# Initialize specific engines
vm_engine = VMDiscoveryEngine(config)
taint_tracker = TaintTracker(config)

# Run targeted analysis
vm_result = vm_engine.analyze("binary.exe")
if vm_result.vm_detected:
    taint_result = taint_tracker.analyze(vm_result.handlers)

배치 분석

root@kitploit:~
from dragonslayer.workflows.manager import WorkflowManager

# Process multiple binaries
manager = WorkflowManager()
results = manager.process_batch([
    "sample1.exe",
    "sample2.exe", 
    "sample3.exe"
])

# Generate summary report
manager.generate_report(results, "analysis_report.json")

기여하기

기여를 환영합니다! 자세한 내용은 다음을 참조하세요:

  • CONTRIBUTING.md - 개발 가이드라인
  • CODE_OF_CONDUCT.md - 커뮤니티 표준
  • SECURITY.md - 보안 정책

라이선스

이 프로젝트는 GNU General Public License v3.0에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE를 참조하세요.


인용

연구에서 VMDragonSlayer를 사용하신다면 다음을 인용해 주세요:

root@kitploit:~
@software{vmdragonslayer_2025,
  title   = {VMDragonSlayer: Automated VM-based Binary Protection Analysis},
  author  = {Panico, Agostino},
  year    = {2025},
  url     = {https://github.com/poppopjmp/VMDragonSlayer}
}

연락처

  • 저자: van1sh
  • 이메일: [email protected]
  • GitHub: @poppopjmp

감사의 말

리버스 엔지니어링 커뮤니티와 이 프레임워크를 가능하게 한 기반 분석 도구 및 라이브러리 개발자분들께 특별한 감사를 드립니다.

도구 다운로드
도구상태예상 완료일참고
직접 API안정적현재 사용 가능권장 접근 방식
Ghidra 플러그인진행 중2025년 10월기본 기능 사용 가능
IDA Pro 플러그인개발 중2025년 11월작업 진행 중 - 작동하지 않음
Binary Ninja 플러그인개발 중2025년 11월작업 진행 중 - 작동하지 않음