Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
sony-vp-extract — Décrypter et extraire les invites vocales MP3 des packs vocaux cryptés Sony WH-1000XM4. Clé AES extraite via un dump du firmware Bluetooth du SoC Airoha MT2811. | Kitploit
Outils/GitHubGitHub/helgesverre/sony-vp-extract
Sécurité des Systèmes EmbarquésSécurité BluetoothOutils de Chiffrement/DéchiffrementRétro-ingénierieSécurité Sans FilCryptographieSécurité MatérielleAnalyse de Micrologiciel
GitHubhelgesverre/sony-vp-extract

sony-vp-extract

Décrypter et extraire les invites vocales MP3 des packs vocaux cryptés Sony WH-1000XM4. Clé AES extraite via un dump du firmware Bluetooth du SoC Airoha MT2811.

2525il y a 2 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

Sony WH-1000XM4 Voice Pack Extractor

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

Déchiffrer et extraire les invites vocales MP3 des firmwares chiffrés des Sony WH-1000XM4.

La clé AES-128-CBC a été extraite en vidant le firmware Airoha MT2811 des écouteurs via Bluetooth Low Energy en utilisant le protocole RACE, puis en désassemblant la routine de déchiffrement FOTA du ARM Cortex-M4. Article technique complet : docs/WRITEUP.md

Démarrage rapide

root@kitploit:~
# Installer Bun (si pas déjà fait)
curl -fsSL https://bun.sh/install | bash

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

# Télécharge automatiquement depuis le CDN Sony, puis extrait
bun run cli/extract.ts --all

Utilisation

root@kitploit:~
# Tout extraire — téléchargement automatique depuis le CDN Sony si voice-packs/ est vide
bun run cli/extract.ts --all [dossier-entrée] [dossier-sortie]

# Extraire un seul pack vocal
bun run cli/extract.ts voice-packs/VP_english_UPG_03.bin extracted/

# Afficher les infos du pack vocal
bun run cli/extract.ts --info voice-packs/VP_english_UPG_03.bin

# Téléchargement uniquement (pas d'extraction)
bun run cli/extract.ts --download [dossier-sortie]

Alternative Python

root@kitploit:~
uv run extract_all.py

Télécharge depuis le CDN Sony + déchiffre + extrait — tout en une commande. Les dépendances sont déclarées en ligne (PEP 723) — uv run gère tout automatiquement.

Langues disponibles

Format du pack vocal

root@kitploit:~
┌───────────────────────────────────────┐
│  En-tête (4096 octets)                │
│  ├── 0x000  nonce aléatoire (32 octets)│
│  └── 0x100  Métadonnées TLV           │
│       ├── compression_type = 2        │
│       ├── body_size                   │
│       ├── decompressed_size (1 Mo)    │
│       └── SHA-256 du décompressé      │
├───────────────────────────────────────┤
│  Corps (offset 0x1000+)               │
│  Chiffré AES-128-CBC                  │
│  └── Compressé LZMA1                  │
│       └── Image des guides vocaux (1Mo)│
│            ├── En-tête (version+nombre)│
│            ├── Table des entrées (54 × 8o)│
│            │   (taille, abs_offset)    │
│            └── Fichiers MP3 (48kHz mono)│
└───────────────────────────────────────┘

La clé

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

Trouvée codée en dur sous forme de chaînes ASCII dans la section .rodata du firmware MT2811 CM4 à l'offset flash 0xD53A (clé) et 0xD529 (IV). La même clé est utilisée sur toutes les unités WH-1000XM4 et tous les packs de langues.

Comment elle a été trouvée

  1. Connexion aux WH-1000XM4 via Bluetooth (les écouteurs étaient appairés à un téléphone)
  2. Découverte du service GATT BLE RACE (Airoha Command Extensions)
  3. Vidage de 59 Ko du firmware CM4 depuis la flash en utilisant RACE_STORAGE_PAGE_READ (cmd 0x0403)
  4. Localisation de la S-box AES à l'offset firmware 0x81F4
  5. Détermination de l'adresse de base runtime 0x04200000 à partir du pool littéral du tableau de vecteurs ARM
  6. Désassemblage de la fonction de déchiffrement FOTA, traçage du chargement de la clé depuis le pool littéral

Détails techniques complets : docs/WRITEUP.md

Prérequis

  • Bun ≥ 1.0 — pour l'interface en ligne de commande TypeScript
  • uv — pour les scripts Python (les dépendances sont résolues automatiquement via les métadonnées en ligne)

Extraire la clé vous-même

Si vous souhaitez vérifier la clé de manière indépendante, vous pouvez vider le firmware de vos propres écouteurs WH-1000XM4 appairés et en extraire la clé :

root@kitploit:~
# Vider le firmware via BLE et extraire la clé
uv run cli/extract_key.py

# Ou si vous avez déjà un dump firmware :
uv run cli/extract_key.py --firmware your_dump.bin

# Alternative Bun (fichier firmware requis) :
bun run cli/extract.ts --extract-key your_dump.bin

L'outil recherche dans le binaire du firmware la S-box AES, trouve les chaînes ASCII adjacentes de 16 octets terminées par un null, puis valide chaque paire candidate en essayant de déchiffrer un pack vocal et en vérifiant la présence d'en-têtes LZMA valides.

Structure du projet

root@kitploit:~
├── cli/
│   ├── extract.ts          # Outil CLI Bun (extraction + recherche de clé)
│   └── extract_key.py      # Script Python de dump BLE et recherche de clé
├── docs/
│   └── WRITEUP.md          # Article technique complet
├── voice-packs/            # Fichiers .bin téléchargés (gitignored)
├── extracted/              # Invites MP3 extraites (gitignored)
├── extract_all.py          # Alternative Python d'extraction
├── package.json
└── README.md

Avertissement

Ce projet documente une recherche en sécurité menée à des fins éducatives sur du matériel personnellement possédé. Les écouteurs analysés ont été appairés et connectés normalement — aucun accès non autorisé n'a été impliqué.

Les fichiers .bin des packs vocaux et les invites MP3 extraites sont protégés par le droit d'auteur de Sony Corporation et ne sont pas inclus dans ce dépôt. L'outil en ligne de commande les télécharge directement depuis le CDN public de Sony lors de l'exécution. Ne redistribuez pas les packs vocaux déchiffrés ni les fichiers MP3 extraits. Cet outil est fourni à des fins de recherche et d'interopérabilité uniquement.

Licence

MIT

Télécharger l’outil
LangueFichierInvitesCDN
🇬🇧 AnglaisVP_english_UPG_03.bin54Télécharger
🇫🇷 FrançaisVP_french_UPG_03.bin54Télécharger
🇩🇪 AllemandVP_german_UPG_03.bin54Télécharger
🇪🇸 EspagnolVP_spanish_UPG_03.bin54Télécharger
🇮🇹 ItalienVP_italian_UPG_03.bin54Télécharger
🇵🇹 PortugaisVP_portuguese_UPG_03.bin54Télécharger
🇳🇱 NéerlandaisVP_dutch_UPG_03.bin54Télécharger
🇸🇪 SuédoisVP_swedish_UPG_03.bin54Télécharger
🇫🇮 FinnoisVP_finnish_UPG_03.bin54Télécharger
🇹🇷 TurcVP_turkish_UPG_03.bin54Télécharger