1
mirror of https://github.com/hashcat/hashcat synced 2024-11-28 05:21:38 +01:00

Get rid of hash_mode in wordlist.c

This commit is contained in:
jsteube 2018-12-19 09:51:25 +01:00
parent abbfc3d10b
commit e56c5035aa
3 changed files with 33 additions and 31 deletions

View File

@ -382,36 +382,37 @@ typedef enum opts_type
OPTS_TYPE_PT_NEVERCRACK = (1ULL << 11), // if we want all possible results
OPTS_TYPE_PT_BITSLICE = (1ULL << 12),
OPTS_TYPE_PT_ALWAYS_ASCII = (1ULL << 13),
OPTS_TYPE_ST_UTF16LE = (1ULL << 14),
OPTS_TYPE_ST_UTF16BE = (1ULL << 15),
OPTS_TYPE_ST_UPPER = (1ULL << 16),
OPTS_TYPE_ST_LOWER = (1ULL << 17),
OPTS_TYPE_ST_ADD01 = (1ULL << 18),
OPTS_TYPE_ST_ADD02 = (1ULL << 19),
OPTS_TYPE_ST_ADD80 = (1ULL << 20),
OPTS_TYPE_ST_ADDBITS14 = (1ULL << 21),
OPTS_TYPE_ST_ADDBITS15 = (1ULL << 22),
OPTS_TYPE_ST_GENERATE_LE = (1ULL << 23),
OPTS_TYPE_ST_GENERATE_BE = (1ULL << 24),
OPTS_TYPE_ST_HEX = (1ULL << 25),
OPTS_TYPE_ST_BASE64 = (1ULL << 26),
OPTS_TYPE_ST_HASH_MD5 = (1ULL << 27),
OPTS_TYPE_HASH_COPY = (1ULL << 28),
OPTS_TYPE_HASH_SPLIT = (1ULL << 29),
OPTS_TYPE_HOOK12 = (1ULL << 30),
OPTS_TYPE_HOOK23 = (1ULL << 31),
OPTS_TYPE_INIT2 = (1ULL << 32),
OPTS_TYPE_LOOP2 = (1ULL << 33),
OPTS_TYPE_AUX1 = (1ULL << 34),
OPTS_TYPE_AUX2 = (1ULL << 35),
OPTS_TYPE_AUX3 = (1ULL << 36),
OPTS_TYPE_AUX4 = (1ULL << 37),
OPTS_TYPE_BINARY_HASHFILE = (1ULL << 38),
OPTS_TYPE_PREFERED_THREAD = (1ULL << 39), // some algorithms (complicated ones with many branches) benefit from this
OPTS_TYPE_PT_ADD06 = (1ULL << 40),
OPTS_TYPE_KEYBOARD_MAPPING = (1ULL << 41),
OPTS_TYPE_STATE_BUFFER_LE = (1ULL << 42),
OPTS_TYPE_STATE_BUFFER_BE = (1ULL << 43),
OPTS_TYPE_PT_LM = (1ULL << 14), // special handling: all lower, 7 max, ...
OPTS_TYPE_ST_UTF16LE = (1ULL << 15),
OPTS_TYPE_ST_UTF16BE = (1ULL << 16),
OPTS_TYPE_ST_UPPER = (1ULL << 17),
OPTS_TYPE_ST_LOWER = (1ULL << 18),
OPTS_TYPE_ST_ADD01 = (1ULL << 19),
OPTS_TYPE_ST_ADD02 = (1ULL << 20),
OPTS_TYPE_ST_ADD80 = (1ULL << 21),
OPTS_TYPE_ST_ADDBITS14 = (1ULL << 22),
OPTS_TYPE_ST_ADDBITS15 = (1ULL << 23),
OPTS_TYPE_ST_GENERATE_LE = (1ULL << 24),
OPTS_TYPE_ST_GENERATE_BE = (1ULL << 25),
OPTS_TYPE_ST_HEX = (1ULL << 26),
OPTS_TYPE_ST_BASE64 = (1ULL << 27),
OPTS_TYPE_ST_HASH_MD5 = (1ULL << 28),
OPTS_TYPE_HASH_COPY = (1ULL << 29),
OPTS_TYPE_HASH_SPLIT = (1ULL << 30),
OPTS_TYPE_HOOK12 = (1ULL << 31),
OPTS_TYPE_HOOK23 = (1ULL << 32),
OPTS_TYPE_INIT2 = (1ULL << 33),
OPTS_TYPE_LOOP2 = (1ULL << 34),
OPTS_TYPE_AUX1 = (1ULL << 35),
OPTS_TYPE_AUX2 = (1ULL << 36),
OPTS_TYPE_AUX3 = (1ULL << 37),
OPTS_TYPE_AUX4 = (1ULL << 38),
OPTS_TYPE_BINARY_HASHFILE = (1ULL << 39),
OPTS_TYPE_PREFERED_THREAD = (1ULL << 40), // some algorithms (complicated ones with many branches) benefit from this
OPTS_TYPE_PT_ADD06 = (1ULL << 41),
OPTS_TYPE_KEYBOARD_MAPPING = (1ULL << 42),
OPTS_TYPE_STATE_BUFFER_LE = (1ULL << 43),
OPTS_TYPE_STATE_BUFFER_BE = (1ULL << 44),
} opts_type_t;

View File

@ -24061,6 +24061,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx)
| OPTS_TYPE_PT_UPPER
| OPTS_TYPE_PT_BITSLICE
| OPTS_TYPE_PT_ALWAYS_ASCII
| OPTS_TYPE_PT_LM
| OPTS_TYPE_HASH_SPLIT;
hashconfig->kern_type = KERN_TYPE_LM;
hashconfig->dgst_size = DGST_SIZE_4_4; // originally DGST_SIZE_4_2

View File

@ -584,7 +584,7 @@ int wl_data_init (hashcat_ctx_t *hashcat_ctx)
wl_data->func = get_next_word_uc;
}
if (hashconfig->hash_mode == 3000) // yes that's fine that way
if (hashconfig->opts_type & OPTS_TYPE_PT_LM)
{
wl_data->func = get_next_word_lm;
}