Prepare move potfile specific functions into their own source file
This commit is contained in:
+2
-2
@@ -178,6 +178,8 @@ typedef struct
|
||||
|
||||
hashconfig_t *hashconfig;
|
||||
|
||||
potfile_ctx_t *potfile_ctx;
|
||||
|
||||
#if defined (HAVE_HWMON)
|
||||
uint gpu_temp_disable;
|
||||
uint gpu_temp_abort;
|
||||
@@ -189,8 +191,6 @@ typedef struct
|
||||
uint rp_gen;
|
||||
uint rp_gen_seed;
|
||||
|
||||
FILE *pot_fp;
|
||||
|
||||
/**
|
||||
* used for restore
|
||||
*/
|
||||
|
||||
@@ -8,6 +8,21 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
typedef enum hlfmt_name
|
||||
{
|
||||
HLFMT_HASHCAT = 0,
|
||||
HLFMT_PWDUMP = 1,
|
||||
HLFMT_PASSWD = 2,
|
||||
HLFMT_SHADOW = 3,
|
||||
HLFMT_DCC = 4,
|
||||
HLFMT_DCC2 = 5,
|
||||
HLFMT_NETNTLM1 = 7,
|
||||
HLFMT_NETNTLM2 = 8,
|
||||
HLFMT_NSLDAP = 9,
|
||||
HLFMT_NSLDAPS = 10
|
||||
|
||||
} hlfmt_name_t;
|
||||
|
||||
char *strhlfmt (const uint hashfile_format);
|
||||
|
||||
void hlfmt_hash (uint hashfile_format, char *line_buf, int line_len, char **hashbuf_pos, int *hashbuf_len, hashconfig_t *hashconfig);
|
||||
|
||||
@@ -40,6 +40,103 @@ struct _hashconfig
|
||||
|
||||
typedef struct _hashconfig hashconfig_t;
|
||||
|
||||
/**
|
||||
* option types
|
||||
*/
|
||||
|
||||
typedef enum salt_type
|
||||
{
|
||||
SALT_TYPE_NONE = 1,
|
||||
SALT_TYPE_EMBEDDED = 2,
|
||||
SALT_TYPE_INTERN = 3,
|
||||
SALT_TYPE_EXTERN = 4,
|
||||
SALT_TYPE_VIRTUAL = 5
|
||||
|
||||
} salt_type_t;
|
||||
|
||||
typedef enum opti_type
|
||||
{
|
||||
OPTI_TYPE_ZERO_BYTE = (1 << 1),
|
||||
OPTI_TYPE_PRECOMPUTE_INIT = (1 << 2),
|
||||
OPTI_TYPE_PRECOMPUTE_MERKLE = (1 << 3),
|
||||
OPTI_TYPE_PRECOMPUTE_PERMUT = (1 << 4),
|
||||
OPTI_TYPE_MEET_IN_MIDDLE = (1 << 5),
|
||||
OPTI_TYPE_EARLY_SKIP = (1 << 6),
|
||||
OPTI_TYPE_NOT_SALTED = (1 << 7),
|
||||
OPTI_TYPE_NOT_ITERATED = (1 << 8),
|
||||
OPTI_TYPE_PREPENDED_SALT = (1 << 9),
|
||||
OPTI_TYPE_APPENDED_SALT = (1 << 10),
|
||||
OPTI_TYPE_SINGLE_HASH = (1 << 11),
|
||||
OPTI_TYPE_SINGLE_SALT = (1 << 12),
|
||||
OPTI_TYPE_BRUTE_FORCE = (1 << 13),
|
||||
OPTI_TYPE_RAW_HASH = (1 << 14),
|
||||
OPTI_TYPE_SLOW_HASH_SIMD = (1 << 15),
|
||||
OPTI_TYPE_USES_BITS_8 = (1 << 16),
|
||||
OPTI_TYPE_USES_BITS_16 = (1 << 17),
|
||||
OPTI_TYPE_USES_BITS_32 = (1 << 18),
|
||||
OPTI_TYPE_USES_BITS_64 = (1 << 19)
|
||||
|
||||
} opti_type_t;
|
||||
|
||||
typedef enum opts_type
|
||||
{
|
||||
OPTS_TYPE_PT_UNICODE = (1 << 0),
|
||||
OPTS_TYPE_PT_UPPER = (1 << 1),
|
||||
OPTS_TYPE_PT_LOWER = (1 << 2),
|
||||
OPTS_TYPE_PT_ADD01 = (1 << 3),
|
||||
OPTS_TYPE_PT_ADD02 = (1 << 4),
|
||||
OPTS_TYPE_PT_ADD80 = (1 << 5),
|
||||
OPTS_TYPE_PT_ADDBITS14 = (1 << 6),
|
||||
OPTS_TYPE_PT_ADDBITS15 = (1 << 7),
|
||||
OPTS_TYPE_PT_GENERATE_LE = (1 << 8),
|
||||
OPTS_TYPE_PT_GENERATE_BE = (1 << 9),
|
||||
OPTS_TYPE_PT_NEVERCRACK = (1 << 10), // if we want all possible results
|
||||
OPTS_TYPE_PT_BITSLICE = (1 << 11),
|
||||
OPTS_TYPE_ST_UNICODE = (1 << 12),
|
||||
OPTS_TYPE_ST_UPPER = (1 << 13),
|
||||
OPTS_TYPE_ST_LOWER = (1 << 14),
|
||||
OPTS_TYPE_ST_ADD01 = (1 << 15),
|
||||
OPTS_TYPE_ST_ADD02 = (1 << 16),
|
||||
OPTS_TYPE_ST_ADD80 = (1 << 17),
|
||||
OPTS_TYPE_ST_ADDBITS14 = (1 << 18),
|
||||
OPTS_TYPE_ST_ADDBITS15 = (1 << 19),
|
||||
OPTS_TYPE_ST_GENERATE_LE = (1 << 20),
|
||||
OPTS_TYPE_ST_GENERATE_BE = (1 << 21),
|
||||
OPTS_TYPE_ST_HEX = (1 << 22),
|
||||
OPTS_TYPE_ST_BASE64 = (1 << 23),
|
||||
OPTS_TYPE_HASH_COPY = (1 << 24),
|
||||
OPTS_TYPE_HOOK12 = (1 << 25),
|
||||
OPTS_TYPE_HOOK23 = (1 << 26)
|
||||
|
||||
} opts_type_t;
|
||||
|
||||
typedef enum dgst_size
|
||||
{
|
||||
DGST_SIZE_4_2 = (2 * sizeof (uint)), // 8
|
||||
DGST_SIZE_4_4 = (4 * sizeof (uint)), // 16
|
||||
DGST_SIZE_4_5 = (5 * sizeof (uint)), // 20
|
||||
DGST_SIZE_4_6 = (6 * sizeof (uint)), // 24
|
||||
DGST_SIZE_4_8 = (8 * sizeof (uint)), // 32
|
||||
DGST_SIZE_4_16 = (16 * sizeof (uint)), // 64 !!!
|
||||
DGST_SIZE_4_32 = (32 * sizeof (uint)), // 128 !!!
|
||||
DGST_SIZE_4_64 = (64 * sizeof (uint)), // 256
|
||||
DGST_SIZE_8_8 = (8 * sizeof (u64)), // 64 !!!
|
||||
DGST_SIZE_8_16 = (16 * sizeof (u64)), // 128 !!!
|
||||
DGST_SIZE_8_25 = (25 * sizeof (u64)) // 200
|
||||
|
||||
} dgst_size_t;
|
||||
|
||||
typedef enum attack_exec
|
||||
{
|
||||
ATTACK_EXEC_OUTSIDE_KERNEL = 10,
|
||||
ATTACK_EXEC_INSIDE_KERNEL = 11
|
||||
|
||||
} attack_exec_t;
|
||||
|
||||
/**
|
||||
* algo specific
|
||||
*/
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint iv[4];
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
/**
|
||||
* Authors.....: Jens Steube <jens.steube@gmail.com>
|
||||
* License.....: MIT
|
||||
*/
|
||||
|
||||
#ifndef _POTFILE_H
|
||||
#define _POTFILE_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char plain_buf[HCBUFSIZ_TINY];
|
||||
int plain_len;
|
||||
|
||||
hash_t hash;
|
||||
|
||||
} pot_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
FILE *fp;
|
||||
|
||||
char *filename;
|
||||
|
||||
} potfile_ctx_t;
|
||||
|
||||
void potfile_init (potfile_ctx_t *potfile_ctx, const char *profile_dir, const char *potfile_path);
|
||||
int potfile_read_open (potfile_ctx_t *potfile_ctx);
|
||||
void potfile_read_close (potfile_ctx_t *potfile_ctx);
|
||||
int potfile_write_open (potfile_ctx_t *potfile_ctx);
|
||||
void potfile_write_close (potfile_ctx_t *potfile_ctx);
|
||||
void potfile_destroy (potfile_ctx_t *potfile_ctx);
|
||||
|
||||
#endif // _POTFILE_H
|
||||
-125
@@ -36,20 +36,7 @@ typedef enum hl_mode
|
||||
|
||||
#define HLFMTS_CNT 11
|
||||
|
||||
typedef enum hlfmt_name
|
||||
{
|
||||
HLFMT_HASHCAT = 0,
|
||||
HLFMT_PWDUMP = 1,
|
||||
HLFMT_PASSWD = 2,
|
||||
HLFMT_SHADOW = 3,
|
||||
HLFMT_DCC = 4,
|
||||
HLFMT_DCC2 = 5,
|
||||
HLFMT_NETNTLM1 = 7,
|
||||
HLFMT_NETNTLM2 = 8,
|
||||
HLFMT_NSLDAP = 9,
|
||||
HLFMT_NSLDAPS = 10
|
||||
|
||||
} hlfmt_name_t;
|
||||
|
||||
typedef enum attack_mode
|
||||
{
|
||||
@@ -74,13 +61,6 @@ typedef enum attack_kern
|
||||
|
||||
} attack_kern_t;
|
||||
|
||||
typedef enum attack_exec
|
||||
{
|
||||
ATTACK_EXEC_OUTSIDE_KERNEL = 10,
|
||||
ATTACK_EXEC_INSIDE_KERNEL = 11
|
||||
|
||||
} attack_exec_t;
|
||||
|
||||
typedef enum combinator_mode
|
||||
{
|
||||
COMBINATOR_MODE_BASE_LEFT = 10001,
|
||||
@@ -115,104 +95,6 @@ typedef enum outfile_fmt
|
||||
|
||||
} outfile_fmt_t;
|
||||
|
||||
/**
|
||||
* salt types
|
||||
*/
|
||||
|
||||
typedef enum salt_type
|
||||
{
|
||||
SALT_TYPE_NONE = 1,
|
||||
SALT_TYPE_EMBEDDED = 2,
|
||||
SALT_TYPE_INTERN = 3,
|
||||
SALT_TYPE_EXTERN = 4,
|
||||
SALT_TYPE_VIRTUAL = 5
|
||||
|
||||
} salt_type_t;
|
||||
|
||||
/**
|
||||
* optimizer options
|
||||
*/
|
||||
|
||||
typedef enum opti_type
|
||||
{
|
||||
OPTI_TYPE_ZERO_BYTE = (1 << 1),
|
||||
OPTI_TYPE_PRECOMPUTE_INIT = (1 << 2),
|
||||
OPTI_TYPE_PRECOMPUTE_MERKLE = (1 << 3),
|
||||
OPTI_TYPE_PRECOMPUTE_PERMUT = (1 << 4),
|
||||
OPTI_TYPE_MEET_IN_MIDDLE = (1 << 5),
|
||||
OPTI_TYPE_EARLY_SKIP = (1 << 6),
|
||||
OPTI_TYPE_NOT_SALTED = (1 << 7),
|
||||
OPTI_TYPE_NOT_ITERATED = (1 << 8),
|
||||
OPTI_TYPE_PREPENDED_SALT = (1 << 9),
|
||||
OPTI_TYPE_APPENDED_SALT = (1 << 10),
|
||||
OPTI_TYPE_SINGLE_HASH = (1 << 11),
|
||||
OPTI_TYPE_SINGLE_SALT = (1 << 12),
|
||||
OPTI_TYPE_BRUTE_FORCE = (1 << 13),
|
||||
OPTI_TYPE_RAW_HASH = (1 << 14),
|
||||
OPTI_TYPE_SLOW_HASH_SIMD = (1 << 15),
|
||||
OPTI_TYPE_USES_BITS_8 = (1 << 16),
|
||||
OPTI_TYPE_USES_BITS_16 = (1 << 17),
|
||||
OPTI_TYPE_USES_BITS_32 = (1 << 18),
|
||||
OPTI_TYPE_USES_BITS_64 = (1 << 19)
|
||||
|
||||
} opti_type_t;
|
||||
|
||||
/**
|
||||
* hash options
|
||||
*/
|
||||
|
||||
typedef enum opts_type
|
||||
{
|
||||
OPTS_TYPE_PT_UNICODE = (1 << 0),
|
||||
OPTS_TYPE_PT_UPPER = (1 << 1),
|
||||
OPTS_TYPE_PT_LOWER = (1 << 2),
|
||||
OPTS_TYPE_PT_ADD01 = (1 << 3),
|
||||
OPTS_TYPE_PT_ADD02 = (1 << 4),
|
||||
OPTS_TYPE_PT_ADD80 = (1 << 5),
|
||||
OPTS_TYPE_PT_ADDBITS14 = (1 << 6),
|
||||
OPTS_TYPE_PT_ADDBITS15 = (1 << 7),
|
||||
OPTS_TYPE_PT_GENERATE_LE = (1 << 8),
|
||||
OPTS_TYPE_PT_GENERATE_BE = (1 << 9),
|
||||
OPTS_TYPE_PT_NEVERCRACK = (1 << 10), // if we want all possible results
|
||||
OPTS_TYPE_PT_BITSLICE = (1 << 11),
|
||||
OPTS_TYPE_ST_UNICODE = (1 << 12),
|
||||
OPTS_TYPE_ST_UPPER = (1 << 13),
|
||||
OPTS_TYPE_ST_LOWER = (1 << 14),
|
||||
OPTS_TYPE_ST_ADD01 = (1 << 15),
|
||||
OPTS_TYPE_ST_ADD02 = (1 << 16),
|
||||
OPTS_TYPE_ST_ADD80 = (1 << 17),
|
||||
OPTS_TYPE_ST_ADDBITS14 = (1 << 18),
|
||||
OPTS_TYPE_ST_ADDBITS15 = (1 << 19),
|
||||
OPTS_TYPE_ST_GENERATE_LE = (1 << 20),
|
||||
OPTS_TYPE_ST_GENERATE_BE = (1 << 21),
|
||||
OPTS_TYPE_ST_HEX = (1 << 22),
|
||||
OPTS_TYPE_ST_BASE64 = (1 << 23),
|
||||
OPTS_TYPE_HASH_COPY = (1 << 24),
|
||||
OPTS_TYPE_HOOK12 = (1 << 25),
|
||||
OPTS_TYPE_HOOK23 = (1 << 26)
|
||||
|
||||
} opts_type_t;
|
||||
|
||||
/**
|
||||
* digests
|
||||
*/
|
||||
|
||||
typedef enum dgst_size
|
||||
{
|
||||
DGST_SIZE_4_2 = (2 * sizeof (uint)), // 8
|
||||
DGST_SIZE_4_4 = (4 * sizeof (uint)), // 16
|
||||
DGST_SIZE_4_5 = (5 * sizeof (uint)), // 20
|
||||
DGST_SIZE_4_6 = (6 * sizeof (uint)), // 24
|
||||
DGST_SIZE_4_8 = (8 * sizeof (uint)), // 32
|
||||
DGST_SIZE_4_16 = (16 * sizeof (uint)), // 64 !!!
|
||||
DGST_SIZE_4_32 = (32 * sizeof (uint)), // 128 !!!
|
||||
DGST_SIZE_4_64 = (64 * sizeof (uint)), // 256
|
||||
DGST_SIZE_8_8 = (8 * sizeof (u64)), // 64 !!!
|
||||
DGST_SIZE_8_16 = (16 * sizeof (u64)), // 128 !!!
|
||||
DGST_SIZE_8_25 = (25 * sizeof (u64)) // 200
|
||||
|
||||
} dgst_size_t;
|
||||
|
||||
/**
|
||||
* status
|
||||
*/
|
||||
@@ -266,14 +148,7 @@ typedef struct
|
||||
|
||||
} hash_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char plain_buf[256];
|
||||
int plain_len;
|
||||
|
||||
hash_t hash;
|
||||
|
||||
} pot_t;
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user