mirror of
https://github.com/hashcat/hashcat.git
synced 2024-12-23 15:18:16 +00:00
Move wordlist_mode into user_options_extra
This commit is contained in:
parent
c008b11de3
commit
4718bb3d2d
@ -6,7 +6,7 @@
|
|||||||
#ifndef _SESSION_H
|
#ifndef _SESSION_H
|
||||||
#define _SESSION_H
|
#define _SESSION_H
|
||||||
|
|
||||||
void session_ctx_init (session_ctx_t *session_ctx, char *cwd, char *install_dir, char *profile_dir, char *session_dir, char *shared_dir, char *cpath_real, const u32 wordlist_mode, const u32 kernel_rules_cnt, kernel_rule_t *kernel_rules_buf,const u32 bitmap_size, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, u32 *bitmap_s1_a, u32 *bitmap_s1_b, u32 *bitmap_s1_c, u32 *bitmap_s1_d, u32 *bitmap_s2_a, u32 *bitmap_s2_b, u32 *bitmap_s2_c, u32 *bitmap_s2_d);
|
void session_ctx_init (session_ctx_t *session_ctx, char *cwd, char *install_dir, char *profile_dir, char *session_dir, char *shared_dir, char *cpath_real, const u32 kernel_rules_cnt, kernel_rule_t *kernel_rules_buf,const u32 bitmap_size, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, u32 *bitmap_s1_a, u32 *bitmap_s1_b, u32 *bitmap_s1_c, u32 *bitmap_s1_d, u32 *bitmap_s2_a, u32 *bitmap_s2_b, u32 *bitmap_s2_c, u32 *bitmap_s2_d);
|
||||||
|
|
||||||
void session_ctx_destroy (session_ctx_t *session_ctx);
|
void session_ctx_destroy (session_ctx_t *session_ctx);
|
||||||
|
|
||||||
|
@ -848,6 +848,8 @@ typedef struct
|
|||||||
u32 rule_len_r;
|
u32 rule_len_r;
|
||||||
u32 rule_len_l;
|
u32 rule_len_l;
|
||||||
|
|
||||||
|
u32 wordlist_mode;
|
||||||
|
|
||||||
int optind;
|
int optind;
|
||||||
|
|
||||||
} user_options_extra_t;
|
} user_options_extra_t;
|
||||||
@ -861,8 +863,6 @@ typedef struct
|
|||||||
char *shared_dir;
|
char *shared_dir;
|
||||||
char *cpath_real;
|
char *cpath_real;
|
||||||
|
|
||||||
u32 wordlist_mode;
|
|
||||||
|
|
||||||
u32 kernel_rules_cnt;
|
u32 kernel_rules_cnt;
|
||||||
kernel_rule_t *kernel_rules_buf;
|
kernel_rule_t *kernel_rules_buf;
|
||||||
|
|
||||||
|
160
src/hashcat.c
160
src/hashcat.c
@ -561,41 +561,25 @@ int main (int argc, char **argv)
|
|||||||
custom_charset_4 = user_options->custom_charset_4;
|
custom_charset_4 = user_options->custom_charset_4;
|
||||||
debug_file = user_options->debug_file;
|
debug_file = user_options->debug_file;
|
||||||
debug_mode = user_options->debug_mode;
|
debug_mode = user_options->debug_mode;
|
||||||
|
|
||||||
gpu_temp_abort = user_options->gpu_temp_abort;
|
gpu_temp_abort = user_options->gpu_temp_abort;
|
||||||
gpu_temp_disable = user_options->gpu_temp_disable;
|
gpu_temp_disable = user_options->gpu_temp_disable;
|
||||||
gpu_temp_retain = user_options->gpu_temp_retain;
|
gpu_temp_retain = user_options->gpu_temp_retain;
|
||||||
hash_mode_chgd = user_options->hash_mode_chgd;
|
hash_mode_chgd = user_options->hash_mode_chgd;
|
||||||
hash_mode = user_options->hash_mode;
|
hash_mode = user_options->hash_mode;
|
||||||
|
|
||||||
hex_salt = user_options->hex_salt;
|
hex_salt = user_options->hex_salt;
|
||||||
|
|
||||||
increment_max = user_options->increment_max;
|
increment_max = user_options->increment_max;
|
||||||
increment_min = user_options->increment_min;
|
increment_min = user_options->increment_min;
|
||||||
increment = user_options->increment;
|
increment = user_options->increment;
|
||||||
induction_dir = user_options->induction_dir;
|
induction_dir = user_options->induction_dir;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
keyspace = user_options->keyspace;
|
keyspace = user_options->keyspace;
|
||||||
left = user_options->left;
|
left = user_options->left;
|
||||||
limit = user_options->limit;
|
limit = user_options->limit;
|
||||||
|
|
||||||
loopback = user_options->loopback;
|
loopback = user_options->loopback;
|
||||||
machine_readable = user_options->machine_readable;
|
machine_readable = user_options->machine_readable;
|
||||||
markov_classic = user_options->markov_classic;
|
markov_classic = user_options->markov_classic;
|
||||||
markov_disable = user_options->markov_disable;
|
markov_disable = user_options->markov_disable;
|
||||||
markov_hcstat = user_options->markov_hcstat;
|
markov_hcstat = user_options->markov_hcstat;
|
||||||
markov_threshold = user_options->markov_threshold;
|
markov_threshold = user_options->markov_threshold;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
outfile_autohex = user_options->outfile_autohex;
|
outfile_autohex = user_options->outfile_autohex;
|
||||||
outfile_check_dir = user_options->outfile_check_dir;
|
outfile_check_dir = user_options->outfile_check_dir;
|
||||||
outfile_check_timer = user_options->outfile_check_timer;
|
outfile_check_timer = user_options->outfile_check_timer;
|
||||||
@ -604,8 +588,6 @@ int main (int argc, char **argv)
|
|||||||
potfile_disable = user_options->potfile_disable;
|
potfile_disable = user_options->potfile_disable;
|
||||||
potfile_path = user_options->potfile_path;
|
potfile_path = user_options->potfile_path;
|
||||||
powertune_enable = user_options->powertune_enable;
|
powertune_enable = user_options->powertune_enable;
|
||||||
|
|
||||||
|
|
||||||
remove = user_options->remove;
|
remove = user_options->remove;
|
||||||
restore_disable = user_options->restore_disable;
|
restore_disable = user_options->restore_disable;
|
||||||
restore_timer = user_options->restore_timer;
|
restore_timer = user_options->restore_timer;
|
||||||
@ -614,12 +596,9 @@ int main (int argc, char **argv)
|
|||||||
rp_files = user_options->rp_files;
|
rp_files = user_options->rp_files;
|
||||||
rp_gen_func_max = user_options->rp_gen_func_max;
|
rp_gen_func_max = user_options->rp_gen_func_max;
|
||||||
rp_gen_func_min = user_options->rp_gen_func_min;
|
rp_gen_func_min = user_options->rp_gen_func_min;
|
||||||
|
|
||||||
rp_gen = user_options->rp_gen;
|
rp_gen = user_options->rp_gen;
|
||||||
rule_buf_l = user_options->rule_buf_l;
|
rule_buf_l = user_options->rule_buf_l;
|
||||||
rule_buf_r = user_options->rule_buf_r;
|
rule_buf_r = user_options->rule_buf_r;
|
||||||
|
|
||||||
|
|
||||||
segment_size = user_options->segment_size;
|
segment_size = user_options->segment_size;
|
||||||
separator = user_options->separator;
|
separator = user_options->separator;
|
||||||
session = user_options->session;
|
session = user_options->session;
|
||||||
@ -630,13 +609,12 @@ int main (int argc, char **argv)
|
|||||||
stdout_flag = user_options->stdout_flag;
|
stdout_flag = user_options->stdout_flag;
|
||||||
truecrypt_keyfiles = user_options->truecrypt_keyfiles;
|
truecrypt_keyfiles = user_options->truecrypt_keyfiles;
|
||||||
usage = user_options->usage;
|
usage = user_options->usage;
|
||||||
|
|
||||||
veracrypt_keyfiles = user_options->veracrypt_keyfiles;
|
veracrypt_keyfiles = user_options->veracrypt_keyfiles;
|
||||||
|
|
||||||
version = user_options->version;
|
version = user_options->version;
|
||||||
weak_hash_threshold = user_options->weak_hash_threshold;
|
weak_hash_threshold = user_options->weak_hash_threshold;
|
||||||
|
|
||||||
|
|
||||||
|
data.attack_mode = user_options->attack_mode;
|
||||||
data.restore = user_options->restore;
|
data.restore = user_options->restore;
|
||||||
data.restore_timer = user_options->restore_timer;
|
data.restore_timer = user_options->restore_timer;
|
||||||
data.restore_disable = user_options->restore_disable;
|
data.restore_disable = user_options->restore_disable;
|
||||||
@ -648,7 +626,6 @@ int main (int argc, char **argv)
|
|||||||
data.remove = user_options->remove;
|
data.remove = user_options->remove;
|
||||||
data.remove_timer = user_options->remove_timer;
|
data.remove_timer = user_options->remove_timer;
|
||||||
data.username = user_options->username;
|
data.username = user_options->username;
|
||||||
|
|
||||||
data.hex_charset = user_options->hex_charset;
|
data.hex_charset = user_options->hex_charset;
|
||||||
data.hex_salt = user_options->hex_salt;
|
data.hex_salt = user_options->hex_salt;
|
||||||
data.hex_wordlist = user_options->hex_wordlist;
|
data.hex_wordlist = user_options->hex_wordlist;
|
||||||
@ -673,12 +650,8 @@ int main (int argc, char **argv)
|
|||||||
data.veracrypt_pim = user_options->veracrypt_pim;
|
data.veracrypt_pim = user_options->veracrypt_pim;
|
||||||
data.scrypt_tmto = user_options->scrypt_tmto;
|
data.scrypt_tmto = user_options->scrypt_tmto;
|
||||||
|
|
||||||
//wordlist_mode = user_options_extra->wordlist_mode;
|
data.wordlist_mode = user_options_extra->wordlist_mode;
|
||||||
//attack_kern = user_options_extra->attack_kern;
|
data.attack_kern = user_options_extra->attack_kern;
|
||||||
|
|
||||||
|
|
||||||
//data.wordlist_mode = wordlist_mode;
|
|
||||||
//data.attack_kern = attack_kern;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -735,7 +708,7 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
char *induction_directory = NULL;
|
char *induction_directory = NULL;
|
||||||
|
|
||||||
if (attack_mode != ATTACK_MODE_BF)
|
if (user_options->attack_mode != ATTACK_MODE_BF)
|
||||||
{
|
{
|
||||||
if ((user_options->keyspace == false) && (user_options->benchmark == false) && (user_options->opencl_info == false))
|
if ((user_options->keyspace == false) && (user_options->benchmark == false) && (user_options->opencl_info == false))
|
||||||
{
|
{
|
||||||
@ -987,71 +960,10 @@ int main (int argc, char **argv)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* benchmark
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (benchmark == true)
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* disable useless stuff for benchmark
|
|
||||||
*/
|
|
||||||
|
|
||||||
status_timer = 0;
|
|
||||||
restore_timer = 0;
|
|
||||||
restore_disable = 1;
|
|
||||||
potfile_disable = 1;
|
|
||||||
weak_hash_threshold = 0;
|
|
||||||
|
|
||||||
gpu_temp_disable = 1;
|
|
||||||
outfile_check_timer = 0;
|
|
||||||
|
|
||||||
#if defined (HAVE_HWMON)
|
|
||||||
if (powertune_enable == 1)
|
|
||||||
{
|
|
||||||
gpu_temp_disable = 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
data.status_timer = status_timer;
|
|
||||||
data.restore_timer = restore_timer;
|
|
||||||
data.restore_disable = restore_disable;
|
|
||||||
data.outfile_check_timer = outfile_check_timer;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* force attack mode to be bruteforce
|
|
||||||
*/
|
|
||||||
|
|
||||||
attack_mode = ATTACK_MODE_BF;
|
|
||||||
user_options_extra->attack_kern = ATTACK_KERN_BF;
|
|
||||||
}
|
|
||||||
|
|
||||||
data.attack_mode = attack_mode;
|
|
||||||
data.attack_kern = user_options_extra->attack_kern;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* status, monitor and outfile remove threads
|
* status, monitor and outfile remove threads
|
||||||
*/
|
*/
|
||||||
|
|
||||||
uint wordlist_mode = ((user_options_extra->optind + 1) < myargc) ? WL_MODE_FILE : WL_MODE_STDIN;
|
|
||||||
|
|
||||||
if (attack_mode == ATTACK_MODE_BF)
|
|
||||||
{
|
|
||||||
wordlist_mode = WL_MODE_MASK;
|
|
||||||
}
|
|
||||||
|
|
||||||
data.wordlist_mode = wordlist_mode;
|
|
||||||
|
|
||||||
if (wordlist_mode == WL_MODE_STDIN)
|
|
||||||
{
|
|
||||||
// enable status (in stdin mode) whenever we do not use --stdout together with an outfile
|
|
||||||
|
|
||||||
if (stdout_flag == false) status = 1;
|
|
||||||
else if (outfile != NULL) status = 1;
|
|
||||||
|
|
||||||
data.status = status;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint outer_threads_cnt = 0;
|
uint outer_threads_cnt = 0;
|
||||||
|
|
||||||
hc_thread_t *outer_threads = (hc_thread_t *) mycalloc (10, sizeof (hc_thread_t));
|
hc_thread_t *outer_threads = (hc_thread_t *) mycalloc (10, sizeof (hc_thread_t));
|
||||||
@ -1060,7 +972,7 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
if (keyspace == false && benchmark == false && stdout_flag == false)
|
if (keyspace == false && benchmark == false && stdout_flag == false)
|
||||||
{
|
{
|
||||||
if ((data.wordlist_mode == WL_MODE_FILE) || (data.wordlist_mode == WL_MODE_MASK))
|
if ((user_options_extra->wordlist_mode == WL_MODE_FILE) || (user_options_extra->wordlist_mode == WL_MODE_MASK))
|
||||||
{
|
{
|
||||||
hc_thread_create (outer_threads[outer_threads_cnt], thread_keypress, NULL);
|
hc_thread_create (outer_threads[outer_threads_cnt], thread_keypress, NULL);
|
||||||
|
|
||||||
@ -1253,7 +1165,7 @@ int main (int argc, char **argv)
|
|||||||
if (hashconfig->attack_exec == ATTACK_EXEC_INSIDE_KERNEL)
|
if (hashconfig->attack_exec == ATTACK_EXEC_INSIDE_KERNEL)
|
||||||
hashconfig->opti_type |= OPTI_TYPE_NOT_ITERATED;
|
hashconfig->opti_type |= OPTI_TYPE_NOT_ITERATED;
|
||||||
|
|
||||||
if (attack_mode == ATTACK_MODE_BF)
|
if (user_options->attack_mode == ATTACK_MODE_BF)
|
||||||
hashconfig->opti_type |= OPTI_TYPE_BRUTE_FORCE;
|
hashconfig->opti_type |= OPTI_TYPE_BRUTE_FORCE;
|
||||||
|
|
||||||
if (hashconfig->opti_type & OPTI_TYPE_BRUTE_FORCE)
|
if (hashconfig->opti_type & OPTI_TYPE_BRUTE_FORCE)
|
||||||
@ -1536,7 +1448,7 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
kernel_rule_t *kernel_rules_buf = NULL;
|
kernel_rule_t *kernel_rules_buf = NULL;
|
||||||
|
|
||||||
if (attack_mode == ATTACK_MODE_STRAIGHT)
|
if (user_options->attack_mode == ATTACK_MODE_STRAIGHT)
|
||||||
{
|
{
|
||||||
if (rp_files_cnt)
|
if (rp_files_cnt)
|
||||||
{
|
{
|
||||||
@ -1902,7 +1814,7 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
log_info ("Bitmaps: %u bits, %u entries, 0x%08x mask, %u bytes, %u/%u rotates", bitmap_bits, bitmap_nums, bitmap_mask, bitmap_size, bitmap_shift1, bitmap_shift2);
|
log_info ("Bitmaps: %u bits, %u entries, 0x%08x mask, %u bytes, %u/%u rotates", bitmap_bits, bitmap_nums, bitmap_mask, bitmap_size, bitmap_shift1, bitmap_shift2);
|
||||||
|
|
||||||
if (attack_mode == ATTACK_MODE_STRAIGHT)
|
if (user_options->attack_mode == ATTACK_MODE_STRAIGHT)
|
||||||
{
|
{
|
||||||
log_info ("Rules: %u", kernel_rules_cnt);
|
log_info ("Rules: %u", kernel_rules_cnt);
|
||||||
}
|
}
|
||||||
@ -2198,7 +2110,7 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
data.session_ctx = session_ctx;
|
data.session_ctx = session_ctx;
|
||||||
|
|
||||||
session_ctx_init (session_ctx, cwd, install_dir, profile_dir, session_dir, shared_dir, cpath_real, wordlist_mode, kernel_rules_cnt, kernel_rules_buf, bitmap_size, bitmap_mask, bitmap_shift1, bitmap_shift2, bitmap_s1_a, bitmap_s1_b, bitmap_s1_c, bitmap_s1_d, bitmap_s2_a, bitmap_s2_b, bitmap_s2_c, bitmap_s2_d);
|
session_ctx_init (session_ctx, cwd, install_dir, profile_dir, session_dir, shared_dir, cpath_real, kernel_rules_cnt, kernel_rules_buf, bitmap_size, bitmap_mask, bitmap_shift1, bitmap_shift2, bitmap_s1_a, bitmap_s1_b, bitmap_s1_c, bitmap_s1_d, bitmap_s2_a, bitmap_s2_b, bitmap_s2_c, bitmap_s2_d);
|
||||||
|
|
||||||
opencl_session_begin (opencl_ctx, hashconfig, hashes, session_ctx, user_options, user_options_extra);
|
opencl_session_begin (opencl_ctx, hashconfig, hashes, session_ctx, user_options, user_options_extra);
|
||||||
|
|
||||||
@ -2352,9 +2264,9 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
uint mask_from_file = 0;
|
uint mask_from_file = 0;
|
||||||
|
|
||||||
if (attack_mode == ATTACK_MODE_STRAIGHT)
|
if (user_options->attack_mode == ATTACK_MODE_STRAIGHT)
|
||||||
{
|
{
|
||||||
if (wordlist_mode == WL_MODE_FILE)
|
if (user_options_extra->wordlist_mode == WL_MODE_FILE)
|
||||||
{
|
{
|
||||||
int wls_left = myargc - (user_options_extra->optind + 1);
|
int wls_left = myargc - (user_options_extra->optind + 1);
|
||||||
|
|
||||||
@ -2435,12 +2347,12 @@ int main (int argc, char **argv)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (wordlist_mode == WL_MODE_STDIN)
|
else if (user_options_extra->wordlist_mode == WL_MODE_STDIN)
|
||||||
{
|
{
|
||||||
dictcnt = 1;
|
dictcnt = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (attack_mode == ATTACK_MODE_COMBI)
|
else if (user_options->attack_mode == ATTACK_MODE_COMBI)
|
||||||
{
|
{
|
||||||
// display
|
// display
|
||||||
|
|
||||||
@ -2581,7 +2493,7 @@ int main (int argc, char **argv)
|
|||||||
data.rule_len_r = tmpi;
|
data.rule_len_r = tmpi;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (attack_mode == ATTACK_MODE_BF)
|
else if (user_options->attack_mode == ATTACK_MODE_BF)
|
||||||
{
|
{
|
||||||
char *mask = NULL;
|
char *mask = NULL;
|
||||||
|
|
||||||
@ -2721,7 +2633,7 @@ int main (int argc, char **argv)
|
|||||||
if (increment_max < pw_max) pw_max = increment_max;
|
if (increment_max < pw_max) pw_max = increment_max;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (attack_mode == ATTACK_MODE_HYBRID1)
|
else if (user_options->attack_mode == ATTACK_MODE_HYBRID1)
|
||||||
{
|
{
|
||||||
data.combs_mode = COMBINATOR_MODE_BASE_LEFT;
|
data.combs_mode = COMBINATOR_MODE_BASE_LEFT;
|
||||||
|
|
||||||
@ -2900,7 +2812,7 @@ int main (int argc, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (attack_mode == ATTACK_MODE_HYBRID2)
|
else if (user_options->attack_mode == ATTACK_MODE_HYBRID2)
|
||||||
{
|
{
|
||||||
data.combs_mode = COMBINATOR_MODE_BASE_RIGHT;
|
data.combs_mode = COMBINATOR_MODE_BASE_RIGHT;
|
||||||
|
|
||||||
@ -3205,7 +3117,7 @@ int main (int argc, char **argv)
|
|||||||
rd->maskpos = maskpos;
|
rd->maskpos = maskpos;
|
||||||
data.maskpos = maskpos;
|
data.maskpos = maskpos;
|
||||||
|
|
||||||
if (attack_mode == ATTACK_MODE_HYBRID1 || attack_mode == ATTACK_MODE_HYBRID2 || attack_mode == ATTACK_MODE_BF)
|
if (user_options->attack_mode == ATTACK_MODE_HYBRID1 || attack_mode == ATTACK_MODE_HYBRID2 || attack_mode == ATTACK_MODE_BF)
|
||||||
{
|
{
|
||||||
char *mask = masks[maskpos];
|
char *mask = masks[maskpos];
|
||||||
|
|
||||||
@ -3313,7 +3225,7 @@ int main (int argc, char **argv)
|
|||||||
mask[mask_out_pos] = '\0';
|
mask[mask_out_pos] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((attack_mode == ATTACK_MODE_HYBRID1) || (attack_mode == ATTACK_MODE_HYBRID2))
|
if ((user_options->attack_mode == ATTACK_MODE_HYBRID1) || (user_options->attack_mode == ATTACK_MODE_HYBRID2))
|
||||||
{
|
{
|
||||||
if (maskpos > 0)
|
if (maskpos > 0)
|
||||||
{
|
{
|
||||||
@ -3372,14 +3284,14 @@ int main (int argc, char **argv)
|
|||||||
device_param->kernel_params_mp_buf32[6] = 0;
|
device_param->kernel_params_mp_buf32[6] = 0;
|
||||||
device_param->kernel_params_mp_buf32[7] = 0;
|
device_param->kernel_params_mp_buf32[7] = 0;
|
||||||
|
|
||||||
if (attack_mode == ATTACK_MODE_HYBRID1)
|
if (user_options->attack_mode == ATTACK_MODE_HYBRID1)
|
||||||
{
|
{
|
||||||
if (hashconfig->opts_type & OPTS_TYPE_PT_ADD01) device_param->kernel_params_mp_buf32[5] = full01;
|
if (hashconfig->opts_type & OPTS_TYPE_PT_ADD01) device_param->kernel_params_mp_buf32[5] = full01;
|
||||||
if (hashconfig->opts_type & OPTS_TYPE_PT_ADD80) device_param->kernel_params_mp_buf32[5] = full80;
|
if (hashconfig->opts_type & OPTS_TYPE_PT_ADD80) device_param->kernel_params_mp_buf32[5] = full80;
|
||||||
if (hashconfig->opts_type & OPTS_TYPE_PT_ADDBITS14) device_param->kernel_params_mp_buf32[6] = 1;
|
if (hashconfig->opts_type & OPTS_TYPE_PT_ADDBITS14) device_param->kernel_params_mp_buf32[6] = 1;
|
||||||
if (hashconfig->opts_type & OPTS_TYPE_PT_ADDBITS15) device_param->kernel_params_mp_buf32[7] = 1;
|
if (hashconfig->opts_type & OPTS_TYPE_PT_ADDBITS15) device_param->kernel_params_mp_buf32[7] = 1;
|
||||||
}
|
}
|
||||||
else if (attack_mode == ATTACK_MODE_HYBRID2)
|
else if (user_options->attack_mode == ATTACK_MODE_HYBRID2)
|
||||||
{
|
{
|
||||||
device_param->kernel_params_mp_buf32[5] = 0;
|
device_param->kernel_params_mp_buf32[5] = 0;
|
||||||
device_param->kernel_params_mp_buf32[6] = 0;
|
device_param->kernel_params_mp_buf32[6] = 0;
|
||||||
@ -3410,7 +3322,7 @@ int main (int argc, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (attack_mode == ATTACK_MODE_BF)
|
else if (user_options->attack_mode == ATTACK_MODE_BF)
|
||||||
{
|
{
|
||||||
dictcnt = 0; // number of "sub-masks", i.e. when using incremental mode
|
dictcnt = 0; // number of "sub-masks", i.e. when using incremental mode
|
||||||
|
|
||||||
@ -3452,7 +3364,7 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
// induction_dictionaries_cnt = 0; // implied
|
// induction_dictionaries_cnt = 0; // implied
|
||||||
|
|
||||||
if (attack_mode != ATTACK_MODE_BF)
|
if (user_options->attack_mode != ATTACK_MODE_BF)
|
||||||
{
|
{
|
||||||
if ((user_options->keyspace == false) && (user_options->benchmark == false) && (user_options->opencl_info == false))
|
if ((user_options->keyspace == false) && (user_options->benchmark == false) && (user_options->opencl_info == false))
|
||||||
{
|
{
|
||||||
@ -3572,9 +3484,9 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
// figure out some workload
|
// figure out some workload
|
||||||
|
|
||||||
if (attack_mode == ATTACK_MODE_STRAIGHT)
|
if (user_options->attack_mode == ATTACK_MODE_STRAIGHT)
|
||||||
{
|
{
|
||||||
if (data.wordlist_mode == WL_MODE_FILE)
|
if (user_options_extra->wordlist_mode == WL_MODE_FILE)
|
||||||
{
|
{
|
||||||
char *dictfile = NULL;
|
char *dictfile = NULL;
|
||||||
|
|
||||||
@ -3617,7 +3529,7 @@ int main (int argc, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (attack_mode == ATTACK_MODE_COMBI)
|
else if (user_options->attack_mode == ATTACK_MODE_COMBI)
|
||||||
{
|
{
|
||||||
char *dictfile = data.dictfile;
|
char *dictfile = data.dictfile;
|
||||||
char *dictfile2 = data.dictfile2;
|
char *dictfile2 = data.dictfile2;
|
||||||
@ -3663,7 +3575,7 @@ int main (int argc, char **argv)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ((attack_mode == ATTACK_MODE_HYBRID1) || (attack_mode == ATTACK_MODE_HYBRID2))
|
else if ((user_options->attack_mode == ATTACK_MODE_HYBRID1) || (user_options->attack_mode == ATTACK_MODE_HYBRID2))
|
||||||
{
|
{
|
||||||
char *dictfile = NULL;
|
char *dictfile = NULL;
|
||||||
|
|
||||||
@ -3703,7 +3615,7 @@ int main (int argc, char **argv)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (attack_mode == ATTACK_MODE_BF)
|
else if (user_options->attack_mode == ATTACK_MODE_BF)
|
||||||
{
|
{
|
||||||
local_free (css_buf);
|
local_free (css_buf);
|
||||||
local_free (data.root_css_buf);
|
local_free (data.root_css_buf);
|
||||||
@ -4103,7 +4015,7 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
data.kernel_power_all = kernel_power_all;
|
data.kernel_power_all = kernel_power_all;
|
||||||
|
|
||||||
if ((wordlist_mode == WL_MODE_FILE) || (wordlist_mode == WL_MODE_MASK))
|
if ((user_options_extra->wordlist_mode == WL_MODE_FILE) || (user_options_extra->wordlist_mode == WL_MODE_MASK))
|
||||||
{
|
{
|
||||||
if (data.words_base < kernel_power_all)
|
if (data.words_base < kernel_power_all)
|
||||||
{
|
{
|
||||||
@ -4136,14 +4048,14 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
hc_timer_set (&data.timer_running);
|
hc_timer_set (&data.timer_running);
|
||||||
|
|
||||||
if ((wordlist_mode == WL_MODE_FILE) || (wordlist_mode == WL_MODE_MASK))
|
if ((user_options_extra->wordlist_mode == WL_MODE_FILE) || (user_options_extra->wordlist_mode == WL_MODE_MASK))
|
||||||
{
|
{
|
||||||
if ((user_options->quiet == false) && (status == 0) && (benchmark == false))
|
if ((user_options->quiet == false) && (status == 0) && (benchmark == false))
|
||||||
{
|
{
|
||||||
if (user_options->quiet == false) send_prompt ();
|
if (user_options->quiet == false) send_prompt ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (wordlist_mode == WL_MODE_STDIN)
|
else if (user_options_extra->wordlist_mode == WL_MODE_STDIN)
|
||||||
{
|
{
|
||||||
if (user_options->quiet == false) log_info ("Starting attack in stdin mode...");
|
if (user_options->quiet == false) log_info ("Starting attack in stdin mode...");
|
||||||
if (user_options->quiet == false) log_info ("");
|
if (user_options->quiet == false) log_info ("");
|
||||||
@ -4161,7 +4073,7 @@ int main (int argc, char **argv)
|
|||||||
{
|
{
|
||||||
hc_device_param_t *device_param = &opencl_ctx->devices_param[device_id];
|
hc_device_param_t *device_param = &opencl_ctx->devices_param[device_id];
|
||||||
|
|
||||||
if (wordlist_mode == WL_MODE_STDIN)
|
if (user_options_extra->wordlist_mode == WL_MODE_STDIN)
|
||||||
{
|
{
|
||||||
hc_thread_create (c_threads[device_id], thread_calc_stdin, device_param);
|
hc_thread_create (c_threads[device_id], thread_calc_stdin, device_param);
|
||||||
}
|
}
|
||||||
@ -4194,7 +4106,7 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
free (induction_dictionaries);
|
free (induction_dictionaries);
|
||||||
|
|
||||||
if (attack_mode != ATTACK_MODE_BF)
|
if (user_options->attack_mode != ATTACK_MODE_BF)
|
||||||
{
|
{
|
||||||
if ((user_options->keyspace == false) && (user_options->benchmark == false) && (user_options->opencl_info == false))
|
if ((user_options->keyspace == false) && (user_options->benchmark == false) && (user_options->opencl_info == false))
|
||||||
{
|
{
|
||||||
@ -4276,9 +4188,9 @@ int main (int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// problems could occur if already at startup everything was cracked (because of .pot file reading etc), we must set some variables here to avoid NULL pointers
|
// problems could occur if already at startup everything was cracked (because of .pot file reading etc), we must set some variables here to avoid NULL pointers
|
||||||
if (attack_mode == ATTACK_MODE_STRAIGHT)
|
if (user_options->attack_mode == ATTACK_MODE_STRAIGHT)
|
||||||
{
|
{
|
||||||
if (data.wordlist_mode == WL_MODE_FILE)
|
if (user_options_extra->wordlist_mode == WL_MODE_FILE)
|
||||||
{
|
{
|
||||||
if (data.dictfile == NULL)
|
if (data.dictfile == NULL)
|
||||||
{
|
{
|
||||||
@ -4292,7 +4204,7 @@ int main (int argc, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// NOTE: combi is okay because it is already set beforehand
|
// NOTE: combi is okay because it is already set beforehand
|
||||||
else if (attack_mode == ATTACK_MODE_HYBRID1 || attack_mode == ATTACK_MODE_HYBRID2)
|
else if (user_options->attack_mode == ATTACK_MODE_HYBRID1 || attack_mode == ATTACK_MODE_HYBRID2)
|
||||||
{
|
{
|
||||||
if (data.dictfile == NULL)
|
if (data.dictfile == NULL)
|
||||||
{
|
{
|
||||||
@ -4304,7 +4216,7 @@ int main (int argc, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (attack_mode == ATTACK_MODE_BF)
|
else if (user_options->attack_mode == ATTACK_MODE_BF)
|
||||||
{
|
{
|
||||||
if (data.mask == NULL)
|
if (data.mask == NULL)
|
||||||
{
|
{
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include "session.h"
|
#include "session.h"
|
||||||
|
|
||||||
void session_ctx_init (session_ctx_t *session_ctx, char *cwd, char *install_dir, char *profile_dir, char *session_dir, char *shared_dir, char *cpath_real, const u32 wordlist_mode, const u32 kernel_rules_cnt, kernel_rule_t *kernel_rules_buf,const u32 bitmap_size, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, u32 *bitmap_s1_a, u32 *bitmap_s1_b, u32 *bitmap_s1_c, u32 *bitmap_s1_d, u32 *bitmap_s2_a, u32 *bitmap_s2_b, u32 *bitmap_s2_c, u32 *bitmap_s2_d)
|
void session_ctx_init (session_ctx_t *session_ctx, char *cwd, char *install_dir, char *profile_dir, char *session_dir, char *shared_dir, char *cpath_real, const u32 kernel_rules_cnt, kernel_rule_t *kernel_rules_buf,const u32 bitmap_size, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, u32 *bitmap_s1_a, u32 *bitmap_s1_b, u32 *bitmap_s1_c, u32 *bitmap_s1_d, u32 *bitmap_s2_a, u32 *bitmap_s2_b, u32 *bitmap_s2_c, u32 *bitmap_s2_d)
|
||||||
{
|
{
|
||||||
session_ctx->cwd = cwd;
|
session_ctx->cwd = cwd;
|
||||||
session_ctx->install_dir = install_dir;
|
session_ctx->install_dir = install_dir;
|
||||||
@ -16,8 +16,6 @@ void session_ctx_init (session_ctx_t *session_ctx, char *cwd, char *install_dir,
|
|||||||
session_ctx->shared_dir = shared_dir;
|
session_ctx->shared_dir = shared_dir;
|
||||||
session_ctx->cpath_real = cpath_real;
|
session_ctx->cpath_real = cpath_real;
|
||||||
|
|
||||||
session_ctx->wordlist_mode = wordlist_mode;
|
|
||||||
|
|
||||||
session_ctx->kernel_rules_cnt = kernel_rules_cnt;
|
session_ctx->kernel_rules_cnt = kernel_rules_cnt;
|
||||||
session_ctx->kernel_rules_buf = kernel_rules_buf;
|
session_ctx->kernel_rules_buf = kernel_rules_buf;
|
||||||
|
|
||||||
@ -45,8 +43,6 @@ void session_ctx_destroy (session_ctx_t *session_ctx)
|
|||||||
session_ctx->shared_dir = NULL;
|
session_ctx->shared_dir = NULL;
|
||||||
session_ctx->cpath_real = NULL;
|
session_ctx->cpath_real = NULL;
|
||||||
|
|
||||||
session_ctx->wordlist_mode = 0;
|
|
||||||
|
|
||||||
session_ctx->kernel_rules_buf = NULL;
|
session_ctx->kernel_rules_buf = NULL;
|
||||||
session_ctx->kernel_rules_cnt = 0;
|
session_ctx->kernel_rules_cnt = 0;
|
||||||
|
|
||||||
|
@ -263,6 +263,13 @@ int user_options_parse (user_options_t *user_options, int myargc, char **myargv)
|
|||||||
{
|
{
|
||||||
user_options->workload_profile = 3;
|
user_options->workload_profile = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined (HAVE_HWMON)
|
||||||
|
if (user_options->powertune_enable == true)
|
||||||
|
{
|
||||||
|
user_options->gpu_temp_disable = false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (user_options->keyspace == true)
|
if (user_options->keyspace == true)
|
||||||
@ -805,14 +812,12 @@ int user_options_extra_init (user_options_t *user_options, int myargc, char **my
|
|||||||
user_options_extra->rule_len_l = (int) strlen (user_options->rule_buf_l);
|
user_options_extra->rule_len_l = (int) strlen (user_options->rule_buf_l);
|
||||||
user_options_extra->rule_len_r = (int) strlen (user_options->rule_buf_r);
|
user_options_extra->rule_len_r = (int) strlen (user_options->rule_buf_r);
|
||||||
|
|
||||||
/*
|
|
||||||
user_options_extra->wordlist_mode = ((user_options_extra->optind + 1) < myargc) ? WL_MODE_FILE : WL_MODE_STDIN;
|
user_options_extra->wordlist_mode = ((user_options_extra->optind + 1) < myargc) ? WL_MODE_FILE : WL_MODE_STDIN;
|
||||||
|
|
||||||
if (user_options->attack_mode == ATTACK_MODE_BF)
|
if (user_options->attack_mode == ATTACK_MODE_BF)
|
||||||
{
|
{
|
||||||
user_options_extra->wordlist_mode = WL_MODE_MASK;
|
user_options_extra->wordlist_mode = WL_MODE_MASK;
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
/* still needed?
|
/* still needed?
|
||||||
if (user_options_extra->wordlist_mode == WL_MODE_STDIN)
|
if (user_options_extra->wordlist_mode == WL_MODE_STDIN)
|
||||||
|
Loading…
Reference in New Issue
Block a user