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.
