This is a tool for those of you who've somehow lost your Ethereum wallet password.
It's essentially a stripped-down version of pyethsaletool. In addition you can have passwords be read from a newline-delimited file, and/or provide a specification
to be used to generate passwords. The multiprocessing library joblib
is used to test out passwords using
all the cores on your machine.
This tool is compatible with both Python 2 and Python 3. It depends on the following libraries
joblib
bitcoin
Usage: pyethrecover.py [options]
Options:
-h, --help show this help message and exit
-p PW, --password=PW A single password to try against the wallet.
-f PWFILE, --passwords-file=PWFILE
A file containing a newline-delimited list of
passwords to try. (default: none)
-s PWSFILE, --password-spec-file=PWSFILE
A file containing a password specification
-w WALLET, --wallet=WALLET
The wallet against which to try the passwords.
(default: wallet.json)
Let's say you have a wallet file named ethereum-wallet.json
protected by the password correct horse battery staple
. You enter your guesses into a file named passwords.txt
, like so:
shelly sells seashells down by the seashore
It was the best time of times, it was the worst of times...
Password1
correct horse battery staple
mean mr mustard sleeps in the park
If you run the utility like so...
python pyethrecover.py -w ethereum-wallet.json -f passwords.txt
...you should get back something like this:
shelly sells seashells down by the seashore
It was the best time of times, it was the worst of times...
Password1
correct horse battery staple
Your seed is:
abc123abc123...
Your password is:
correct horse battery staple
Let's say you have a wallet file named ethereum-wallet.json
and you remember that you password is a greeting in some
language followed by the name of an american president.
Say you're not sure if the president is addressed with a title,
but if he is you're certain it's either "president" or "mister".
You would create a file password_spec.txt
like so ...
[
('hello', 'bonjour', 'hola'),
('', 'mister', 'president'),
('smith', 'jefferson')
]
and call it like so...
./pyethrecover.py -w ethereum-wallet.json -s password_spec.txt
Check out the comments in the password_spec.txt
file for more details