Skip to content

Instantly share code, notes, and snippets.

@judavi
Created May 17, 2020 09:08
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save judavi/0cce23055b6537737fe57f7a7271c83a to your computer and use it in GitHub Desktop.
Save judavi/0cce23055b6537737fe57f7a7271c83a to your computer and use it in GitHub Desktop.
BTC seed guesser
from bitcoinlib.wallets import HDWallet
from bitcoinlib.wallets import HDWalletKey
from bitcoinlib.wallets import HDKey
from bitcoinlib.mnemonic import Mnemonic
# 11 word seed
seed = "please help hard puzzle will become crazy valid seed must sleep"
# here be gold
gold = "bc1qj7467e7r5pdfpypm03wyvguupdrld0ul2gcutg"
seedscount = 0
validseedscount = 0
# brute force last word
for lastword in Mnemonic().wordlist():
seedscount += 1
newseed = seed + " " + lastword
try:
key = HDKey.from_seed(Mnemonic().to_seed(newseed, validate=True), encoding='bech32', witness_type='segwit')
validseedscount += 1
subkey = key.subkey_for_path("m/84'/0'/0'/0/0").address()
if subkey == gold:
print("HUZZAH! Seed was: {0}".format(newseed))
quit()
except ValueError as e:
# seed did not pass checksum
pass
print("Tested {0} seeds, {1} valid. But no gold :/".format(seedscount, validseedscount))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment