Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
sony-vp-extract — Decripta ed estrai i messaggi vocali MP3 di guida dai pacchetti vocali crittografati di Sony WH-1000XM4. Chiave AES estratta tramite dump del firmware Bluetooth del SoC Airoha MT2811. | Kitploit
Strumenti/GitHubGitHub/helgesverre/sony-vp-extract
Sicurezza Sistemi EmbeddedSicurezza BluetoothStrumenti di Crittografia/DecrittografiaReverse EngineeringSicurezza WirelessCrittografiaSicurezza HardwareAnalisi del Firmware
GitHubhelgesverre/sony-vp-extract

sony-vp-extract

Decripta ed estrai i messaggi vocali MP3 di guida dai pacchetti vocali crittografati di Sony WH-1000XM4. Chiave AES estratta tramite dump del firmware Bluetooth del SoC Airoha MT2811.

2521 mese faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository

Sony WH-1000XM4 Voice Pack Extractor

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

Decriptare ed estrarre i promemoria MP3 della guida vocale dai file firmware crittografati delle Sony WH-1000XM4.

La chiave AES-128-CBC è stata estratta scaricando il firmware Airoha MT2811 delle cuffie tramite Bluetooth Low Energy usando il protocollo RACE, poi disassemblando la routine di decriptazione FOTA del ARM Cortex-M4. Documentazione tecnica completa: docs/WRITEUP.md

Avvio Rapido

root@kitploit:~
# Installare Bun (se non già installato)
curl -fsSL https://bun.sh/install | bash

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

# Scarica automaticamente dal CDN Sony, poi estrae
bun run cli/extract.ts --all

Utilizzo

root@kitploit:~
# Estrai tutto — scarica automaticamente dal CDN Sony se voice-packs/ è vuoto
bun run cli/extract.ts --all [input-dir] [output-dir]

# Estrai un singolo pacchetto vocale
bun run cli/extract.ts voice-packs/VP_english_UPG_03.bin extracted/

# Mostra informazioni sul pacchetto vocale
bun run cli/extract.ts --info voice-packs/VP_english_UPG_03.bin

# Solo download (nessuna estrazione)
bun run cli/extract.ts --download [output-dir]

Alternativa Python

root@kitploit:~
uv run extract_all.py

Scarica dal CDN Sony + decripta + estrae — tutto in un unico comando. Le dipendenze sono dichiarate inline (PEP 723) — uv run gestisce tutto automaticamente.

Lingue Disponibili

Formato del Pacchetto Vocale

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 Chiave

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

Trovata codificata come stringhe ASCII nella sezione .rodata del firmware MT2811 CM4 all'offset flash 0xD53A (key) e 0xD529 (IV). La stessa chiave è utilizzata su tutte le unità WH-1000XM4 e in tutti i pacchetti linguistici.

Come è Stato Scoperto

  1. Collegato alle cuffie WH-1000XM4 tramite Bluetooth (le cuffie erano abbinate a un telefono)
  2. Scoperto il servizio GATT BLE RACE (Airoha Command Extensions)
  3. Scaricato 59KB di firmware CM4 dalla flash usando RACE_STORAGE_PAGE_READ (comando 0x0403)
  4. Localizzato l'AES S-box all'offset firmware 0x81F4
  5. Determinato l'indirizzo base runtime 0x04200000 dal pool letterale del vettore ARM
  6. Disassemblato la funzione di decriptazione FOTA, tracciato il caricamento della chiave dal pool letterale

Dettagli tecnici completi: docs/WRITEUP.md

Prerequisiti

  • Bun ≥ 1.0 — per la CLI TypeScript
  • uv — per gli script Python (le dipendenze vengono risolte automaticamente tramite metadati inline)

Estrarre la Chiave da Soli

Se desideri verificare la chiave in modo indipendente, puoi scaricare il firmware dalle tue cuffie WH-1000XM4 abbinate ed estrarre la chiave:

root@kitploit:~
# Scarica il firmware tramite BLE ed estrai la chiave
uv run cli/extract_key.py

# Oppure se hai già un dump del firmware:
uv run cli/extract_key.py --firmware your_dump.bin

# Alternativa Bun (richiede dump del firmware):
bun run cli/extract.ts --extract-key your_dump.bin

Lo strumento cerca nel binario del firmware l'AES S-box, trova le stringhe ASCII di 16 byte null-terminate adiacenti, poi valida ogni coppia candidata tentando di decriptare un pacchetto vocale e verificando la presenza di intestazioni LZMA valide.

Struttura del Progetto

root@kitploit:~
├── cli/
│   ├── extract.ts          # Strumento CLI Bun (estrazione + ricerca chiave)
│   └── extract_key.py      # Dumper firmware BLE Python + ricerca chiave
├── docs/
│   └── WRITEUP.md          # Documentazione tecnica completa
├── voice-packs/            # File .bin scaricati (gitignored)
├── extracted/              # Promemoria MP3 estratti (gitignored)
├── extract_all.py          # Estrattore alternativo Python
├── package.json
└── README.md

Dichiarazione di Esclusione di Responsabilità

Questo progetto documenta una ricerca sulla sicurezza condotta per scopi educativi su hardware di proprietà personale. Le cuffie analizzate sono state accoppiate e collegate normalmente – non è stato effettuato alcun accesso non autorizzato.

I file .bin dei pacchetti vocali e i promemoria MP3 estratti sono protetti da copyright di Sony Corporation e non sono inclusi in questo repository. Lo strumento CLI li scarica direttamente dal CDN pubblico di Sony a runtime. Non ridistribuire pacchetti vocali decriptati o file MP3 estratti. Questo strumento è fornito solo per scopi di ricerca e interoperabilità.

Licenza

MIT

Scarica lo strumento
LinguaFilePromemoriaCDN
🇬🇧 IngleseVP_english_UPG_03.bin54Scarica
🇫🇷 FranceseVP_french_UPG_03.bin54Scarica
🇩🇪 TedescoVP_german_UPG_03.bin54Scarica
🇪🇸 SpagnoloVP_spanish_UPG_03.bin54Scarica
🇮🇹 ItalianoVP_italian_UPG_03.bin54Scarica
🇵🇹 PortogheseVP_portuguese_UPG_03.bin54Scarica
🇳🇱 OlandeseVP_dutch_UPG_03.bin54Scarica
🇸🇪 SvedeseVP_swedish_UPG_03.bin54Scarica
🇫🇮 FinlandeseVP_finnish_UPG_03.bin54Scarica
🇹🇷 TurcoVP_turkish_UPG_03.bin54Scarica