
Gallery Vault 덤프 복구 도구: 자동 탐색, 키 파생 및 자동 미디어 복원 기능 포함.
Gallery Vault(ThinkYeah) Android 애플리케이션이 암호화한 자산을 복구하기 위한 도구입니다. 아래에 문서화된 V2 컨테이너 레이아웃을 지원하며 Gallery Vault PIN이 필요하지 않습니다.
소유하거나 검토 권한이 있는 데이터만 복구하십시오.
런타임 종속성 설치:
python3 -m pip install -r requirements.txt
개발 및 테스트용:
python3 -m pip install -r requirements-dev.txt
ruff format --check .
ruff check .
python3 -m pytest
python3 gv_tui.py
덤프 디렉터리 또는 개별 암호화 파일을 선택하고, 출력 디렉터리를 확인한 다음 F5를 누르거나 복구를 선택하십시오. F10은 복구가 활성화된 동안 안전한 중지를 요청하며 유휴 상태가 되면 종료합니다.
스마트 탐색은 .galleryvault_DoNotDelete_123 형식의 이름을 가진 디렉터리를 찾아 해당 files 디렉터리를 처리합니다. 이를 비활성화하면 선택한 경로 아래의 모든 파일을 검사합니다.
python3 gv_decryptor.py /path/to/dump --out /path/to/output
유용한 옵션:
--manual, --scan-all 저장소를 탐색하는 대신 모든 파일 검사
--no-recursive 최상위 수준에서만 검사 또는 탐색
--overwrite 기존 복구 파일 덮어쓰기
--verbose 건너뛴 파일 및 상세 상태 수 표시
개별 암호화 파일도 허용됩니다:
python3 gv_decryptor.py encrypted_asset --manual
--out을 생략하면 복구된 파일은 INPUT_recovered로 이동합니다. 입력 트리는 해당 디렉터리 아래에 보존됩니다. --overwrite가 제공되지 않는 한 기존 파일은 덮어쓰지 않으며, 출력은 원자적으로 기록되므로 실패하거나 취소된 복구로 인해 부분적으로 복구된 파일이 남지 않습니다.
CLI 종료 코드:
0: 하나 이상의 자산이 복구되었고 실패한 후보가 없음1: 복구된 자산이 없거나 하나 이상의 후보가 실패함2: 잘못된 입력 또는 출력 구성복구된 확장자는 파일 시그니처에서 선택됩니다. 내장 감지기는 PNG, JPEG, GIF, WebP, MP4, MOV, 3GP, HEIC/HEIF, AVIF, MP3, WAV, Ogg, AVI, Matroska, PDF 및 ZIP을 인식합니다. 알 수 없는 콘텐츠는 .bin으로 기록됩니다.
지원되는 Gallery Vault V2 형식에서 PIN은 애플리케이션 UI를 보호합니다. 파일 페이로드는 위치 종속 XOR 변환을 사용합니다. 파일별 키는 애플리케이션에서 사용하는 상수에서 파생된 DES 키로 암호화된 후 컨테이너에 저장됩니다.
단순화된 컨테이너 레이아웃:
┌──────────────────── Gallery Vault V2 컨테이너 ────────────────────┐
│ 썸네일 접두사 │ 암호화된 페이로드 │
├────────────────────────────────────────────────────────────────────┤
│ 내부 마커 >>tyfs>> │
│ 선택적 스왑된 페이로드 블록 │
├─────────────────────────── 테일 메타데이터 ──────────────────────────┤
│ 썸네일 길이 8바이트 │
│ 페이로드/마커 경계 8바이트 │
│ 레이아웃 선택자 1바이트 │
│ DES 암호화 XOR 키 가변, 블록 정렬 │
│ 암호화 키 길이 8바이트 │
│ 메타데이터 가변 │
│ 메타데이터 길이 8바이트 │
│ 버전 필드 2바이트 (01 01) │
├────────────────────────────────────────────────────────────────────┤
│ 끝 마커 <<tyfs<< │
└────────────────────────────────────────────────────────────────────┘
│
▼
오프셋 검증 → XOR 키 복구 → 페이로드 조립
│
▼
복구된 자산 스트리밍
복호화 도구는 페이로드를 처리하기 전에 이러한 오프셋과 마커를 검증합니다. 그런 다음 파일별 키를 복호화하고 레이아웃 바이트가 선택한 페이로드 범위를 조립한 후 다음을 적용합니다:
plain[i] = encrypted[i] XOR (i & 0xff) XOR key[i mod key_length]
파일은 청크 단위로 변환되므로 대용량 비디오에서도 메모리 사용량이 제한됩니다. 스마트 탐색과 전체 파일 검사는 CLI와 TUI에서 동일한 구현을 사용합니다.
UNSUPPORTED_VERSION은 파일에 Gallery Vault 마커가 있지만 지원되는 V2 버전 필드가 포함되어 있지 않음을 의미합니다.CORRUPT_STRUCTURE는 마커, 길이 또는 페이로드 경계가 유효하지 않음을 의미합니다.NOT_GV는 파일 끝 부근에서 Gallery Vault 끝 마커를 찾을 수 없음을 의미합니다.EXISTS는 대상이 보존되었음을 의미합니다. 교체가 의도적인 경우에만 --overwrite를 사용하십시오.--verbose를 사용하십시오.Gallery Vault는 여러 릴리스와 저장소 레이아웃을 거쳤습니다. 호환성은 위의 V2 구조와 일치하는 파일로 제한됩니다. 복구된 파일이 검증될 때까지 원본 암호화 데이터를 보관하십시오.
이 도구는 교육 및 포렌식 목적으로만 제공됩니다. 저자는 오용에 대해 책임을 지지 않습니다. 귀하의 것이 아닌 데이터를 복호화하기 전에 항상 적절한 권한이 있는지 확인하십시오.