bruteforce-wallet(1)

NAME
bruteforce-wallet - try to find the password of an encrypted wallet file

SYNOPSIS
bruteforce-wallet [options] <filename>

DESCRIPTION
bruteforce-wallet try to find the password of an encrypted Peercoin (or Bitcoin, Litecoin, etc...) wallet file. It can be used in two ways:

    •   Try all possible passwords given a charset.

    •   Try all passwords in a file (dictionary).

bruteforce-wallet have the following features:

    •   You can specify the number of threads to use when cracking a file.

    •   Sending a USR1 signal to a running bruteforce-wallet process makes it print progress and continue.

    •   There are an exhaustive mode and a dictionary mode.

In the exhaustive mode the program tries to decrypt one of the encrypted addresses in the wallet by trying all the possible passwords. It is especially useful if you know something about the password (i.e. you forgot a part of your password but still remember most of it). Finding the password of a wallet without knowing anything about it would take way too much time (unless the password is really short and/or weak). There are some command line options to specify:

    •   The minimum password length to try.

    •   The maximum password length to try.

    •   The beginning of the password.

    •   The end of the password.

    •   The character set to use (among the characters of the current locale).

In dictionary mode the program tries to decrypt one of the encrypted addresses in the wallet by trying all the passwords contained in a file. The file must have one password per line.

OPTIONS

-b <string>
    Beginning of the password. The default value is "".

-e <string>
    End of the password. Default: "".

-f <file>
    Read the passwords from a file instead of generating them.

-h  Show help and quit.

-l <length>
    Minimum password length (beginning and end included). Default: 1.

-m <length>
    Maximum password length (beginning and end included). Default: 8.

-s <string>
    Password character set. Default value is "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"

-t <n>
    Number of threads to use. Default: 1.

-v <n>
    Print progress info every n seconds.

-w <file>
    Restore the state of a previous session if the file exists, then write the state to the file regularly (~ every minute).

Note: Sending a USR1 signal to a running bruteforce-wallet process makes it print progress info to standard error and continue.

LIMITATIONS
The program currently only works on unix-like POSIX systems (e.g. GNU/Linux). Different versions of BerkeleyDB are usually not compatible with each other. Therefore, for the program to work, you will have to check that the BerkeleyDB version you are using can read the databases created by the BerkeleyDB version your wallet was created with.

EXAMPLES
Try to find the password of an encrypted wallet file using 4 threads, trying only passwords with 5 characters:

    $ bruteforce-wallet -t 4 -l 5 -m 5 wallet.dat
Try to find the password of an encrypted wallet file using 8 threads, trying only passwords with 5 to 10 characters beginning with "W4l" and ending with "z":

    $ bruteforce-wallet -t 8 -l 5 -m 10 -b "W4l" -e "z" wallet.dat
Try to find the password of an encrypted wallet file using 8 threads, trying only passwords with 10 characters using the character set "P情8ŭ":

    $ bruteforce-wallet -t 8 -l 10 -m 10 -s "P情8ŭ" wallet.dat
Try to find the password of an encrypted wallet file using 6 threads, trying the passwords contained in a dictionary file:

    $ bruteforce-wallet -t 6 -f dictionary.txt wallet.dat
Print progress info:

    $ pkill -USR1 -f bruteforce-wallet
Print progress info every 30 seconds:

    $ bruteforce-wallet -t 6 -f dictionary.txt -v 30 wallet.dat
Save/restore state between sessions:

    $ bruteforce-wallet -t 6 -f dictionary.txt -w state.txt wallet.dat
    (Let the program run for a few minutes and stop it)
    $ bruteforce-wallet -t 6 -w state.txt wallet.dat

AUTHORS
bruteforce-wallet was written by Guillaume LE VAILLANT.

This manpage was written by Francisco Vilmar Cardoso Ruviaro.