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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
gv_decryptor — Gallery Vault 덤프 복구 도구: 자동 탐색, 키 파생 및 자동 미디어 복원 기능 포함. | Kitploit
도구/GitHubGitHub/caveeroo/gv_decryptor
Android SecurityEncryption/Decryption ToolsReverse EngineeringForensicsMobile ForensicsData RecoveryDigital ForensicsCryptography
GitHubcaveeroo/gv_decryptor

gv_decryptor

Gallery Vault 덤프 복구 도구: 자동 탐색, 키 파생 및 자동 미디어 복원 기능 포함.

저장소 보기
4116일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Gallery Vault Decryptor

Gallery Vault (ThinkYeah) Android 애플리케이션으로 암호화된 자산을 복구하는 도구입니다.

요구 사항

의존성 설치:

root@kitploit:~
pip install pycryptodome prompt_toolkit
  • pycryptodome — DES 마스터 키 연산
  • prompt_toolkit — TUI 인터페이스

사용법

Android 파일 시스템 덤프를 제공하기만 하면 Gallery Vault로 암호화된 모든 파일을 복구합니다.

대화형 TUI (권장):

root@kitploit:~
python3 gv_tui.py

컨트롤: F5: 발견 및 복구 시작, Tab: 구성 필드 순환, F10: 종료.

배치 CLI:

root@kitploit:~
python3 gv_decryptor.py /path/to/dump --out /path/to/output

--manual을 추가하면 저장소 발견을 건너뛰고 모든 파일을 재귀적으로 스캔합니다.

기능

  • 자동 발견 — 덤프에서 숨겨진 저장소 패턴 스캔
  • 마스터 키 유도 — 앱의 내부 보안 로직을 시뮬레이션, PIN 필요 없음
  • 매직 바이트 탐지 — 복호화 시 올바른 파일 확장자 복원 (.jpg, .png, .mp4, …)
  • 이중 인터페이스 — 탐색용 대화형 TUI, 배치 스크립팅용 CLI

작동 원리

Gallery Vault V2는 PIN으로 파일을 암호화하지 않습니다. PIN은 UI만 잠급니다. 실제 암호화는 파일별 XOR 암호이며, 그 키는 APK에 내장된 하드코딩된 DES 마스터 키로 보호됩니다. 즉, PIN 없이도 모든 기기 덤프에서 완전한 복구가 가능합니다.

V2 파일 레이아웃

각 암호화된 파일은 고정된 이진 구조를 따릅니다:

root@kitploit:~
┌───────────────────────────────────────────────────────────────┐
│                    ENCRYPTED FILE (.nomedia)                  │
├──────────────────┬────────────────────────────────────────────┤
│  Thumbnail       │  Encrypted Payload                         │
│  Header          │  (XOR-ciphered asset bytes)                │
│  (variable)      │                                            │
├──────────────────┴────────────────────────────────────────────┤
│                  Inner Marker  >>tyfs>>                       │
├───────────────────────────────────────────────────────────────┤
│  Tail Metadata                                                │
│   ├─ Original file length  (8 bytes)                          │
│   ├─ Thumbnail size        (8 bytes)                          │
│   ├─ Check byte            (1 byte)   → selects decode mode   │
│   └─ Encrypted XOR key     (8 bytes)  → DES-encrypted         │
├───────────────────────────────────────────────────────────────┤
│                  End Marker  <<tyfs<<                         │
└───────────────────────────────────────────────────────────────┘

복호화 파이프라인

복구는 두 개의 연결된 DES 단계와 위치 인식 XOR 패스로 이루어집니다.

root@kitploit:~
╔══════════════════════════════════════════════════════════════════╗
║  STAGE 1 — Master Key Derivation  (same for every file)          ║
╠══════════════════════════════════════════════════════════════════╣
║                                                                  ║
║  hardcoded string "good_gv"                                      ║
║         │                                                        ║
║         ▼  pad/truncate to 8 bytes                               ║
║  ┌─────────────┐                                                 ║
║  │  DES-ECB    │ ◄── hardcoded hex constant (128-bit)            ║
║  │  decrypt    │                                                 ║
║  └──────┬──────┘                                                 ║
║         ▼                                                        ║
║   master_key_str  (plaintext, embedded in APK)                   ║
║                                                                  ║
╠══════════════════════════════════════════════════════════════════╣
║  STAGE 2 — Per-file XOR Key Recovery  (once per encrypted file)  ║
╠══════════════════════════════════════════════════════════════════╣
║                                                                  ║
║  master_key_str[:8]                                              ║
║         │                                                        ║
║         ▼                                                        ║
║  ┌─────────────┐                                                 ║
║  │  DES-ECB    │ ◄── encrypted_xor_key  (8 bytes, from tail)     ║
║  │  decrypt    │                                                 ║
║  └──────┬──────┘                                                 ║
║         ▼  take first 4 bytes                                    ║
║     xor_key  [k0, k1, k2, k3]                                    ║
║                                                                  ║
╠══════════════════════════════════════════════════════════════════╣
║  STAGE 3 — Payload Assembly + XOR Transform                      ║
╠══════════════════════════════════════════════════════════════════╣
║                                                                  ║
║           ┌───────────────────────────────────────┐              ║
║           │        check_byte  (from tail)        │              ║
║           └─────────────┬────────────────┬────────┘              ║
║                    0x00 │           0x01 │                       ║
║                         ▼                ▼                       ║
║           ┌─────────────────┐  ┌─────────────────────┐           ║
║           │  data[thumb_len │  │  swapped_block      │           ║
║           │    : orig_len]  │  │  (past >>tyfs>>)    │           ║
║           │  (contiguous)   │  │  +  main_block      │           ║
║           └────────┬────────┘  └────────────┬────────┘           ║
║                    └────────────┬───────────┘                    ║
║                                 ▼                                ║
║                         assembled payload                        ║
║                                  │                               ║
║            ┌───────────────────┼───────────────────┐             ║
║            ▼                   ▼                   ▼             ║
║         byte[i]            (i & 0xFF)       xor_key[i % 4]       ║
║       (ciphertext)       (position salt)   (rotating 4-byte      ║
║                                            key from stage 2)     ║
║             │                   │                  │             ║
║             └─────────► XOR ◄───┘                  │             ║
║                          │                         │             ║
║                          └──────────► XOR ◄────────┘             ║
║                                         ▼                        ║
║                                 out[i]  →  Original Asset        ║
║                                                                  ║
╚══════════════════════════════════════════════════════════════════╝

면책 조항

이 도구는 교육 및 법의학 목적으로만 제공됩니다. 작성자는 오용에 대한 책임을 지지 않습니다. 귀하의 소유가 아닌 데이터를 복호화하기 전에 항상 적절한 권한을 가지고 있는지 확인하십시오.

도구 다운로드