Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
gv_decryptor — Gallery Vault 转储恢复工具,具备自动发现、密钥派生和自动媒体恢复功能。 | Kitploit
工具/GitHubGitHub/caveeroo/gv_decryptor
Android安全加密/解密工具逆向工程取证分析移动取证数据恢复数字取证密码学
GitHubcaveeroo/gv_decryptor

gv_decryptor

Gallery Vault 转储恢复工具,具备自动发现、密钥派生和自动媒体恢复功能。

查看仓库
4181个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Gallery Vault 解密器

用于恢复由 Gallery Vault(ThinkYeah)Android 应用加密的资产的恢复工具。它支持下文记录的 V2 容器布局,且不需要 Gallery Vault PIN 码。

仅恢复您拥有或有权检查的数据。

要求

  • Python 3.10 或更高版本
  • PyCryptodome,用于该格式的 DES 运算
  • prompt-toolkit,用于终端界面

安装运行时依赖:

root@kitploit:~
python3 -m pip install -r requirements.txt

用于开发和测试:

root@kitploit:~
python3 -m pip install -r requirements-dev.txt
ruff format --check .
ruff check .
python3 -m pytest

用法

交互式终端界面

root@kitploit:~
python3 gv_tui.py

选择一个转储目录或单个加密文件,检查输出目录,然后按 F5 或选择 恢复。F10 在恢复进行中时请求安全停止,并在空闲时退出。

智能发现会查找名称类似 .galleryvault_DoNotDelete_123 的目录,并处理其 files 目录。可禁用它以检查所选路径下的每个文件。

批处理命令行

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

常用选项:

root@kitploit:~
--manual, --scan-all  扫描所有文件,而非发现仓库
--no-recursive        仅在顶层扫描或发现
--overwrite           替换已恢复的现有文件
--verbose             显示跳过的文件和详细的状态计数

也接受单个加密文件:

root@kitploit:~
python3 gv_decryptor.py encrypted_asset --manual

如果省略 --out,恢复的文件将输出到 INPUT_recovered。输入目录树将保留在该目录之下。除非提供 --overwrite,否则不会覆盖现有文件,并且输出以原子方式写入,因此失败或取消的恢复不会留下不完整的恢复文件。

命令行退出码为:

  • 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 保护的是应用界面;文件负载使用与位置相关的 XOR 变换。其每文件密钥存储在容器中,并经过使用应用所用常量派生的 DES 密钥加密。

简化的容器布局如下:

root@kitploit:~
┌──────────────────── Gallery Vault V2 容器 ────────────────────┐
│ 缩略图前缀 │ 加密负载                                               │
├────────────────────────────────────────────────────────────────────┤
│ 内部标记  >>tyfs>>                                             │
│ 可选的交换负载块                                     │
├─────────────────────────── 尾部元数据 ──────────────────────────┤
│ 缩略图长度              8 字节                              │
│ 负载/标记边界       8 字节                              │
│ 布局选择器               1 字节                               │
│ DES 加密的 XOR 密钥        可变,块对齐              │
│ 加密密钥长度          8 字节                              │
│ 元数据                      可变                             │
│ 元数据长度               8 字节                              │
│ 版本字段                 2 字节 (01 01)                      │
├────────────────────────────────────────────────────────────────────┤
│ 结束标记  <<tyfs<<                                               │
└────────────────────────────────────────────────────────────────────┘
                              │
                              ▼
      验证偏移量 → 恢复 XOR 密钥 → 组装负载
                              │
                              ▼
                    流式输出恢复的资产

解密器在处理负载之前会验证这些偏移量和标记。然后解密每文件密钥,组装由布局字节选择的负载范围,并应用:

root@kitploit:~
plain[i] = encrypted[i] XOR (i & 0xff) XOR key[i mod key_length]

文件以块为单位进行变换,这使大视频的内存使用量保持有界。智能发现和全文件扫描在命令行和 TUI 中使用相同的实现。

兼容性与故障排除

  • UNSUPPORTED_VERSION 表示文件具有 Gallery Vault 标记,但不包含受支持的 V2 版本字段。
  • CORRUPT_STRUCTURE 表示标记、长度或负载边界无效。
  • NOT_GV 表示在文件尾部附近未找到 Gallery Vault 结束标记。
  • EXISTS 表示目标文件被保留;仅在有意替换时才使用 --overwrite。
  • 扫描混合目录时使用 --verbose 以查看详细状态。

Gallery Vault 有多个版本和存储布局。兼容性仅限于匹配上述 V2 结构的文件;在恢复的文件经过验证之前,请保留原始加密数据。

免责声明

本工具仅供教育和取证目的使用。作者对滥用不承担任何责任。在解密不属于您的数据之前,请始终确保您拥有适当的授权。

下载工具