
Gestire file WhatsApp .crypt12, .crypt14 e .crypt15.

Decrittografa e crittografa facilmente i file .crypt12, .crypt14 e .crypt15 di WhatsApp e WA Business!
Per la decrittazione, ti serve il file della chiave o la chiave di 64 caratteri.
Il file della chiave si chiama "key" se il backup è crypt14 o
"encrypted_backup.key" se il backup è crypt15 (backup E2E crittografati).
Chi cerca una suite più completa per
l'analisi forense di WhatsApp, dia un'occhiata a whapa.
Se non vuoi installare programmi sul tuo computer, puoi eseguire questo programma in Google Colab .
Se hai familiarità con Jupyter (leggi qui se non lo hai), puoi usare la versione notebook del programma.
Puoi installare questo script come pacchetto tramite pip. Basta eseguire:
python -m pip install wa-crypt-tools
per la versione stabile e
python -m pip install git+https://github.com/ElDavoo/wa-crypt-tools
per la versione di sviluppo.
Potrebbe essere necessario creare un ambiente virtuale per evitare conflitti con altri pacchetti.
usage: wadecrypt [-h] [-nm] [-bs BUFFER_SIZE] [-nd] [-v] [-f] [keyfile] [encrypted] [decrypted]
Quindi, per decrittare un crypt12/14/15, diamo al programma il file della chiave, il file crittografato e il nome del file di output.
$ wadecrypt encrypted_backup.key msgstore.db.crypt15 msgstore.db
key15.py:51 : [I] Crypt15 / Raw key loaded
wadecrypt.py:271 : [I] Done
usage: waencrypt [-h] [-f] [-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]
[keyfile] [decrypted] [encrypted]
La crittografia è più complessa e non testata: si consiglia di usare un altro file crittografato dello stesso account, che chiameremo "reference".
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!
Devi fornire i seguenti parametri:
Se i parametri vengono omessi, verranno usati i valori predefiniti.
Per riassumere:
$ 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.1.2 --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!
Puoi ottenere informazioni su un file di backup con lo strumento wainfo.
Per l'utilizzo, esegui lo strumento con l'opzione -h.
wacreatekey - Crea file di chiaviwadecrypt - Decritta i backupwaencrypt - Critta i backupwaguess - Metodo approssimativo per provare a decrittare i backupwainfo - Ottieni informazioni su un backupNO! Quale sarebbe il senso di crittografare un file altrimenti?
Vedi sopra.
I tuoi backup sono corrotti. Puoi provare a disabilitare tutti i controlli con il
flag -f, ma aspettati crash e/o output illeggibile.
La chiave è sbagliata. Puoi provare a disabilitare tutti i controlli con il
flag -f, ma aspettati crash e/o output illeggibile.
wacreatekey per creare un file encrypted_backup.keywadecrypt per decrittare i tuoi backup.In questo modo gestirai la tua chiave root - altrimenti WhatsApp potrebbe cambiare la tua chiave quando opportuno.
No! La password viene usata solo per comunicare con i server WhatsApp e recuperare
la chiave di 64 lettere.
In altre parole, la password serve a proteggere la chiave, non viene usata
per crittografare i backup.
Sì, ma il codice non è documentato, quindi per ora leggi il codice.
Inviami i file necessari su Telegram e darò un'occhiata.
Se (comprensibilmente) hai problemi di privacy, apri una issue e allega:
Ma sarà più difficile aiutarti.
Su un dispositivo Android con root, puoi semplicemente copiare
/data/data/com.whatsapp/files/key
(o /data/data/com.whatsapp/files/encrypted_backup.key se i backup sono crypt15).
Se hai abilitato i backup E2E e non hai usato una password
(hai una copia della chiave di 64 cifre, ad esempio uno screenshot),
puoi semplicemente trascriverla e usarla al posto del parametro del file della chiave.
Ci sono altri modi, ma non è compito di questo progetto
dirtelo.
Le issue che lo chiedono verranno chiuse come non valide.
Non è stato scritto alcun articolo o tesi su questo software, ma puoi citare questo repository online. Per favore non dire "et al." perché (per ora) c'è un solo autore.
Vedi il file CITATION.cff per le informazioni sulla citazione.
@misc{wa-crypt-tools,
author = {ElDavoo},
title = {WhatsApp Crypt Tools},
year = {2022},
month = {06},
howpublished = {\url{https://github.com/ElDavoo/wa-crypt-tools}
}
@online{wa-crypt-tools,
author = {ElDavoo},
title = {WhatsApp Crypt Tools},
year = {2022},
month = {06},
url = {https://github.com/ElDavoo/wa-crypt-tools}
}
Stabile:
2.24.16.76
Beta:
2.24.26.11
Stabile:
2.24.23.78
Puoi installare le dipendenze opzionali proto per usare protoletariat e correggere automaticamente gli import dei proto.
Per prima cosa, dopo aver clonato il repository, esegui un'installazione modificabile (editable) del pacchetto (possibilmente in un ambiente virtuale) con:
pip install -e .[proto]
Questo installerà anche le dipendenze opzionali del pacchetto.
Successivamente, scarica il compilatore protobuf dal suo repository qui.
Puoi spostare il programma protoc nella cartella wa-crypt-tools/proto dove si trovano i file .proto.
Sostituisci le classi protobuf come necessario ed esegui protoc per generare le classi Python.
Dalla directory wa-crypt-tools/proto del progetto, esegui:
./protoc --python_out=../src/wa_crypt_tools/proto --proto_path=. *.proto
Dopo aver generato le classi Python protobuf tramite protoc, dalla stessa directory esegui:
protol --in-place --python-out ..\src\wa_crypt_tools\proto protoc --proto-path=. *.proto
Linux:
PATH="$(pwd):$PATH" protol --in-place --python-out ../src/wa_crypt_tools/proto protoc --proto-path=. *.proto
Ora tutte le classi Python generate dovrebbero avere gli import corretti.
Grazie di cuore a ciascuno di voi!
E chiunque altro abbia aiutato!