forked from glv2/bruteforce-wallet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
bruteforce-wallet.1
179 lines (168 loc) · 4.61 KB
/
bruteforce-wallet.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
.\" Text automatically generated by txt2man
.TH bruteforce-wallet 1 "March 2024" "bruteforce-wallet-1.5.4" "try to find the password of an encrypted wallet file"
.SH NAME
\fBbruteforce-wallet \fP- try to find the password of an encrypted wallet file
\fB
.SH SYNOPSIS
.nf
.fam C
\fBbruteforce-wallet\fP [\fIoptions\fP] <filename>
.fam T
.fi
.fam T
.fi
.SH DESCRIPTION
\fBbruteforce-wallet\fP try to find the password of an encrypted Peercoin
(or Bitcoin, Litecoin, etc\.\.\.) wallet file.
It can be used in two ways:
.RS
.IP \(bu 3
Try all possible passwords given a charset.
.IP \(bu 3
Try all passwords in a file (dictionary).
.RE
.PP
\fBbruteforce-wallet\fP have the following features:
.RS
.IP \(bu 3
You can specify the number of threads to use when cracking a file.
.IP \(bu 3
Sending a USR1 signal to a running \fBbruteforce-wallet\fP process
makes it print progress and continue.
.IP \(bu 3
There are an exhaustive mode and a dictionary mode.
.RE
.PP
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 \fIoptions\fP to specify:
.RS
.IP \(bu 3
The minimum password length to try.
.IP \(bu 3
The maximum password length to try.
.IP \(bu 3
The beginning of the password.
.IP \(bu 3
The end of the password.
.IP \(bu 3
The character set to use (among the characters of the current locale).
.RE
.PP
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.
.SH OPTIONS
.TP
.B
\fB-b\fP <string>
Beginning of the password. The default value is "".
.TP
.B
\fB-e\fP <string>
End of the password. Default: "".
.TP
.B
\fB-f\fP <file>
Read the passwords from a file instead of generating them.
.TP
.B
\fB-h\fP
Show help and quit.
.TP
.B
\fB-l\fP <length>
Minimum password length (beginning and end included). Default: 1.
.TP
.B
\fB-m\fP <length>
Maximum password length (beginning and end included). Default: 8.
.TP
.B
\fB-s\fP <string>
Password character set. Default value is "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
.TP
.B
\fB-t\fP <n>
Number of threads to use. Default: 1.
.TP
.B
\fB-v\fP <n>
Print progress info every n seconds.
.TP
.B
\fB-w\fP <file>
Restore the state of a previous session if the file exists,
then write the state to the file regularly (~ every minute).
.PP
Note: Sending a USR1 signal to a running \fBbruteforce-wallet\fP process makes it print
progress info to standard error and continue.
.SH 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.
.SH EXAMPLES
Try to find the password of an encrypted wallet file using 4 threads, trying only
passwords with 5 characters:
.PP
.nf
.fam C
$ bruteforce-wallet -t 4 -l 5 -m 5 wallet.dat
.fam T
.fi
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":
.PP
.nf
.fam C
$ bruteforce-wallet -t 8 -l 5 -m 10 -b "W4l" -e "z" wallet.dat
.fam T
.fi
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ŭ":
.PP
.nf
.fam C
$ bruteforce-wallet -t 8 -l 10 -m 10 -s "P情8ŭ" wallet.dat
.fam T
.fi
Try to find the password of an encrypted wallet file using 6 threads, trying the passwords contained in a dictionary file:
.PP
.nf
.fam C
$ bruteforce-wallet -t 6 -f dictionary.txt wallet.dat
.fam T
.fi
Print progress info:
.PP
.nf
.fam C
$ pkill -USR1 -f bruteforce-wallet
.fam T
.fi
Print progress info every 30 seconds:
.PP
.nf
.fam C
$ bruteforce-wallet -t 6 -f dictionary.txt -v 30 wallet.dat
.fam T
.fi
Save/restore state between sessions:
.PP
.nf
.fam C
$ 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
.fam T
.fi
.SH AUTHORS
\fBbruteforce-wallet\fP was written by Guillaume LE VAILLANT.
.PP
This manpage was written by Francisco Vilmar Cardoso Ruviaro.