mirror of
https://github.com/hashcat/hashcat.git
synced 2024-12-23 15:18:16 +00:00
Get rid of hash_mode in outfile_check.c
This commit is contained in:
parent
6928e5bfbe
commit
da30151b70
@ -299,6 +299,7 @@ u64 default_kern_type (MAYBE_UNUSED const hashconfig_t *hash
|
|||||||
u32 default_opti_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
u32 default_opti_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
||||||
u64 default_opts_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
u64 default_opts_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
||||||
bool default_outfile_check_disable (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
bool default_outfile_check_disable (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
||||||
|
bool default_outfile_check_nocomp (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
||||||
u32 default_pwdump_column (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
u32 default_pwdump_column (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
||||||
u32 default_pw_min (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
u32 default_pw_min (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
||||||
u32 default_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
u32 default_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
||||||
|
@ -27,6 +27,7 @@ u64 module_kern_type (MAYBE_UNUSED const hashconfig_t *hash
|
|||||||
u32 module_opti_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
u32 module_opti_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
||||||
u64 module_opts_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
u64 module_opts_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
||||||
bool module_outfile_check_disable (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
bool module_outfile_check_disable (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
||||||
|
bool module_outfile_check_nocomp (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
||||||
u32 module_pwdump_column (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
u32 module_pwdump_column (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
||||||
u32 module_pw_min (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
u32 module_pw_min (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
||||||
u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra);
|
||||||
|
@ -960,6 +960,7 @@ struct hashconfig
|
|||||||
bool hlfmt_disable;
|
bool hlfmt_disable;
|
||||||
bool warmup_disable;
|
bool warmup_disable;
|
||||||
bool outfile_check_disable;
|
bool outfile_check_disable;
|
||||||
|
bool outfile_check_nocomp;
|
||||||
|
|
||||||
u32 pwdump_column;
|
u32 pwdump_column;
|
||||||
};
|
};
|
||||||
@ -2263,6 +2264,7 @@ typedef struct module_ctx
|
|||||||
u32 (*module_opti_type) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *);
|
u32 (*module_opti_type) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *);
|
||||||
u64 (*module_opts_type) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *);
|
u64 (*module_opts_type) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *);
|
||||||
bool (*module_outfile_check_disable) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *);
|
bool (*module_outfile_check_disable) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *);
|
||||||
|
bool (*module_outfile_check_nocomp) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *);
|
||||||
u32 (*module_pwdump_column) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *);
|
u32 (*module_pwdump_column) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *);
|
||||||
u32 (*module_pw_min) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *);
|
u32 (*module_pw_min) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *);
|
||||||
u32 (*module_pw_max) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *);
|
u32 (*module_pw_max) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *);
|
||||||
|
@ -146,6 +146,7 @@ void module_init (module_ctx_t *module_ctx)
|
|||||||
module_ctx->module_opti_type = module_opti_type;
|
module_ctx->module_opti_type = module_opti_type;
|
||||||
module_ctx->module_opts_type = module_opts_type;
|
module_ctx->module_opts_type = module_opts_type;
|
||||||
module_ctx->module_outfile_check_disable = NULL;
|
module_ctx->module_outfile_check_disable = NULL;
|
||||||
|
module_ctx->module_outfile_check_nocomp = NULL;
|
||||||
module_ctx->module_pwdump_column = module_pwdump_column;
|
module_ctx->module_pwdump_column = module_pwdump_column;
|
||||||
module_ctx->module_pw_max = NULL;
|
module_ctx->module_pw_max = NULL;
|
||||||
module_ctx->module_pw_min = NULL;
|
module_ctx->module_pw_min = NULL;
|
||||||
|
@ -691,6 +691,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx)
|
|||||||
hashconfig->opti_type = default_opti_type (hashconfig, user_options, user_options_extra);
|
hashconfig->opti_type = default_opti_type (hashconfig, user_options, user_options_extra);
|
||||||
hashconfig->opts_type = default_opts_type (hashconfig, user_options, user_options_extra);
|
hashconfig->opts_type = default_opts_type (hashconfig, user_options, user_options_extra);
|
||||||
hashconfig->outfile_check_disable = default_outfile_check_disable (hashconfig, user_options, user_options_extra);
|
hashconfig->outfile_check_disable = default_outfile_check_disable (hashconfig, user_options, user_options_extra);
|
||||||
|
hashconfig->outfile_check_nocomp = default_outfile_check_nocomp (hashconfig, user_options, user_options_extra);
|
||||||
hashconfig->pwdump_column = default_pwdump_column (hashconfig, user_options, user_options_extra);
|
hashconfig->pwdump_column = default_pwdump_column (hashconfig, user_options, user_options_extra);
|
||||||
hashconfig->salt_type = default_salt_type (hashconfig, user_options, user_options_extra);
|
hashconfig->salt_type = default_salt_type (hashconfig, user_options, user_options_extra);
|
||||||
hashconfig->separator = default_separator (hashconfig, user_options, user_options_extra);
|
hashconfig->separator = default_separator (hashconfig, user_options, user_options_extra);
|
||||||
@ -735,6 +736,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx)
|
|||||||
if (module_ctx->module_opti_type) hashconfig->opti_type = module_ctx->module_opti_type (hashconfig, user_options, user_options_extra);
|
if (module_ctx->module_opti_type) hashconfig->opti_type = module_ctx->module_opti_type (hashconfig, user_options, user_options_extra);
|
||||||
if (module_ctx->module_opts_type) hashconfig->opts_type = module_ctx->module_opts_type (hashconfig, user_options, user_options_extra);
|
if (module_ctx->module_opts_type) hashconfig->opts_type = module_ctx->module_opts_type (hashconfig, user_options, user_options_extra);
|
||||||
if (module_ctx->module_outfile_check_disable) hashconfig->outfile_check_disable = module_ctx->module_outfile_check_disable (hashconfig, user_options, user_options_extra);
|
if (module_ctx->module_outfile_check_disable) hashconfig->outfile_check_disable = module_ctx->module_outfile_check_disable (hashconfig, user_options, user_options_extra);
|
||||||
|
if (module_ctx->module_outfile_check_nocomp) hashconfig->outfile_check_nocomp = module_ctx->module_outfile_check_nocomp (hashconfig, user_options, user_options_extra);
|
||||||
if (module_ctx->module_pwdump_column) hashconfig->pwdump_column = module_ctx->module_pwdump_column (hashconfig, user_options, user_options_extra);
|
if (module_ctx->module_pwdump_column) hashconfig->pwdump_column = module_ctx->module_pwdump_column (hashconfig, user_options, user_options_extra);
|
||||||
if (module_ctx->module_salt_type) hashconfig->salt_type = module_ctx->module_salt_type (hashconfig, user_options, user_options_extra);
|
if (module_ctx->module_salt_type) hashconfig->salt_type = module_ctx->module_salt_type (hashconfig, user_options, user_options_extra);
|
||||||
if (module_ctx->module_separator) hashconfig->separator = module_ctx->module_separator (hashconfig, user_options, user_options_extra);
|
if (module_ctx->module_separator) hashconfig->separator = module_ctx->module_separator (hashconfig, user_options, user_options_extra);
|
||||||
@ -1378,6 +1380,13 @@ bool default_outfile_check_disable (MAYBE_UNUSED const hashconfig_t *hashconfig,
|
|||||||
return outfile_check_disable;
|
return outfile_check_disable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool default_outfile_check_nocomp (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
||||||
|
{
|
||||||
|
const bool outfile_check_nocomp = false;
|
||||||
|
|
||||||
|
return outfile_check_nocomp;
|
||||||
|
}
|
||||||
|
|
||||||
bool default_hlfmt_disable (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
bool default_hlfmt_disable (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
||||||
{
|
{
|
||||||
const bool hlfmt_disable = false;
|
const bool hlfmt_disable = false;
|
||||||
|
@ -28364,7 +28364,7 @@ static void precompute_salt_md5 (const u32 *salt_buf, const u32 salt_len, u8 *sa
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
u32 outfile_check_disable
|
bool outfile_check_disable
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
@ -28375,6 +28375,16 @@ u32 outfile_check_disable
|
|||||||
(user_options->hash_mode == 14600)) return 0;
|
(user_options->hash_mode == 14600)) return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool outfile_check_nocomp
|
||||||
|
{
|
||||||
|
if (hash_mode == 6800)
|
||||||
|
{
|
||||||
|
// the comparison with only matching salt is a bit inaccurate
|
||||||
|
// call it a bug, but it's good enough for a special case used in a special case
|
||||||
|
|
||||||
|
cracked = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int module_hash_decode_outfile (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, const char *line_buf, MAYBE_UNUSED const int line_len)
|
int module_hash_decode_outfile (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, const char *line_buf, MAYBE_UNUSED const int line_len)
|
||||||
{
|
{
|
||||||
|
@ -32,7 +32,6 @@ static int outfile_remove (hashcat_ctx_t *hashcat_ctx)
|
|||||||
bool is_salted = hashconfig->is_salted;
|
bool is_salted = hashconfig->is_salted;
|
||||||
size_t esalt_size = hashconfig->esalt_size;
|
size_t esalt_size = hashconfig->esalt_size;
|
||||||
size_t hook_salt_size = hashconfig->hook_salt_size;
|
size_t hook_salt_size = hashconfig->hook_salt_size;
|
||||||
u32 hash_mode = hashconfig->hash_mode;
|
|
||||||
char separator = hashconfig->separator;
|
char separator = hashconfig->separator;
|
||||||
|
|
||||||
salt_t *salts_buf = hashes->salts_buf;
|
salt_t *salts_buf = hashes->salts_buf;
|
||||||
@ -213,11 +212,8 @@ static int outfile_remove (hashcat_ctx_t *hashcat_ctx)
|
|||||||
|
|
||||||
bool cracked = false;
|
bool cracked = false;
|
||||||
|
|
||||||
if (hash_mode == 6800)
|
if (hashconfig->outfile_check_nocomp == true)
|
||||||
{
|
{
|
||||||
// the comparison with only matching salt is a bit inaccurate
|
|
||||||
// call it a bug, but it's good enough for a special case used in a special case
|
|
||||||
|
|
||||||
cracked = true;
|
cracked = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user