BIP38: Guia Completo de Exportação e Análise de Banco de Dados de Carteiras Cripto
Introdução
O BIP38 é um dos padrões mais importantes para quem precisa recuperar chaves privadas protegidas por senha. Diferente do BIP39, que lida com frases mnemônicas, o BIP38 criptografa uma chave privada individual, permitindo exportá-la e importá-la com segurança entre carteiras. Quando um banco de dados de carteira está corrompido, uma senha foi esquecida ou um backup antigo precisa ser analisado, saber exportar e interpretar registros BIP38 pode ser a diferença entre perder e recuperar seus fundos.
Neste guia do Guia de Recuperação de Carteiras Cripto, vamos explicar o que é o BIP38, como ele aparece em bancos de dados de carteiras, quais ferramentas usar (Pywallet, btcrecover, HashCat e bibliotecas Python) e como conduzir uma recuperação segura em ambiente offline.
O que é BIP38?
BIP38 (Bitcoin Improvement Proposal 38) define um formato para chaves privadas criptografadas com passphrase. A chave resultante começa normalmente com 6P e usa codificação Base58Check.
Características principais:
- Protege uma chave privada individual, não uma seed inteira.
- Usa AES-256 e derivação de chave com scrypt.
- Pode ser não-EC-multiplicado (prefixo
0x0142) ou EC-multiplicado (prefixo0x0143). - Inclui um
addresshashpara validar se a senha digitada corresponde ao endereço esperado. - É compatível com paper wallets, carteiras de papel e ferramentas de importação.
Importante: BIP38 não substitui BIP39/BIP32. Ele é uma camada extra de proteção para chaves privadas já existentes.
BIP38 vs BIP39/BIP32
| Padrão | Função | O que recupera |
|--------|--------|----------------|
| BIP39 | Gera frase mnemônica de 12/24 palavras | Seed mestra |
| BIP32 | Deriva chaves hierárquicas a partir da seed | Várias contas/endereços |
| BIP38 | Criptografa chave privada individual com senha | Uma chave privada específica |
Se você perdeu a frase mnemônica, o caminho é BIP39/BIP32. Se você tem uma chave privada BIP38 e esqueceu a passphrase, o caminho é a recuperação de senha BIP38.
Onde o BIP38 aparece em bancos de dados de carteiras
Bancos de dados de carteiras podem armazenar chaves de formas diferentes:
- Bitcoin Core wallet.dat: usa Berkeley DB e normalmente criptografa as chaves com a passphrase da carteira, não diretamente em BIP38. Ainda assim, é possível exportar chaves via
dumpprivkeye convertê-las para BIP38.

- Carteiras antigas e paper wallets: ferramentas como bitaddress.org e Bitcoinpaperwallet geram chaves BIP38.
- Bancos SQLite, JSON ou LevelDB: algumas carteiras móveis e leves importam chaves BIP38 e podem armazenar metadados associados.
- Backups manuais: arquivos de texto, PDFs e QR codes podem conter chaves BIP38 exportadas.
Exportando chaves BIP38 de um banco de dados
Antes de qualquer coisa: faça backup do arquivo original e trabalhe em um computador offline, de preferência air-gapped.
1. Identifique o formato do banco
wallet.dat: Berkeley DB.*.sqlite: SQLite.*.json: backup textual.LevelDB: comum em carteiras modernas.
2. Extraia chaves com Pywallet
O Pywallet é uma ferramenta clássica para ler wallet.dat e exportar chaves privadas.
python pywallet.py --dumpwallet --datadir=/caminho/da/carteira > dump.json
O resultado pode conter chaves em WIF (Wallet Import Format). A partir delas, você pode converter para BIP38 usando uma biblioteca específica.
3. Converta WIF para BIP38
Com a biblioteca Python bip38, o fluxo conceitual é:
from bip38 import encrypt
chave_bip38 = encrypt(wif, passphrase)
Use apenas em ambiente offline. Nunca execute esse tipo de código em sites online ou máquinas comprometidas.

4. Valide a exportação
- Confira se o endereço derivado da chave BIP38 corresponde ao endereço original.
- Teste a importação em uma carteira de teste com pequeno valor.
- Guarde o backup em mídia física e local seguro.
Analisando uma chave BIP38
A análise de BIP38 envolve decodificar a string Base58Check e interpretar seus campos.
Estrutura básica
- Base58Check: remove checksum e revela o payload.
- Prefixo:
0x0142(não-EC) ou0x0143(EC-multiplicado). - Address hash: primeiros bytes do hash do endereço, usado para validar a senha.
- Dados criptografados: metades criptografadas com AES-256.
- Owner entropy (apenas EC-multiplicado): dados adicionais para derivação.
Validando a senha
Para verificar se uma senha está correta:
- Derive a chave com scrypt usando a passphrase e o
addresshash. - Descriptografe os dados AES.
- Reconstrua a chave privada.
- Derive o endereço Bitcoin.
- Compare o hash do endereço com o
addresshasharmazenado.
Se coincidir, a senha está correta.
Ferramentas para recuperação de senha BIP38
btcrecover
O btcrecover é muito usado para recuperar senhas de carteiras, seeds e arquivos de backup. Ele suporta regras de mutação, dicionários e ataques de máscara. Para BIP38, pode ser necessário adaptar o fluxo ou usar scripts complementares.

HashCat
O HashCat é uma ferramenta de recuperação de senha por GPU. Embora não tenha um modo BIP38 universal em todas as versões, ele pode ser usado com módulos personalizados ou em conjunto com hashes extraídos. Verifique a compatibilidade antes de investir tempo.
Pywallet
Excelente para extrair chaves de wallet.dat e backups Berkeley DB. É um ponto de partida para obter WIF e depois converter para BIP38.
Bibliotecas Python
Bibliotecas como bip38, bitcoinlib e ecdsa permitem implementar decodificação, validação e recuperação de senha de forma controlada.
Estratégias para recuperar a senha BIP38
- Reúna pistas: senhas antigas, padrões, datas, nomes, variações de maiúsculas/minúsculas.
- Crie um dicionário personalizado: combine palavras que você costuma usar.
- Use regras de mutação: adicione números, símbolos, substituições (a -> @, o -> 0).
- Ataque de máscara: se você lembra parte da senha, use máscaras como
?u?l?l?l?d?d?d?. - Divida o problema: teste primeiro senhas curtas e comuns.
- Otimize com GPU: para senhas longas, use HashCat ou ferramentas compatíveis.
- Monitore o progresso: salve checkpoints e evite perder horas de processamento.
Segurança operacional
- Trabalhe sempre offline ou em live USB.
- Nunca compartilhe chaves privadas, seeds ou senhas.
- Use um computador dedicado e sem conexão à internet.
- Criptografe backups e armazene cópias em locais diferentes.
- Considere fragmentação Shamir ou múltiplos backups físicos.
- Teste a restauração antes de precisar dela.
- Desconfie de serviços que pedem sua seed ou chave privada.
Conclusão
A exportação e análise de banco de dados BIP38 é uma tarefa avançada, mas totalmente possível com as ferramentas certas e uma metodologia segura. Se você está lidando com uma chave privada protegida por senha, um backup antigo ou um wallet.dat corrompido, comece com backups, ambiente offline e ferramentas confiáveis.
O Guia de Recuperação de Carteiras Cripto oferece tutoriais passo a passo para BIP39, BIP32, BIP38, MetaMask, Electrum, Ledger e muito mais. Acesse nosso site e encontre o caminho mais seguro para recuperar seu acesso.