-
Notifications
You must be signed in to change notification settings - Fork 717
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Recovering Bip 39 passphrase? #46
Comments
I realize it's been a while, but I've recently been working on this, and it should be completed within the next couple of days. Do you know what BIP-32 path your wallet uses (or do you recall which wallet software you were using)? Can your wallet software create more than one address, and if so, is the address you have the first address in your wallet, or an address created later? |
Nice one. I am still looking for my passphrase by the way... I created the wallet on a Ledger Nano S. Actually, to be precise, I created the Mnemonic on the Ledger itself which created a first wallet and Ether address. But then I used a python script provided by Ledger to add a passphrase to the Mnemonic. They discuss the script here: https://medium.com/@Ledger/a-short-guide-to-nano-s-firmware-1-2-features-16b1a8fa9087 This script creates a new, passphrase protected wallet, which can also have multiple addresses. The address that I need to access was the first one created by the script above. So I believe the address will be at the first path. Ledger recommend this tool for recovery https://iancoleman.github.io/bip39/. Ledger said that it is likely that the address will be at the first BIP44 path. Ie it will be at: m/44'/0'/0'/0/0. But it could also potentially be at one of the later paths. I don't know if it's possible that it could be on one of the BIP32 paths like m/0/0 ?? Look forward to seeing what you come up with - thanks! |
Did Ledger tell you I haven't looked at their code, but from what I could find, the Ledger uses the (somewhat non-standard) path Also, a second question, do you have a Ledger Nano that you can test with? |
Yes, in the last email I got from them they said: "To find your address ethereum you have to use the BIP32 with the derivation path 44'/60'/0' and this is the first address. Please join the slack dev to get more information on your questions : http://slack.ledger.co/" Yes I do have a Ledger Nano S, I can use it for testing. |
I just uploaded a not-well-tested version which might do what you're looking for. There are no docs yet, so here's what you need if you'd like to give it a test.
Next, use the Ledger to create a temporary passphrase-protected wallet, and get its address. Place the passphrase into a
(FYI you can add multiple addresses after the If this works, you should head over to the Tutorial to learn how to use btcrecover (skipping the Installation), just be sure to remember to add all of the options starting with Please let me know how it goes, and good luck! |
Ok that sounds great, thanks for the notes. |
Hey, congratulations <name redacted>, happy to hear that. Maybe you could also transfer 5% to me because I made the feature request above?! :) |
<name redacted> That's great, I'm glad you got your ETH back! (and that you managed your way through the long-winded docs...!) And of course, thank you so much for your very generous contribution!! |
I have successfully tested it using Windows 10. I ran the test by creating a new wallet using this tool which is recommended by Ledger: https://iancoleman.github.io/bip39/ I have previously confirmed that Iancoleman's code converter tool is compatible with real wallets generated by my Ledger Nano S. Having read the documentation, btcrecover seems like a great, fully featured program. I am looking forward to running it on my real wallet that contains the funds. If successful I will definitely make a donation to help support this project. Thanks for creating this functionality. |
Thanks for testing it out with the Ledger! I uploaded a new version about a week ago which replaces the Armory ECC library with coincurve; this results in roughly doubling the passphrase-per-second rate. If you have a version older than a week old, you should grab the most recent version and follow the updated install instructions before you get started for "real". You can also remove Armory. Good luck! |
Are there any other options for --mnemonic-prompt? Can you put the mnemonic into a text file or into the command at all? |
There's no command-line option which accepts the mnemonic, this is intentional. If there were, the mnemonic would be easily viewable when running There are several ways to "trick" it though. You could store the mnemonic in a file, and do this: cat /tmp/mnemonic.txt | python btcrecover.py --mnemonic-prompt ... (note that files in /tmp/ don't persist across reboots) or this to immediately delete the file after using it: (cat /tmp/mnemonic.txt && rm /tmp/mnemonic.txt) | python btcrecover.py --mnemonic-prompt ... or this to do it without a file, temporarily disabling the command history: set +o history
echo these are the mnemonic words | python btcrecover.py --mnemonic-prompt ...
set -o history (All this assumes Linux or OS X and the bash command shell (the default for OS X).) |
Just an FYI if you're still using this... the version of seedrecover I uploaded about 3 weeks ago (0.7.1) had a fairly significant bug in it. If you used it and failed to find a seed, I'd suggest upgrading to 0.7.2 and trying again. Sorry about that... |
This command line worked amazingly well!!!
Would be super import the sample into the docs for others to use!! |
Hello,
I know my BIP39 24 word Mnemonic and I know the public key / address that I need to access. It's an Ethereum address.
I need to find out the BIP39 passphrase.
Can I use btcrecover to search through passphrase variations?
Thanks
The text was updated successfully, but these errors were encountered: