Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
wa-crypt-tools — Gerencie arquivos .crypt12, .crypt14 e .crypt15 do WhatsApp. | Kitploit
Ferramentas/GitHubGitHub/eldavoo/wa-crypt-tools
Segurança AndroidFerramentas de Criptografia/DescriptografiaForensia MóvelRecuperação de DadosForensia DigitalCriptografia
GitHubeldavoo/wa-crypt-tools

wa-crypt-tools

Gerencie arquivos .crypt12, .crypt14 e .crypt15 do WhatsApp.

Ver Repositório
1.1k157125há 14 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Coverage Status

WhatsApp Crypt Tools

Descriptografe e criptografe arquivos .crypt12, .crypt14 e .crypt15 do WhatsApp e do WA Business com facilidade!
Para descriptografar, você PRECISA do arquivo de chave ou da chave de 64 caracteres (ou de uma captura de tela dela).
O arquivo de chave se chama "key" se o backup for crypt14 ou
"encrypted_backup.key" se o backup for crypt15 (backups E2E criptografados).
Aqueles que procuram uma suíte mais completa para perícia forense de WhatsApp, confiram o whapa.

Instalação rápida

Nuvem - Google Colab

Se você não quer instalar programas no seu computador, você pode executar este programa no Google Colab .

Local - Jupyter

Se você está familiarizado com o Jupyter (leia aqui se não estiver), você pode usar a versão em notebook do programa.

Local - pip

Você pode instalar este script como um pacote através do pip. Basta executar:

python -m pip install wa-crypt-tools

para a versão estável e

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

para a versão de desenvolvimento.

Talvez você precise criar um ambiente virtual para evitar conflitos com outros pacotes.

A janela: wagui

Se você preferir não usar um terminal, o wagui é uma pequena janela que descriptografa um backup: escolha sua chave, escolha o backup, pressione Decrypt.

A janela wagui

Baixe e dê um duplo clique. Cada release traz uma build autocontida que não precisa de Python nem de instalação:

ArquivoPara
wagui-windows-x64.exeWindows
wagui-macos-arm64.zipmacOS (Apple Silicon)
wagui-linux-x64Linux (execute chmod +x nele primeiro)

A build para macOS não é assinada digitalmente, então na primeira vez que você abri-la o macOS vai recusar: clique com o botão direito no app e escolha Open, depois confirme.

Se você já instalou o pacote com pip, a mesma janela está a um comando de distância:

wagui

No Linux, uma instalação via pip também precisa do pacote tkinter da sua distribuição (python3-tk no Debian/Ubuntu, python3-tkinter no Fedora) -- ele faz parte do Python mas é empacotado separadamente. A build para download já o tem embutido e não precisa de nada.

A janela cobre a descriptografia, que é o motivo pelo qual a maioria das pessoas está aqui. Ela também informa o que é um arquivo assim que você o seleciona, da mesma forma que o wainfo faz. Criptografia, criação de arquivos de chave e adivinhação de offsets permanecem nas ferramentas de linha de comando abaixo.

Início rápido

Descriptografar um arquivo com wadecrypt

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

Então, para descriptografar um crypt12/14/15, passamos ao programa o arquivo de chave, o arquivo criptografado e o nome do arquivo de saída. Ele não sobrescreverá um arquivo que já existe; passe -y/--yes se for isso que você quer.

Exemplo

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

Criptografar um arquivo com 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]

O waencrypt não sobrescreverá um arquivo que já existe; passe -y/--yes se for isso que você quer.

Com --reference, o waencrypt reproduz o backup referenciado byte a byte: o IV, o cabeçalho (incluindo campos que esta biblioteca não modela) e o nível de compressão vêm todos dele, então re-criptografar um banco de dados não modificado devolve o md5 com o qual você começou.

-c/--compression-level é o nível do zlib, 9 por padrão, que é o que o WhatsApp usa agora. Ele comprimia no nível 1 historicamente. Com --reference o nível é obtido da referência, então reproduzir um backup mais antigo não precisa de nada extra; passe -c para sobrescrevê-lo.

A criptografia é mais complexa e não testada: recomenda-se usar outro arquivo criptografado da mesma conta, que chamaremos de "referência".

Com um arquivo de referência (apenas banco de dados crypt15 testado)

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!

Sem um arquivo de referência

Você precisa fornecer os seguintes parâmetros:

  1. A lista de features: Apenas para bancos de dados de 2019+. Estas são na verdade as flags de migração de banco de dados que o WhatsApp registra no cabeçalho, e não há como inferi-las a partir de um arquivo de banco de dados. Os padrões são o que um msgstore 2.26.34.7 carrega, que são todas elas. Apenas um msgstore as possui. Todo outro backup -- wa.db, stickers.db, o resto de WhatsApp/Backups/ -- não carrega nenhuma informação de feature, que é o que o wainfo quer dizer com "No feature table found (not a msgstore DB or very old)". Para escrever um cabeçalho desse formato, passe --enable-features sem nada depois: uma lista vazia não escreve nem as flags de migração nem a versão de backup, e --max-feature então não faz nada.
  2. O número máximo de feature, que é 39 no momento em que escrevo
  3. A versão do app que criptografou o arquivo: o padrão é 2.26.34.7.
  4. Jid: Os últimos 2 números do seu número de telefone -- este é realmente seu, e o padrão é 00
  5. Versão de backup: Use 1.

Os padrões serão usados se os parâmetros forem omitidos, e eles são obtidos de um backup 2.26.34.7 real: dados o --iv e o --jid corretos, o waencrypt escreve os mesmos bytes de cabeçalho que o telefone escreve, sem nenhuma referência. Passar --reference ainda é a melhor forma, já que ele obtém o IV, o nível de compressão e todo o cabeçalho de um backup que você já tem.

Resumindo:

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

Você pode obter informações sobre um arquivo de backup com a ferramenta wainfo.

Lendo a chave a partir de uma captura de tela

O WhatsApp mostra a chave de 64 dígitos uma vez e nunca mais, então a maioria das pessoas tira uma captura de tela dela. Você pode fornecer essa captura de tela a qualquer uma das ferramentas onde quer que o arquivo de chave vá -- não há flag extra, as ferramentas descobrem o que lhes foi entregue:

Baixar ferramenta