1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-11-30 03:48:17 +00:00

Get rid of hex_charset variable in data. context

This commit is contained in:
jsteube 2016-09-22 15:26:51 +02:00
parent 3da185a3c8
commit b579542db6
4 changed files with 43 additions and 45 deletions

View File

@ -20,23 +20,23 @@
#define INCR_MASKS 1000 #define INCR_MASKS 1000
void mp_css_to_uniq_tbl (uint css_cnt, cs_t *css, uint uniq_tbls[SP_PW_MAX][CHARSIZ]); void mp_css_to_uniq_tbl (uint css_cnt, cs_t *css, uint uniq_tbls[SP_PW_MAX][CHARSIZ]);
void mp_cut_at (char *mask, uint max); void mp_cut_at (char *mask, uint max);
uint mp_get_length (char *mask); uint mp_get_length (char *mask);
void mp_exec (u64 val, char *buf, cs_t *css, int css_cnt); void mp_exec (u64 val, char *buf, cs_t *css, int css_cnt);
cs_t *mp_gen_css (char *mask_buf, size_t mask_len, cs_t *mp_sys, cs_t *mp_usr, uint *css_cnt, hashconfig_t *hashconfig); cs_t *mp_gen_css (char *mask_buf, size_t mask_len, cs_t *mp_sys, cs_t *mp_usr, uint *css_cnt, hashconfig_t *hashconfig, const user_options_t *user_options);
u64 mp_get_sum (uint css_cnt, cs_t *css); u64 mp_get_sum (uint css_cnt, cs_t *css);
void mp_setup_sys (cs_t *mp_sys); void mp_setup_sys (cs_t *mp_sys);
void mp_setup_usr (cs_t *mp_sys, cs_t *mp_usr, char *buf, uint index, hashconfig_t *hashconfig); void mp_setup_usr (cs_t *mp_sys, cs_t *mp_usr, char *buf, uint index, hashconfig_t *hashconfig, const user_options_t *user_options);
void mp_reset_usr (cs_t *mp_usr, uint index); void mp_reset_usr (cs_t *mp_usr, uint index);
char *mp_get_truncated_mask (char *mask_buf, size_t mask_len, uint len); char *mp_get_truncated_mask (char *mask_buf, size_t mask_len, uint len, const user_options_t *user_options);
u64 sp_get_sum (uint start, uint stop, cs_t *root_css_buf); u64 sp_get_sum (uint start, uint stop, cs_t *root_css_buf);
void sp_exec (u64 ctx, char *pw_buf, cs_t *root_css_buf, cs_t *markov_css_buf, uint start, uint stop); void sp_exec (u64 ctx, char *pw_buf, cs_t *root_css_buf, cs_t *markov_css_buf, uint start, uint stop);
int sp_comp_val (const void *p1, const void *p2); int sp_comp_val (const void *p1, const void *p2);
void sp_setup_tbl (const char *install_dir, char *hcstat, uint disable, uint classic, hcstat_table_t *root_table_buf, hcstat_table_t *markov_table_buf); void sp_setup_tbl (const char *install_dir, char *hcstat, uint disable, uint classic, hcstat_table_t *root_table_buf, hcstat_table_t *markov_table_buf);
void sp_tbl_to_css (hcstat_table_t *root_table_buf, hcstat_table_t *markov_table_buf, cs_t *root_css_buf, cs_t *markov_css_buf, uint threshold, uint uniq_tbls[SP_PW_MAX][CHARSIZ]); void sp_tbl_to_css (hcstat_table_t *root_table_buf, hcstat_table_t *markov_table_buf, cs_t *root_css_buf, cs_t *markov_css_buf, uint threshold, uint uniq_tbls[SP_PW_MAX][CHARSIZ]);
void sp_stretch_markov (hcstat_table_t *in, hcstat_table_t *out); void sp_stretch_markov (hcstat_table_t *in, hcstat_table_t *out);
void sp_stretch_root (hcstat_table_t *in, hcstat_table_t *out); void sp_stretch_root (hcstat_table_t *in, hcstat_table_t *out);
#endif // _MPSP_H #endif // _MPSP_H

View File

@ -970,7 +970,6 @@ typedef struct
u32 attack_kern; u32 attack_kern;
u32 quiet; u32 quiet;
u32 force; u32 force;
u32 hex_charset;
u32 hex_salt; u32 hex_salt;
u32 pw_min; u32 pw_min;
u32 pw_max; u32 pw_max;

View File

@ -272,7 +272,6 @@ int main (int argc, char **argv)
{ {
data.attack_mode = user_options->attack_mode; data.attack_mode = user_options->attack_mode;
data.force = user_options->force; data.force = user_options->force;
data.hex_charset = user_options->hex_charset;
data.hex_salt = user_options->hex_salt; data.hex_salt = user_options->hex_salt;
data.logfile_disable = user_options->logfile_disable; data.logfile_disable = user_options->logfile_disable;
data.quiet = user_options->quiet; data.quiet = user_options->quiet;
@ -868,10 +867,10 @@ int main (int argc, char **argv)
mp_setup_sys (mp_sys); mp_setup_sys (mp_sys);
if (user_options->custom_charset_1) mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_1, 0, hashconfig); if (user_options->custom_charset_1) mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_1, 0, hashconfig, user_options);
if (user_options->custom_charset_2) mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_2, 1, hashconfig); if (user_options->custom_charset_2) mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_2, 1, hashconfig, user_options);
if (user_options->custom_charset_3) mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_3, 2, hashconfig); if (user_options->custom_charset_3) mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_3, 2, hashconfig, user_options);
if (user_options->custom_charset_4) mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_4, 3, hashconfig); if (user_options->custom_charset_4) mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_4, 3, hashconfig, user_options);
/** /**
* Some algorithm, like descrypt, can benefit from JIT compilation * Some algorithm, like descrypt, can benefit from JIT compilation
@ -2156,9 +2155,9 @@ int main (int argc, char **argv)
user_options->custom_charset_2 = (char *) "?l?d"; user_options->custom_charset_2 = (char *) "?l?d";
user_options->custom_charset_3 = (char *) "?l?d*!$@_"; user_options->custom_charset_3 = (char *) "?l?d*!$@_";
mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_1, 0, hashconfig); mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_1, 0, hashconfig, user_options);
mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_2, 1, hashconfig); mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_2, 1, hashconfig, user_options);
mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_3, 2, hashconfig); mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_3, 2, hashconfig, user_options);
maskcnt = 1; maskcnt = 1;
@ -2362,7 +2361,7 @@ int main (int argc, char **argv)
for (uint mask_cur = mask_min; mask_cur <= mask_max; mask_cur++) for (uint mask_cur = mask_min; mask_cur <= mask_max; mask_cur++)
{ {
char *cur_mask = mp_get_truncated_mask (mask, strlen (mask), mask_cur); char *cur_mask = mp_get_truncated_mask (mask, strlen (mask), mask_cur, user_options);
if (cur_mask == NULL) break; if (cur_mask == NULL) break;
@ -2541,7 +2540,7 @@ int main (int argc, char **argv)
for (uint mask_cur = mask_min; mask_cur <= mask_max; mask_cur++) for (uint mask_cur = mask_min; mask_cur <= mask_max; mask_cur++)
{ {
char *cur_mask = mp_get_truncated_mask (mask, strlen (mask), mask_cur); char *cur_mask = mp_get_truncated_mask (mask, strlen (mask), mask_cur, user_options);
if (cur_mask == NULL) break; if (cur_mask == NULL) break;
@ -2726,28 +2725,28 @@ int main (int argc, char **argv)
mp_reset_usr (mp_usr, 0); mp_reset_usr (mp_usr, 0);
user_options->custom_charset_1 = mask; user_options->custom_charset_1 = mask;
mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_1, 0, hashconfig); mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_1, 0, hashconfig, user_options);
break; break;
case 1: case 1:
mp_reset_usr (mp_usr, 1); mp_reset_usr (mp_usr, 1);
user_options->custom_charset_2 = mask; user_options->custom_charset_2 = mask;
mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_2, 1, hashconfig); mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_2, 1, hashconfig, user_options);
break; break;
case 2: case 2:
mp_reset_usr (mp_usr, 2); mp_reset_usr (mp_usr, 2);
user_options->custom_charset_3 = mask; user_options->custom_charset_3 = mask;
mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_3, 2, hashconfig); mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_3, 2, hashconfig, user_options);
break; break;
case 3: case 3:
mp_reset_usr (mp_usr, 3); mp_reset_usr (mp_usr, 3);
user_options->custom_charset_4 = mask; user_options->custom_charset_4 = mask;
mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_4, 3, hashconfig); mp_setup_usr (mp_sys, mp_usr, user_options->custom_charset_4, 3, hashconfig, user_options);
break; break;
} }
@ -2796,7 +2795,7 @@ int main (int argc, char **argv)
local_free (masks[maskpos - 1]); local_free (masks[maskpos - 1]);
} }
css_buf = mp_gen_css (mask, strlen (mask), mp_sys, mp_usr, &css_cnt, hashconfig); css_buf = mp_gen_css (mask, strlen (mask), mp_sys, mp_usr, &css_cnt, hashconfig, user_options);
data.mask = mask; data.mask = mask;
data.css_cnt = css_cnt; data.css_cnt = css_cnt;
@ -2893,7 +2892,7 @@ int main (int argc, char **argv)
for (uint pw_len = MAX (1, pw_min); pw_len <= pw_max; pw_len++) for (uint pw_len = MAX (1, pw_min); pw_len <= pw_max; pw_len++)
{ {
char *l1_filename = mp_get_truncated_mask (mask, strlen (mask), pw_len); char *l1_filename = mp_get_truncated_mask (mask, strlen (mask), pw_len, user_options);
if (l1_filename == NULL) break; if (l1_filename == NULL) break;
@ -3183,7 +3182,7 @@ int main (int argc, char **argv)
// base // base
css_buf = mp_gen_css (mask, strlen (mask), mp_sys, mp_usr, &css_cnt, hashconfig); css_buf = mp_gen_css (mask, strlen (mask), mp_sys, mp_usr, &css_cnt, hashconfig, user_options);
if (hashconfig->opts_type & OPTS_TYPE_PT_UNICODE) if (hashconfig->opts_type & OPTS_TYPE_PT_UNICODE)
{ {

View File

@ -102,7 +102,7 @@ static void mp_add_cs_buf (uint *in_buf, size_t in_len, cs_t *css, int css_cnt,
myfree (css_uniq); myfree (css_uniq);
} }
static void mp_expand (char *in_buf, size_t in_len, cs_t *mp_sys, cs_t *mp_usr, int mp_usr_offset, int interpret, hashconfig_t *hashconfig) static void mp_expand (char *in_buf, size_t in_len, cs_t *mp_sys, cs_t *mp_usr, int mp_usr_offset, int interpret, hashconfig_t *hashconfig, const user_options_t *user_options)
{ {
size_t in_pos; size_t in_pos;
@ -152,7 +152,7 @@ static void mp_expand (char *in_buf, size_t in_len, cs_t *mp_sys, cs_t *mp_usr,
} }
else else
{ {
if (data.hex_charset) if (user_options->hex_charset == true)
{ {
in_pos++; in_pos++;
@ -201,7 +201,7 @@ u64 mp_get_sum (uint css_cnt, cs_t *css)
return (sum); return (sum);
} }
cs_t *mp_gen_css (char *mask_buf, size_t mask_len, cs_t *mp_sys, cs_t *mp_usr, uint *css_cnt, hashconfig_t *hashconfig) cs_t *mp_gen_css (char *mask_buf, size_t mask_len, cs_t *mp_sys, cs_t *mp_usr, uint *css_cnt, hashconfig_t *hashconfig, const user_options_t *user_options)
{ {
cs_t *css = (cs_t *) mycalloc (256, sizeof (cs_t)); cs_t *css = (cs_t *) mycalloc (256, sizeof (cs_t));
@ -256,7 +256,7 @@ cs_t *mp_gen_css (char *mask_buf, size_t mask_len, cs_t *mp_sys, cs_t *mp_usr, u
} }
else else
{ {
if (data.hex_charset) if (user_options->hex_charset == true)
{ {
mask_pos++; mask_pos++;
@ -379,13 +379,13 @@ void mp_setup_sys (cs_t *mp_sys)
mp_sys[5].cs_len = pos; } mp_sys[5].cs_len = pos; }
} }
void mp_setup_usr (cs_t *mp_sys, cs_t *mp_usr, char *buf, uint index, hashconfig_t *hashconfig) void mp_setup_usr (cs_t *mp_sys, cs_t *mp_usr, char *buf, uint index, hashconfig_t *hashconfig, const user_options_t *user_options)
{ {
FILE *fp = fopen (buf, "rb"); FILE *fp = fopen (buf, "rb");
if (fp == NULL || feof (fp)) // feof() in case if file is empty if (fp == NULL || feof (fp)) // feof() in case if file is empty
{ {
mp_expand (buf, strlen (buf), mp_sys, mp_usr, index, 1, hashconfig); mp_expand (buf, strlen (buf), mp_sys, mp_usr, index, 1, hashconfig, user_options);
} }
else else
{ {
@ -401,11 +401,11 @@ void mp_setup_usr (cs_t *mp_sys, cs_t *mp_usr, char *buf, uint index, hashconfig
{ {
log_info ("WARNING: Charset file corrupted"); log_info ("WARNING: Charset file corrupted");
mp_expand (buf, strlen (buf), mp_sys, mp_usr, index, 1, hashconfig); mp_expand (buf, strlen (buf), mp_sys, mp_usr, index, 1, hashconfig, user_options);
} }
else else
{ {
mp_expand (mp_file, len, mp_sys, mp_usr, index, 0, hashconfig); mp_expand (mp_file, len, mp_sys, mp_usr, index, 0, hashconfig, user_options);
} }
} }
} }
@ -417,7 +417,7 @@ void mp_reset_usr (cs_t *mp_usr, uint index)
memset (mp_usr[index].cs_buf, 0, sizeof (mp_usr[index].cs_buf)); memset (mp_usr[index].cs_buf, 0, sizeof (mp_usr[index].cs_buf));
} }
char *mp_get_truncated_mask (char *mask_buf, size_t mask_len, uint len) char *mp_get_truncated_mask (char *mask_buf, size_t mask_len, uint len, const user_options_t *user_options)
{ {
char *new_mask_buf = (char *) mymalloc (256); char *new_mask_buf = (char *) mymalloc (256);
@ -443,7 +443,7 @@ char *mp_get_truncated_mask (char *mask_buf, size_t mask_len, uint len)
} }
else else
{ {
if (data.hex_charset) if (user_options->hex_charset == true)
{ {
mask_pos++; mask_pos++;