Skip to content

Commit

Permalink
Add dictionary mode.
Browse files Browse the repository at this point in the history
  • Loading branch information
glv2 committed Oct 31, 2015
1 parent 9c4f66c commit ce91722
Show file tree
Hide file tree
Showing 8 changed files with 278 additions and 59 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
aclocal.m4
autom4te.cache/
bruteforce-wallet

This comment has been minimized.

Copy link
@sinayousefi297

sinayousefi297 Aug 10, 2024

bruteforce-wallet -t 6 -f dictionary.txt wallet.dat

/bruteforce-wallet
compile
config.log
config.status
Expand Down
4 changes: 4 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
2015-10-31 Guillaume LE VAILLANT <guillaume.le.vaillant@openmailbox.org>
Version 1.4
Add the possibility to get the passwords from a file.

2015-07-16 Guillaume LE VAILLANT <guillaume.le.vaillant@openmailbox.org>
Version 1.3
Support all the characters of the current locale (e.g. utf-8).
Expand Down
3 changes: 3 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
Version 1.4
2015-10-31

Version 1.3
2015-07-16

Expand Down
28 changes: 25 additions & 3 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,19 @@
The purpose of this program is to try to find the password of an encrypted
Peercoin (or Bitcoin, Litecoin, etc...) wallet file (i.e. wallet.dat).

It can be used in two ways:

- try all the possible passwords given a charset
- try all the passwords in a file

There is a command line option to specify the number of threads to use.

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


## 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
Expand All @@ -17,10 +30,13 @@ There are command line options to specify:
- the beginning of the password
- the end of the password
- the character set to use (among the characters of the current locale)
- the number of threads to use

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

## 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.


## Dependencies
Expand Down Expand Up @@ -58,6 +74,12 @@ 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
Expand Down
5 changes: 3 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
AC_INIT(bruteforce_wallet, 1.3)
AC_INIT(bruteforce_wallet, 1.4)
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR(src/bruteforce-wallet.c)

Expand All @@ -10,8 +10,9 @@ dnl Check for standard headers
AC_CHECK_HEADERS([math.h locale.h signal.h stdio.h stdlib.h string.h unistd.h wchar.h])

dnl Check for functions
AC_CHECK_FUNCS([calloc malloc free])
AC_CHECK_FUNCS([calloc malloc realloc free])
AC_CHECK_FUNCS([perror printf fprintf])
AC_CHECK_FUNCS([fopen fgetc])
AC_CHECK_FUNCS([atoi])
AC_CHECK_FUNCS([memcmp memset])
AC_CHECK_FUNCS([setlocale mbstowcs wcsncpy wcstombs])
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Copyright 2014-2015 Guillaume LE VAILLANT
# Distributed under the terms of the GNU General Public License v3

EAPI="5"

inherit eutils autotools

DESCRIPTION="A bruteforce cracker for Peercoin (and Bitcoin, Litecoin, etc...) encrypted wallet files."
HOMEPAGE="https://github.com/glv2/${PN}"
SRC_URI="https://github.com/glv2/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"

LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"

DEPEND="
dev-libs/openssl
sys-libs/db
"
RDEPEND="${DEPEND}"

src_prepare() {
eautoreconf
}

src_configure() {
econf
}

src_install() {
dobin "${PN}"
dodoc AUTHORS ChangeLog COPYING NEWS README
}
Loading

0 comments on commit ce91722

Please sign in to comment.