Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
wa-crypt-tools — Управление файлами WhatsApp .crypt12, .crypt14 и .crypt15. | Kitploit
Инструменты/GitHubGitHub/eldavoo/wa-crypt-tools
Безопасность AndroidИнструменты шифрования/дешифрованияМобильная криминалистикаВосстановление ДанныхЦифровая криминалистикаКриптография
GitHubeldavoo/wa-crypt-tools

wa-crypt-tools

Управление файлами WhatsApp .crypt12, .crypt14 и .crypt15.

Репозиторий
1.1k15712014 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Coverage Status

WhatsApp Crypt Tools

Легко расшифровывайте и шифруйте файлы .crypt12, .crypt14 и .crypt15 WhatsApp и WA Business!
Для расшифровки вам НУЖЕН файл ключа или 64-символьный ключ (или скриншот с ним).
Файл ключа называется "key", если резервная копия имеет формат crypt14, или "encrypted_backup.key", если резервная копия имеет формат crypt15 (зашифрованные E2E-резервные копии).
Тем, кто ищет более полный набор инструментов для криминалистического анализа WhatsApp, стоит обратить внимание на whapa.

Быстрая установка

Облако — Google Colab

Если вы не хотите устанавливать программы на свой компьютер, вы можете запустить эту программу в Google Colab .

Локально — Jupyter

Если вы знакомы с Jupyter (прочитайте здесь , если нет), вы можете использовать версию в виде блокнота этой программы.

Локально — pip

Вы можете установить этот скрипт как пакет через pip. Просто выполните:

python -m pip install wa-crypt-tools

для стабильной версии и

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

для версии в разработке.

Возможно, вам придётся создать виртуальное окружение, чтобы избежать конфликтов с другими пакетами.

Окно: wagui

Если вы вообще предпочитаете не использовать терминал, wagui — это небольшое окно, которое расшифровывает резервную копию: выберите ключ, выберите резервную копию, нажмите «Расшифровать».

Окно wagui

Скачайте его и дважды щёлкните по нему. Каждый релиз содержит автономную сборку, для которой не нужны ни Python, ни установка:

ФайлДля
wagui-windows-x64.exeWindows
wagui-macos-arm64.zipmacOS (Apple Silicon)
wagui-linux-x64Linux (сначала выполните chmod +x)

Сборка для macOS не подписана кодом, поэтому при первой попытке открыть её macOS откажется: щёлкните по приложению правой кнопкой и выберите Открыть, затем подтвердите.

Если вы уже установили пакет через pip, то же окно доступно одной командой:

wagui

В Linux установка через pip также требует пакета tkinter вашего дистрибутива (python3-tk в Debian/Ubuntu, python3-tkinter в Fedora) — он является частью Python, но поставляется отдельно. В загружаемой сборке он встроен и ничего не требует.

Окно охватывает расшифровку — то, ради чего большинство людей здесь и находится. Оно также сообщает, что представляет собой файл, как только вы его выберете, так же, как это делает wainfo. Шифрование, создание файлов ключей и подбор смещений остаются в инструментах командной строки, описанных ниже.

Быстрый старт

Расшифровка файла с помощью wadecrypt

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

Итак, для расшифровки crypt12/14/15 мы передаём программе файл ключа, зашифрованный файл и имя выходного файла. Она не будет перезаписывать уже существующий файл; передайте -y/--yes, если вы этого хотите.

Пример

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

Шифрование файла с помощью waencrypt (БЕТА)

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 не будет перезаписывать уже существующий файл; передайте -y/--yes, если вы этого хотите.

С --reference waencrypt воспроизводит указанную резервную копию байт в байт: IV, заголовок (включая поля, которые эта библиотека не моделирует) и уровень сжатия берутся из неё, поэтому повторное шифрование неизменённой базы данных возвращает вам тот же md5, с которого вы начали.

-c/--compression-level — это уровень zlib, по умолчанию 9, который WhatsApp использует сейчас. Исторически он сжимал на уровне 1. С --reference уровень берётся из референса, поэтому воспроизведение старой резервной копии не требует ничего дополнительного; передайте -c, чтобы переопределить его.

Шифрование сложнее и не протестировано: рекомендуется использовать другой зашифрованный файл из той же учётной записи, который мы будем называть «референсом».

С файлом-референсом (протестирована только база данных crypt15)

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!

Без файла-референса

Вам нужно указать следующие параметры:

  1. Список функций (feature list): только для баз данных 2019 года и новее. Это на самом деле флаги миграции базы данных, которые WhatsApp записывает в заголовок, и их невозможно вывести из файла базы данных. Значения по умолчанию — те, что несёт msgstore 2.26.34.7, то есть все они. Только msgstore имеет их. Любая другая резервная копия — wa.db, stickers.db, остальное из WhatsApp/Backups/ — вообще не несёт информации о функциях, что wainfo обозначает как "No feature table found (not a msgstore DB or very old)". Чтобы записать заголовок такой формы, передайте --enable-features без чего-либо после него: пустой список не записывает ни флаги миграции, ни версию резервной копии, и тогда --max-feature ничего не делает.
  2. Максимальный номер функции, который на момент написания равен 39
  3. Версия приложения, зашифровавшего файл: по умолчанию 2.26.34.7.
  4. Jid: последние 2 цифры вашего номера телефона — этот действительно ваш, по умолчанию 00
  5. Версия резервной копии: используйте 1.

Значения по умолчанию используются, если параметры опущены, и они взяты из реальной резервной копии 2.26.34.7: при правильных --iv и --jid waencrypt записывает те же байты заголовка, что и телефон, вообще без референса. Передача --reference всё же предпочтительнее, поскольку она берёт IV, уровень сжатия и весь заголовок из уже имеющейся у вас резервной копии.

Подводя итог:

$ 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!

Вы можете получить информацию о файле резервной копии с помощью инструмента wainfo.

Чтение ключа со скриншота

WhatsApp показывает 64-значный ключ один раз и больше никогда, поэтому большинство людей делает скриншот. Вы можете передать этот скриншот любому из инструментов везде, где ожидается файл ключа — для этого нет отдельного флага, инструменты сами определяют, что им передали:

$ wadecrypt Screenshot_20260901-184609_WhatsApp.png msgstore.db.crypt15 msgstore.db
ocr.py:503      : [I] Reading the key from the screenshot, this takes a few seconds...
key15.py:55     : [I] Crypt15 / Raw key loaded
wadecrypt.py:301        : [I] Done
Скачать инструмент