Formulário de contato

Nome

E-mail *

Mensagem *

Imagem

Gerador de Combinações BIP39 com Python e Mnemonic

Gerador de Combinações BIP39 com Python e Mnemonic

Publicado por em


@CanalQb no YouTube


@CanalQb

Gerador de Combinações BIP39 com Python e Mnemonic


Sempre crie uma frase de segurança única para jogos, testnets ou airdrops e evite usar sua carteira principal.



Gerador de Combinações BIP39 com Python e Mnemonic

Este artigo apresenta um script em Python para geração de combinações de palavras da lista BIP39 utilizando a biblioteca mnemonic. A proposta é testar diferentes combinações de frases mnemônicas e validar se são consideradas legítimas de acordo com o padrão do Bitcoin Improvement Proposal 39 (BIP39).

O que é BIP39?

O BIP39 é um padrão utilizado por carteiras de criptomoedas para converter uma sequência de palavras mnemônicas em uma seed criptográfica. Esse padrão é amplamente usado por carteiras como Ledger, Trezor, Trust Wallet, entre outras. Uma frase BIP39 típica pode conter 12, 18 ou 24 palavras da lista oficial do protocolo.

A lista oficial de palavras pode ser consultada no repositório oficial no GitHub.

Objetivo do Script

O script tem como função combinar as 24 primeiras palavras da lista BIP39 (como exemplo) e formar frases de 24 palavras, utilizando:

  • 16 palavras fixas “abandon”
  • 1 palavra fixa “length”
  • 7 palavras permutadas sem repetição das 24 primeiras do dicionário

Como funciona o script

O script segue as etapas abaixo:

  1. Importa a biblioteca mnemonic e a função permutations do módulo itertools
  2. Define as palavras fixas (início da frase)
  3. Permuta as 7 palavras restantes
  4. Concatena as 16 palavras fixas + “length” + 7 permutadas
  5. Valida se a frase final é uma frase BIP39 válida usando mnemo.check()
  6. Salva o progresso a cada 1000 iterações no arquivo indice_salvo.txt

Trecho principal do código

import itertools
from mnemonic import Mnemonic

def gerar_combinacoes_bip39():
    mnemo = Mnemonic("english")
    palavras = mnemo.wordlist[:24]
    palavras_iniciais = ["abandon"] * 16 + ["length"]
    combinacoes_restantes = itertools.permutations(palavras, 7)

    try:
        with open("indice_salvo.txt", "r") as file:
            indice_salvo = int(file.readline().strip())
    except FileNotFoundError:
        indice_salvo = 0

    for j, combinacao in enumerate(itertools.islice(combinacoes_restantes, indice_salvo, None), start=indice_salvo):
        frase_completa = " ".join(palavras_iniciais + list(combinacao))
        if mnemo.check(frase_completa):
            print(f"Índice: {j + 1}, Frase válida: {frase_completa}")
        if (j + 1) % 1000 == 0:
            with open("indice_salvo.txt", "w") as file:
                file.write(str(j + 1))

gerar_combinacoes_bip39()

Validação com segurança

A biblioteca mnemonic, mantida pela Trezor no GitHub, oferece suporte nativo para validar frases completas segundo as regras do BIP39. Isso é crucial para evitar que frases inválidas sejam usadas em ambientes críticos.

Limitações e performance

Como o número de combinações possíveis de 7 palavras entre 24 é extremamente grande (acima de 4 milhões), esse script é apenas uma demonstração educacional. Para grandes volumes, é recomendável usar otimizações como multiprocessing ou computação distribuída.

Importante!

Este conteúdo é técnico e educativo. Não utilize este script para tentar recuperar carteiras ou acessar chaves privadas sem autorização. O uso indevido de ferramentas criptográficas pode violar termos legais e éticos.

Exemplo de frase válida

Uma frase BIP39 válida pode ser algo como:

abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon length bulb cage adult pilot limb detail lunar gun custom erupt

Note que a frase acima não é segura para uso real e foi gerada apenas como exemplo ilustrativo.

Marcadores: Airdrop Blogger Cripto IA Jogos Python Script Sistemas Tutorial

© junho 30, 2025 CanalQb — Python, Scripts, Automação, Airdrops e Criptomoedas | Web3 e Tech na Prática

Comentários