Skip to content
No description, website, or topics provided.
Python Shell
Branch: master
Clone or download
Pull request Compare This branch is 71 commits ahead, 1 commit behind ethereum:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test_wallets Add some test wallets & rudimentary test script. Oct 7, 2017
.gitignore
CONTRIBUTORS.md
README.md
aes.py
password_spec.txt
pbkdf2.py
pyethrecover.py
pyethsaletool.py Fix test.py Aug 12, 2017
python_sha3.py
recover_tools.py Isolate pbkdf2 inside getseed Sep 5, 2016
requirements.txt
test.py Fix test.py Aug 12, 2017
test_wallets.sh
testing.py
utils.py
utils_py2.py Add Python 3 compatibility. Aug 7, 2015
utils_py3.py

README.md

pyethrecover

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. Its dependencies can be found in requirements.txt.

Installing all the dependencies at once can be accomplished with

pip install -r requirements.txt

Summary

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)

Example 1

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

Example 2

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; 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 password_spec.txt for more details

You can’t perform that action at this time.