Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
gv_decryptor — Herramienta de recuperación de volcados de Gallery Vault con descubrimiento automatizado, derivación de claves y restauración automática de medios. | Kitploit
Herramientas/GitHubGitHub/caveeroo/gv_decryptor
Seguridad AndroidHerramientas de Cifrado/DescifradoIngeniería InversaAnálisis ForenseForensia MóvilRecuperación de DatosForensia DigitalCriptografía
GitHubcaveeroo/gv_decryptor

gv_decryptor

Herramienta de recuperación de volcados de Gallery Vault con descubrimiento automatizado, derivación de claves y restauración automática de medios.

Ver Repositorio
4121hace 1 mesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Gallery Vault Decryptor

Herramienta de recuperación para archivos cifrados por la aplicación Gallery Vault (ThinkYeah) de Android. Es compatible con el diseño de contenedor V2 documentado a continuación y no requiere el PIN de Gallery Vault.

Recupere únicamente datos que le pertenezcan o que esté autorizado a examinar.

Requisitos

  • Python 3.10 o superior
  • PyCryptodome para las operaciones DES del formato
  • prompt-toolkit para la interfaz de terminal

Instale las dependencias de ejecución:

python3 -m pip install -r requirements.txt

Para desarrollo y pruebas:

python3 -m pip install -r requirements-dev.txt
ruff format --check .
ruff check .
python3 -m pytest

Uso

Interfaz de terminal interactiva

python3 gv_tui.py

Seleccione un directorio de volcado o un archivo cifrado individual, revise el directorio de salida y pulse F5 o elija Recover. F10 solicita una detención segura mientras una recuperación está activa y sale cuando está inactivo.

La detección inteligente busca directorios con nombres como .galleryvault_DoNotDelete_123 y procesa su directorio files. Desactívela para inspeccionar todos los archivos bajo la ruta seleccionada.

CLI por lotes

python3 gv_decryptor.py /path/to/dump --out /path/to/output

Opciones útiles:

--manual, --scan-all  Escanear todos los archivos en lugar de descubrir repositorios
--no-recursive        Escanear o descubrir solo en el nivel superior
--overwrite           Reemplazar archivos recuperados existentes
--verbose             Mostrar archivos omitidos y recuentos de estado detallados

También se acepta un archivo cifrado individual:

python3 gv_decryptor.py encrypted_asset --manual

Si se omite --out, los archivos recuperados se guardan en INPUT_recovered. El árbol de entrada se conserva bajo ese directorio. Los archivos existentes no se sobrescriben a menos que se proporcione --overwrite, y la salida se escribe de forma atómica para que una recuperación fallida o cancelada no deje un archivo recuperado parcial.

Los códigos de salida de la CLI son:

  • 0: se recuperó al menos un archivo y ningún candidato falló
  • 1: no se recuperaron archivos, o al menos un candidato falló
  • 2: configuración de entrada o salida no válida

Detección de salida compatible

La extensión recuperada se selecciona a partir de la firma del archivo. El detector integrado reconoce PNG, JPEG, GIF, WebP, MP4, MOV, 3GP, HEIC/HEIF, AVIF, MP3, WAV, Ogg, AVI, Matroska, PDF y ZIP. El contenido desconocido se escribe como .bin.

Cómo funciona

En el formato V2 compatible de Gallery Vault, el PIN protege la interfaz de la aplicación; la carga útil del archivo utiliza una transformación XOR dependiente de la posición. Su clave por archivo se almacena en el contenedor después de cifrarse con una clave DES derivada de constantes utilizadas por la aplicación.

Un diseño simplificado del contenedor es:

┌──────────────────── Gallery Vault V2 container ────────────────────┐
│ Thumbnail prefix │ Encrypted payload                               │
├────────────────────────────────────────────────────────────────────┤
│ Inner marker  >>tyfs>>                                             │
│ Optional swapped payload block                                     │
├─────────────────────────── Tail metadata ──────────────────────────┤
│ Thumbnail length              8 bytes                              │
│ Payload/marker boundary       8 bytes                              │
│ Layout selector               1 byte                               │
│ DES-encrypted XOR key         variable, block aligned              │
│ Encrypted-key length          8 bytes                              │
│ Metadata                      variable                             │
│ Metadata length               8 bytes                              │
│ Version field                 2 bytes (01 01)                      │
├────────────────────────────────────────────────────────────────────┤
│ End marker  <<tyfs<<                                               │
└────────────────────────────────────────────────────────────────────┘
                              │
                              ▼
      validate offsets → recover XOR key → assemble payload
                              │
                              ▼
                    stream recovered asset

El descifrador valida estos desplazamientos y marcadores antes de procesar una carga útil. Luego descifra la clave por archivo, ensambla los rangos de carga útil seleccionados por el byte de diseño y aplica:

plain[i] = encrypted[i] XOR (i & 0xff) XOR key[i mod key_length]

Los archivos se transforman en fragmentos, lo que mantiene acotado el uso de memoria para vídeos grandes. La detección inteligente y el escaneo de todos los archivos utilizan la misma implementación en la CLI y la TUI.

Compatibilidad y solución de problemas

  • UNSUPPORTED_VERSION significa que el archivo tiene marcadores de Gallery Vault pero no contiene el campo de versión V2 compatible.
  • CORRUPT_STRUCTURE significa que un marcador, una longitud o un límite de carga útil no es válido.
  • NOT_GV significa que el marcador final de Gallery Vault no se encontró cerca del final del archivo.
  • EXISTS significa que el destino se conservó; use --overwrite solo cuando el reemplazo sea intencional.
  • Use --verbose al escanear un directorio mixto para ver estados detallados.

Gallery Vault ha tenido múltiples versiones y diseños de almacenamiento. La compatibilidad se limita a archivos que coinciden con la estructura V2 anterior; conserve los datos cifrados originales hasta que los archivos recuperados hayan sido verificados.

Aviso legal

Esta herramienta se proporciona únicamente con fines educativos y forenses. El autor no asume ninguna responsabilidad por su uso indebido. Asegúrese siempre de tener la autorización adecuada antes de descifrar datos que no le pertenecen.

Descargar herramienta