1 |
#ifndef CRACK_H |
2 |
#define CRACK_H |
3 |
|
4 |
#define MAX_PW 40 /* should be low, but conservative. */ |
5 |
#define BENCHMARK_LOOPS 5000000 |
6 |
|
7 |
extern u8 pw[MAX_PW+1]; |
8 |
extern u8 *pw_end; |
9 |
|
10 |
/* a gen_func must modify the global variables "pw" and "pw_end" to the next |
11 |
* password to be checked and return the number of characters that have |
12 |
* changed, counting from the end, or zero, to indicate end of cracking. |
13 |
*/ |
14 |
typedef int (*gen_func)(void); |
15 |
|
16 |
/* a callback_func can investigate the passed password. nonzero |
17 |
* return values stop cracking (and the return value will be handed |
18 |
* out to the caller. |
19 |
*/ |
20 |
typedef int (*callback_func)(const char *, const char *); |
21 |
|
22 |
/* brute force. */ |
23 |
extern u8 bf_next[256]; |
24 |
extern u8 bf_last; |
25 |
|
26 |
extern int verbosity; |
27 |
extern int use_unzip; |
28 |
|
29 |
#define FILE_SIZE 12 |
30 |
#define CRC_SIZE 2 |
31 |
#define HEADER_SIZE (FILE_SIZE+CRC_SIZE) |
32 |
|
33 |
#define MAX_FILES 8 |
34 |
|
35 |
extern u8 files[MAX_FILES*HEADER_SIZE]; |
36 |
extern const char *file_path[MAX_FILES]; |
37 |
extern int file_count; |
38 |
|
39 |
typedef struct { |
40 |
char *desc; |
41 |
void (*init_crack_pw)(void); |
42 |
int (*crack_pw)(gen_func, callback_func); |
43 |
void (*load_file)(const char *); |
44 |
} method; |
45 |
|
46 |
extern method methods[]; |
47 |
extern int default_method; |
48 |
|
49 |
#endif |