Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
wa-crypt-tools — Gérer les fichiers WhatsApp .crypt12, .crypt14 et .crypt15. | Kitploit
Outils/GitHubGitHub/eldavoo/wa-crypt-tools
Sécurité AndroidOutils de Chiffrement/DéchiffrementCriminalistique MobileRécupération de DonnéesCriminalistique NumériqueCryptographie
GitHubeldavoo/wa-crypt-tools

wa-crypt-tools

Gérer les fichiers WhatsApp .crypt12, .crypt14 et .crypt15.

Voir le dépôt
1.1k157125il y a 15 joursVé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

Coverage Status

WhatsApp Crypt Tools

Déchiffrez et chiffrez facilement les fichiers .crypt12, .crypt14 et .crypt15 de WhatsApp et WA Business !
Pour le déchiffrement, vous avez BESOIN du fichier de clé ou de la clé de 64 caractères (ou d'une capture d'écran de celle-ci).
Le fichier de clé est nommé « key » si la sauvegarde est en crypt14 ou
« encrypted_backup.key » si la sauvegarde est en crypt15 (sauvegardes E2E chiffrées).
Ceux qui cherchent une suite plus complète pour la forensique WhatsApp, consultez whapa.

Installation rapide

Cloud - Google Colab

Si vous ne voulez pas installer de programmes sur votre ordinateur, vous pouvez exécuter ce programme dans Google Colab .

Local - Jupyter

Si vous connaissez Jupyter (lisez ici si ce n'est pas le cas), vous pouvez utiliser la version notebook du programme.

Local - pip

Vous pouvez installer ce script en tant que paquet via pip. Exécutez simplement :

python -m pip install wa-crypt-tools

pour la version stable et

python -m pip install git+https://github.com/ElDavoo/wa-crypt-tools

pour la version de développement.

Vous devrez peut-être créer un environnement virtuel pour éviter les conflits avec d'autres paquets.

La fenêtre : wagui

Si vous préférez ne pas utiliser de terminal du tout, wagui est une petite fenêtre qui déchiffre une sauvegarde : choisissez votre clé, choisissez la sauvegarde, appuyez sur Decrypt.

La fenêtre wagui

Téléchargez-la et double-cliquez dessus. Chaque release contient une build autonome qui ne nécessite ni Python ni installation :

FichierPour
wagui-windows-x64.exeWindows
wagui-macos-arm64.zipmacOS (Apple Silicon)
wagui-linux-x64Linux (chmod +x d'abord)

La build macOS n'est pas signée, donc la première fois que vous l'ouvrez, macOS refusera : faites un clic droit sur l'application et choisissez Ouvrir, puis confirmez.

Si vous avez déjà installé le paquet avec pip, la même fenêtre est à une commande :

wagui

Sous Linux, une installation pip nécessite aussi le paquet tkinter de votre distribution (python3-tk sur Debian/Ubuntu, python3-tkinter sur Fedora) -- il fait partie de Python mais est empaqueté séparément. La build téléchargeable l'intègre et ne nécessite rien.

La fenêtre couvre le déchiffrement, ce pour quoi la plupart des gens sont ici. Elle vous indique aussi ce qu'est un fichier dès que vous le sélectionnez, comme le fait wainfo. Le chiffrement, la création de fichiers de clé et la recherche d'offsets restent dans les outils en ligne de commande ci-dessous.

Démarrage rapide

Déchiffrer un fichier avec wadecrypt

usage: wadecrypt [-h] [-nm] [-bs BUFFER_SIZE] [-nd] [-v] [-f] [-y] [keyfile] [encrypted] [decrypted]

Donc, pour déchiffrer un crypt12/14/15, nous donnons au programme le fichier de clé, le fichier chiffré et le nom du fichier de sortie. Il n'écrasera pas un fichier qui existe déjà ; passez -y/--yes si c'est ce que vous voulez.

Exemple

$ wadecrypt encrypted_backup.key msgstore.db.crypt15 msgstore.db
key15.py:51     : [I] Crypt15 / Raw key loaded
wadecrypt.py:271        : [I] Done

Chiffrer un fichier avec waencrypt (BETA)

usage: waencrypt [-h] [-f] [-y] [-v] [--enable-features [ENABLE_FEATURES ...]] [--max-feature MAX_FEATURE]
                 [--multi-file] [--type {12,14,15}] [--iv IV] [--reference REFERENCE] [--noparse]
                 [--wa-version WA_VERSION] [--jid JID] [--backup-version BACKUP_VERSION] [--no-compress]
                 [-c [0-9]] [keyfile] [decrypted] [encrypted]

waencrypt n'écrasera pas un fichier qui existe déjà ; passez -y/--yes si c'est ce que vous voulez.

Avec --reference, waencrypt reproduit la sauvegarde référencée octet pour octet : l'IV, le header (y compris les champs que cette bibliothèque ne modélise pas) et le niveau de compression proviennent tous de celle-ci, donc re-chiffrer une base de données non modifiée vous redonne le md5 avec lequel vous avez commencé.

-c/--compression-level est le niveau zlib, 9 par défaut, ce que WhatsApp utilise actuellement. Il compressait à 1 historiquement. Avec --reference le niveau est pris depuis la référence, donc reproduire une sauvegarde plus ancienne ne nécessite rien de plus ; passez -c pour le remplacer.

Le chiffrement est plus complexe et non testé : il est conseillé d'utiliser un autre fichier chiffré du même compte, que nous appellerons « référence ».

Avec un fichier de référence (seule la base de données crypt15 testée)

waencrypt --reference msgstore.db.crypt15 encrypted_backup.key msgstore.db msgstore-new.db.crypt15
waencrypt.py:57         : [W] This script is in beta stage
waencrypt.py:89         : [I] Done!

Sans fichier de référence

Vous devez fournir les paramètres suivants :

  1. La liste des fonctionnalités : uniquement pour les bases de données de 2019 et plus récentes. Ce sont en réalité les drapeaux de migration de base de données que WhatsApp enregistre dans le header, et il n'y a aucun moyen de les déduire d'un fichier de base de données. Les valeurs par défaut sont celles que porte un msgstore 2.26.34.7, c'est-à-dire toutes. Seul un msgstore les possède. Toute autre sauvegarde -- wa.db, stickers.db, le reste de WhatsApp/Backups/ -- ne porte aucune information de fonctionnalité, ce que wainfo signifie par « No feature table found (not a msgstore DB or very old) ». Pour écrire un header de cette forme, passez --enable-features sans rien après : une liste vide n'écrit ni les drapeaux de migration ni la version de sauvegarde, et --max-feature ne fait alors rien.
  2. Le numéro de fonctionnalité maximal, qui est 39 au moment de la rédaction
  3. La version de l'application qui a chiffré le fichier : par défaut 2.26.34.7.
  4. Jid : les 2 derniers chiffres de votre numéro de téléphone -- celui-ci est vraiment le vôtre, et par défaut 00
  5. Version de sauvegarde : utilisez 1.

Les valeurs par défaut seront utilisées si les paramètres sont omis, et elles sont tirées d'une vraie sauvegarde 2.26.34.7 : avec le bon --iv et --jid, waencrypt écrit les mêmes octets de header que le téléphone, sans aucune référence. Passer --reference reste la meilleure façon, puisqu'il prend l'IV, le niveau de compression et tout le header d'une sauvegarde que vous avez déjà.

Pour résumer :

$ waencrypt --enable-features 5 6 7 8 9 10 11 12 13 14 15 16
 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 --type 15 --wa-version 2.26.34.7 --jid 00 --backup
-version 1 encrypted_backup.key msgstore.db msgstore-new.db.crypt15 
waencrypt.py:57         : [W] This script is in beta stage
waencrypt.py:89         : [I] Done!

Vous pouvez obtenir des informations sur un fichier de sauvegarde avec l'outil wainfo.

Lecture de la clé à partir d'une capture d'écran

Télécharger l’outil