Skip to content

Commit

Permalink
Documentation tweaks for blockchain legacy recovery mnemonics
Browse files Browse the repository at this point in the history
  • Loading branch information
3rdIteration committed Jun 17, 2024
1 parent c80cc91 commit dbc177d
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 6 deletions.
9 changes: 5 additions & 4 deletions btcrecover/btcrseed.py
Original file line number Diff line number Diff line change
Expand Up @@ -762,8 +762,8 @@ def config_mnemonic(cls, mnemonic_guess = None, closematch_cutoff = 0.65, expect
if not mnemonic_guess:
init_gui()
if tk_root:
mnemonic_guess = tk.simpledialog.askstring("BitcoinPassword seed",
"Please enter your best guess for your BitcoinPassword seed:")
mnemonic_guess = tk.simpledialog.askstring("Blockchain Legacy Wallet Recovery Mnemonic",
"Please enter your best guess for your Blockchain Legacy Wallet Recovery Mnemonic:")
else:
print("No mnemonic guess specified... Exiting...")
exit()
Expand All @@ -773,7 +773,7 @@ def config_mnemonic(cls, mnemonic_guess = None, closematch_cutoff = 0.65, expect
if not expected_len:
init_gui()
if tk_root:
expected_len = tk.simpledialog.askinteger("BitcoinPassword number of words",
expected_len = tk.simpledialog.askinteger("Blockchain Legacy Wallet Recovery Mnemonic number of words",
"Please enter your best guess for number of words in your BitcoinPassword seed:")
else:
print("No number of words specified... Exiting...")
Expand Down Expand Up @@ -910,7 +910,7 @@ def _verify_checksum(self, words):
obj = self.decode_v3456_word_list(words[3:], version, checksum)
print('\nPassword found: ' + obj['password'] + '\n')
if obj['guid']:
print('\nAccount found: ' + obj['guid'] + '\n')
print('\nAccount ID found: ' + obj['guid'] + '\n')

return True
except ValueError:
Expand Down Expand Up @@ -3857,6 +3857,7 @@ def main(argv):
# Without a wallet file, we can't automatically determine the wallet type, so prompt the
# user to select a wallet that's been registered with @register_selectable_wallet_class
selectable_wallet_classes.sort(key=lambda x: x[1]) # sort by description

class WalletTypeDialog(tk.simpledialog.Dialog):
def body(self, master):
self.wallet_type = None
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,12 +98,16 @@ YnM6LeP7peG853HnQlaGswlwpwtqXKwa/1rLyeGzvKNl9HpyjnaeTCZDAaC4LbJcVkxaECcAACwXY6w=

You will be prompted to enter the data extract, so paste `YnM6LeP7peG853HnQlaGswlwpwtqXKwa/1rLyeGzvKNl9HpyjnaeTCZDAaC4LbJcVkxaECcAACwXY6w=` from the previous step.

## Example 4 - Recovering the wallet password for a legacy wallet recovery mnemonic
## Example 4 - Recovering the wallet password for a Blockchain Legacy Recovery Mnemonic

**Note:** These are an older type of mnemonic that is not the same as a BIP39 mnemonic. These mnemonics came in various lengths and could be used to recover either the account password, or the account ID and password.

The password will only be the password that was set when the mnemonic was created, if the password was changed after this then this recovery mnemonic is of no use to you... If you still have the wallet.aes.json file, then you can also use the password derived from this process to decrypt/dump the wallet file.

### Run BTCRecover with your suspected seed phrase and length
BTCRecover will try different combinations and use a checksum to identify the correct seed phrase and password

**Command**

`python btcrecover.py --wallet-type blockchainpasswordv3 --mnemonic "carve witch manage yerevan yerevan yerevan yerevan yerevan yerevan yerevan yerevan hardly hamburgers insiders hamburgers ignite infernal" --mnemonic-length 17
`python seedrecover.py --wallet-type blockchainpasswordv3 --mnemonic "carve witch manage yerevan yerevan yerevan yerevan yerevan yerevan yerevan yerevan hardly hamburgers insiders hamburgers ignite infernal" --mnemonic-length 17
`

0 comments on commit dbc177d

Please sign in to comment.