Created
May 17, 2020 09:08
-
-
Save judavi/0cce23055b6537737fe57f7a7271c83a to your computer and use it in GitHub Desktop.
BTC seed guesser
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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