Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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
sony-vp-extract — Descifrar y extraer indicaciones de voz en MP3 de paquetes de voz cifrados de los Sony WH-1000XM4. Clave AES extraída mediante volcado de firmware Bluetooth del SoC Airoha MT2811. | Kitploit
Herramientas/GitHubGitHub/helgesverre/sony-vp-extract
Seguridad de Sistemas EmbebidosSeguridad BluetoothHerramientas de Cifrado/DescifradoIngeniería InversaSeguridad InalámbricaCriptografíaSeguridad de HardwareAnálisis de Firmware
GitHubhelgesverre/sony-vp-extract

sony-vp-extract

Descifrar y extraer indicaciones de voz en MP3 de paquetes de voz cifrados de los Sony WH-1000XM4. Clave AES extraída mediante volcado de firmware Bluetooth del SoC Airoha MT2811.

252hace 1 mesRevisado por Kitploit

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
Ver Repositorio

Sony WH-1000XM4 Extractor de Paquetes de Voz

Sony WH-1000XM4 Voice Pack Extractor RACE Protocol Amp License: MIT

Descifra y extrae las indicaciones MP3 de guía de voz de los archivos de firmware cifrados de los Sony WH-1000XM4.

La clave AES-128-CBC se obtuvo volcando el firmware Airoha MT2811 de los auriculares a través de Bluetooth Low Energy usando el protocolo RACE, luego desensamblando la rutina de descifrado FOTA del ARM Cortex-M4. Documentación técnica completa: docs/WRITEUP.md

Inicio Rápido

root@kitploit:~
# Install Bun (if not already installed)
curl -fsSL https://bun.sh/install | bash

git clone https://github.com/HelgeSverre/sony-vp-extract.git
cd sony-vp-extract
bun install

# Downloads from Sony CDN automatically, then extracts
bun run cli/extract.ts --all

Uso

root@kitploit:~
# Extract all — auto-downloads from Sony CDN if voice-packs/ is empty
bun run cli/extract.ts --all [input-dir] [output-dir]

# Extract a single voice pack
bun run cli/extract.ts voice-packs/VP_english_UPG_03.bin extracted/

# Show voice pack info
bun run cli/extract.ts --info voice-packs/VP_english_UPG_03.bin

# Download only (no extraction)
bun run cli/extract.ts --download [output-dir]

Alternativa en Python

root@kitploit:~
uv run extract_all.py

Downloads from Sony CDN + decrypts + extracts — all in one command. Dependencies are declared inline (PEP 723) — uv run handles everything automatically.

Idiomas Disponibles

Formato del Paquete de Voz

root@kitploit:~
┌───────────────────────────────────────┐
│  Header (4096 bytes)                  │
│  ├── 0x000  Random nonce (32 bytes)   │
│  └── 0x100  TLV metadata             │
│       ├── compression_type = 2        │
│       ├── body_size                   │
│       ├── decompressed_size (1 MB)    │
│       └── SHA-256 of decompressed     │
├───────────────────────────────────────┤
│  Body (offset 0x1000+)               │
│  AES-128-CBC encrypted               │
│  └── LZMA1 compressed                │
│       └── Voice guidance image (1MB)  │
│            ├── Header (version+count) │
│            ├── Entry table (54 × 8B)  │
│            │   (size, abs_offset)     │
│            └── MP3 files (48kHz mono) │
└───────────────────────────────────────┘

La Clave

root@kitploit:~
AES-128-CBC Key: eibohjeCh6uegahf
AES-128-CBC IV:  miefeinuShu9eilo

Encontrados hardcodeados como cadenas ASCII en la sección .rodata del firmware MT2811 CM4 en el offset de flash 0xD53A (clave) y 0xD529 (IV). La misma clave se usa en todas las unidades WH-1000XM4 y todos los paquetes de idioma.

Cómo se Encontró

  1. Conectado a los WH-1000XM4 por Bluetooth (los auriculares estaban emparejados con un teléfono)
  2. Descubierto el servicio BLE GATT RACE (Airoha Command Extensions)
  3. Volcado 59 KB de firmware CM4 desde la flash usando RACE_STORAGE_PAGE_READ (cmd 0x0403)
  4. Localizada la S-box de AES en el offset de firmware 0x81F4
  5. Determinada la dirección base en tiempo de ejecución 0x04200000 a partir del literal pool de la tabla de vectores ARM
  6. Desensamblada la función de descifrado FOTA, rastreada la carga de la clave desde el literal pool

Detalles técnicos completos: docs/WRITEUP.md

Requisitos Previos

  • Bun ≥ 1.0 — para la CLI de TypeScript
  • uv — para los scripts de Python (las dependencias se resuelven automáticamente mediante metadatos en línea)

Extrae la Clave Tú Mismo

Si quieres verificar la clave de forma independiente, puedes volcar el firmware de tus propios auriculares WH-1000XM4 emparejados y extraer la clave de él:

root@kitploit:~
# Dump firmware over BLE and extract key
uv run cli/extract_key.py

# Or if you already have a firmware dump:
uv run cli/extract_key.py --firmware your_dump.bin

# Bun alternative (firmware dump required):
bun run cli/extract.ts --extract-key your_dump.bin

La herramienta busca en el binario del firmware la S-box de AES, encuentra cadenas ASCII adyacentes de 16 bytes terminadas en nulo, luego valida cada par candidato intentando descifrar un paquete de voz y verificando si hay cabeceras LZMA válidas.

Estructura del Proyecto

root@kitploit:~
├── cli/
│   ├── extract.ts          # Herramienta CLI de Bun (extractor + buscador de clave)
│   └── extract_key.py      # Volcador de firmware BLE y buscador de clave en Python
├── docs/
│   └── WRITEUP.md          # Documentación técnica completa
├── voice-packs/            # Archivos .bin descargados (gitignorados)
├── extracted/              # Indicaciones MP3 extraídas (gitignoradas)
├── extract_all.py          # Extractor alternativo en Python
├── package.json
└── README.md

Aviso Legal

Este proyecto documenta una investigación de seguridad realizada con fines educativos en hardware de propiedad personal. Los auriculares analizados se emparejaron y conectaron normalmente — no hubo acceso no autorizado.

Los archivos .bin de paquetes de voz y las indicaciones MP3 extraídas tienen derechos de autor de Sony Corporation y no están incluidos en este repositorio. La herramienta CLI los descarga directamente de la CDN pública de Sony en tiempo de ejecución. No redistribuyas paquetes de voz descifrados ni archivos MP3 extraídos. Esta herramienta se proporciona únicamente con fines de investigación e interoperabilidad.

Licencia

MIT

Descargar herramienta
IdiomaArchivoIndicacionesCDN
🇬🇧 InglésVP_english_UPG_03.bin54Download
🇫🇷 FrancésVP_french_UPG_03.bin54Download
🇩🇪 AlemánVP_german_UPG_03.bin54Download
🇪🇸 EspañolVP_spanish_UPG_03.bin54Download
🇮🇹 ItalianoVP_italian_UPG_03.bin54Download
🇵🇹 PortuguésVP_portuguese_UPG_03.bin54Download
🇳🇱 NeerlandésVP_dutch_UPG_03.bin54Download
🇸🇪 SuecoVP_swedish_UPG_03.bin54Download
🇫🇮 FinlandésVP_finnish_UPG_03.bin54Download
🇹🇷 TurcoVP_turkish_UPG_03.bin54Download