
WhatsApp の .crypt12、.crypt14、.crypt15 ファイルを管理します。

WhatsAppおよびWA Businessの.crypt12、.crypt14、.crypt15ファイルを簡単に復号・暗号化できます!
復号には、キーファイルまたは64文字のキーが必要です。
バックアップがcrypt14の場合、キーファイルの名前は"key"で、
crypt15(E2E暗号化バックアップ)の場合は"encrypted_backup.key"です。
WhatsAppフォレンジックのためのより完全なスイートをお探しの方は、whapa.をチェックしてください。
コンピュータにプログラムをインストールしたくない場合は、Google Colabでこのプログラムを実行できます。
Jupyterに詳しい場合は(詳しくない場合はこちらをお読みください)、プログラムのノートブック版を使用できます。
このスクリプトはpipを通じてパッケージとしてインストールできます。実行するだけです:
python -m pip install wa-crypt-tools
安定版の場合は、
python -m pip install git+https://github.com/ElDavoo/wa-crypt-tools
開発版の場合はこれを使用します。
他のパッケージとの競合を避けるために、仮想環境を作成する必要があるかもしれません。
usage: wadecrypt [-h] [-nm] [-bs BUFFER_SIZE] [-nd] [-v] [-f] [keyfile] [encrypted] [decrypted]
つまり、crypt12/14/15を復号するには、プログラムにキーファイル、暗号化されたファイル、出力ファイル名を指定します。
$ 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]
暗号化はより複雑でテストされていません:同じアカウントの別の暗号化ファイルを「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!
以下のパラメータを指定する必要があります:
パラメータを省略した場合はデフォルト値が使用されます。
まとめると:
$ 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!
wainfoツールでバックアップファイルの情報を取得できます。
使用方法については、-hオプションを付けてツールを実行してください。
wacreatekey - キーファイルを作成wadecrypt - バックアップを復号waencrypt - バックアップを暗号化waguess - バックアップの復号を試みるハッキーな方法wainfo - バックアップに関する情報を取得いいえ! そうでなければファイルを暗号化する意味がありません。
上記を参照してください。
バックアップが破損しています。-fフラグですべてのチェックを無効にしてみることもできますが、クラッシュや読み取り不能な出力が発生する可能性があります。
キーが間違っています。-fフラグですべてのチェックを無効にしてみることもできますが、クラッシュや読み取り不能な出力が発生する可能性があります。
wacreatekeyを使用してencrypted_backup.keyファイルを作成します。wadecryptを使用してバックアップを復号します。このようにして、自分のルートキーを管理できます。そうしないと、WhatsAppが適宜キーを変更する可能性があります。
いいえ! パスワードはWhatsAppサーバーと通信して64文字のキーを取得するためだけに使用されます。
言い換えれば、パスワードはキーを保護するために使用され、バックアップの暗号化には使用されません。
はい、ただしコードは文書化されていないため、現時点ではコードをお読みください。
必要なファイルをTelegramで送ってください。確認します。
(当然のことながら)プライバシーが気になる場合は、issueを開いて以下を添付してください:
ただし、サポートはより困難になります。
root化したAndroidデバイスでは、/data/data/com.whatsapp/files/key(バックアップがcrypt15の場合は/data/data/com.whatsapp/files/encrypted_backup.key)をコピーするだけです。
E2Eバックアップを有効にしていて、パスワードを使用していない場合(64桁のキーのコピー、例えばスクリーンショットがある場合)、それを書き写してキーファイルパラメータの代わりに使用できます。
他の方法もありますが、それを伝えるのはこのプロジェクトの範囲外です。
これを求めるissueは無効としてクローズされます。
このソフトウェアについて書かれた論文や学位論文はありませんが、このオンラインリポジトリを引用できます。「et al.」と記載しないでください。今のところ著者は1人だけです。
引用情報については、CITATION.cffファイルを参照してください。
@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}
}
Stable:
2.24.16.76
Beta:
2.24.26.11
Stable:
2.24.23.78
protoletariatを使用してprotoのインポートを自動的に修正するには、protoのオプション依存関係をインストールできます。
まず、リポジトリをクローンした後、以下のコマンドでパッケージの編集可能なインストールを(できれば仮想環境で)行います:
pip install -e .[proto]
これにより、パッケージのオプション依存関係もインストールされます。
次に、protobufコンパイラをそのリポジトリここからダウンロードします。
protocプログラムを、.protoファイルがあるwa-crypt-tools/protoフォルダに移動できます。
必要に応じてprotobufクラスを置き換え、protocを実行してPythonクラスを生成します。
プロジェクトのwa-crypt-tools/protoディレクトリから、次を実行します:
./protoc --python_out=../src/wa_crypt_tools/proto --proto_path=. *.proto
protocでprotobuf Pythonクラスを生成した後、同じディレクトリから次を実行します:
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
これで、生成されたすべてのPythonクラスのインポートが修正されるはずです。
皆さん一人ひとりに心から感謝します!
他にも助けてくださったすべての方々!