mirror of
https://github.com/hashcat/hashcat.git
synced 2024-12-22 14:48:12 +00:00
Merge pull request #2672 from matrix/example2info
Replaced --example-hashes with --hash-info
This commit is contained in:
commit
d53913f444
@ -20,6 +20,13 @@
|
||||
- Added hash-mode: Umbraco HMAC-SHA1
|
||||
- Added hash-mode: sha1(sha1($pass).$salt)
|
||||
|
||||
##
|
||||
## Features
|
||||
##
|
||||
|
||||
- Added option --hash-info to show generic information for each hash-mode
|
||||
- Removed option --example-hashes, now is an alias of --hash-info
|
||||
|
||||
##
|
||||
## Bugs
|
||||
##
|
||||
|
@ -41,7 +41,7 @@ int tty_fix(void);
|
||||
|
||||
void compress_terminal_line_length (char *out_buf, const size_t keep_from_beginning, const size_t keep_from_end);
|
||||
|
||||
void example_hashes (hashcat_ctx_t *hashcat_ctx);
|
||||
void hash_info (hashcat_ctx_t *hashcat_ctx);
|
||||
|
||||
void backend_info (hashcat_ctx_t *hashcat_ctx);
|
||||
void backend_info_compact (hashcat_ctx_t *hashcat_ctx);
|
||||
|
@ -591,10 +591,10 @@ typedef enum user_options_defaults
|
||||
BRAIN_SESSION = 0,
|
||||
#endif
|
||||
DEBUG_MODE = 0,
|
||||
EXAMPLE_HASHES = false,
|
||||
FORCE = false,
|
||||
HWMON_DISABLE = false,
|
||||
HWMON_TEMP_ABORT = 90,
|
||||
HASH_INFO = false,
|
||||
HASH_MODE = 0,
|
||||
HCCAPX_MESSAGE_PAIR = 0,
|
||||
HEX_CHARSET = false,
|
||||
@ -696,7 +696,7 @@ typedef enum user_options_map
|
||||
IDX_DEBUG_MODE = 0xff11,
|
||||
IDX_ENCODING_FROM = 0xff12,
|
||||
IDX_ENCODING_TO = 0xff13,
|
||||
IDX_EXAMPLE_HASHES = 0xff14,
|
||||
IDX_HASH_INFO = 0xff14,
|
||||
IDX_FORCE = 0xff15,
|
||||
IDX_HWMON_DISABLE = 0xff16,
|
||||
IDX_HWMON_TEMP_ABORT = 0xff17,
|
||||
@ -1938,9 +1938,9 @@ typedef struct user_options
|
||||
bool brain_client;
|
||||
bool brain_server;
|
||||
#endif
|
||||
bool example_hashes;
|
||||
bool force;
|
||||
bool hwmon_disable;
|
||||
bool hash_info;
|
||||
bool hex_charset;
|
||||
bool hex_salt;
|
||||
bool hex_wordlist;
|
||||
|
@ -4956,7 +4956,7 @@ int backend_ctx_init (hashcat_ctx_t *hashcat_ctx)
|
||||
|
||||
backend_ctx->enabled = false;
|
||||
|
||||
if (user_options->example_hashes == true) return 0;
|
||||
if (user_options->hash_info == true) return 0;
|
||||
if (user_options->keyspace == true) return 0;
|
||||
if (user_options->left == true) return 0;
|
||||
if (user_options->show == true) return 0;
|
||||
|
@ -79,7 +79,7 @@ int bitmap_ctx_init (hashcat_ctx_t *hashcat_ctx)
|
||||
|
||||
bitmap_ctx->enabled = false;
|
||||
|
||||
if (user_options->example_hashes == true) return 0;
|
||||
if (user_options->hash_info == true) return 0;
|
||||
if (user_options->keyspace == true) return 0;
|
||||
if (user_options->left == true) return 0;
|
||||
if (user_options->backend_info == true) return 0;
|
||||
|
@ -19,7 +19,7 @@ int combinator_ctx_init (hashcat_ctx_t *hashcat_ctx)
|
||||
|
||||
combinator_ctx->enabled = false;
|
||||
|
||||
if (user_options->example_hashes == true) return 0;
|
||||
if (user_options->hash_info == true) return 0;
|
||||
if (user_options->left == true) return 0;
|
||||
if (user_options->backend_info == true) return 0;
|
||||
if (user_options->show == true) return 0;
|
||||
|
@ -15,7 +15,7 @@ int cpt_ctx_init (hashcat_ctx_t *hashcat_ctx)
|
||||
|
||||
cpt_ctx->enabled = false;
|
||||
|
||||
if (user_options->example_hashes == true) return 0;
|
||||
if (user_options->hash_info == true) return 0;
|
||||
if (user_options->keyspace == true) return 0;
|
||||
if (user_options->left == true) return 0;
|
||||
if (user_options->backend_info == true) return 0;
|
||||
|
@ -87,7 +87,7 @@ int debugfile_init (hashcat_ctx_t *hashcat_ctx)
|
||||
debugfile_ctx->enabled = false;
|
||||
|
||||
if (user_options->benchmark == true) return 0;
|
||||
if (user_options->example_hashes == true) return 0;
|
||||
if (user_options->hash_info == true) return 0;
|
||||
if (user_options->keyspace == true) return 0;
|
||||
if (user_options->left == true) return 0;
|
||||
if (user_options->backend_info == true) return 0;
|
||||
|
@ -57,7 +57,7 @@ int dictstat_init (hashcat_ctx_t *hashcat_ctx)
|
||||
dictstat_ctx->enabled = false;
|
||||
|
||||
if (user_options->benchmark == true) return 0;
|
||||
if (user_options->example_hashes == true) return 0;
|
||||
if (user_options->hash_info == true) return 0;
|
||||
if (user_options->keyspace == true) return 0;
|
||||
if (user_options->left == true) return 0;
|
||||
if (user_options->backend_info == true) return 0;
|
||||
|
@ -901,7 +901,7 @@ int hashes_init_stage1 (hashcat_ctx_t *hashcat_ctx)
|
||||
|
||||
hashes_cnt = 1;
|
||||
}
|
||||
else if (user_options->example_hashes == true)
|
||||
else if (user_options->hash_info == true)
|
||||
{
|
||||
}
|
||||
else if (user_options->keyspace == true)
|
||||
|
@ -2225,7 +2225,7 @@ int hwmon_ctx_init (hashcat_ctx_t *hashcat_ctx)
|
||||
return 0;
|
||||
#endif // WITH_HWMON
|
||||
|
||||
if (user_options->example_hashes == true) return 0;
|
||||
if (user_options->hash_info == true) return 0;
|
||||
if (user_options->keyspace == true) return 0;
|
||||
if (user_options->left == true) return 0;
|
||||
if (user_options->backend_info == true) return 0;
|
||||
|
@ -40,7 +40,7 @@ int induct_ctx_init (hashcat_ctx_t *hashcat_ctx)
|
||||
induct_ctx->enabled = false;
|
||||
|
||||
if (user_options->benchmark == true) return 0;
|
||||
if (user_options->example_hashes == true) return 0;
|
||||
if (user_options->hash_info == true) return 0;
|
||||
if (user_options->keyspace == true) return 0;
|
||||
if (user_options->left == true) return 0;
|
||||
if (user_options->backend_info == true) return 0;
|
||||
|
@ -333,7 +333,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx)
|
||||
|
||||
hashconfig->has_optimized_kernel = hc_path_read (source_file);
|
||||
|
||||
if (user_options->example_hashes == false)
|
||||
if (user_options->hash_info == false)
|
||||
{
|
||||
if (user_options->optimized_kernel_enable == true)
|
||||
{
|
||||
|
@ -61,7 +61,7 @@ int loopback_init (hashcat_ctx_t *hashcat_ctx)
|
||||
loopback_ctx->enabled = false;
|
||||
|
||||
if (user_options->benchmark == true) return 0;
|
||||
if (user_options->example_hashes == true) return 0;
|
||||
if (user_options->hash_info == true) return 0;
|
||||
if (user_options->keyspace == true) return 0;
|
||||
if (user_options->left == true) return 0;
|
||||
if (user_options->backend_info == true) return 0;
|
||||
|
23
src/main.c
23
src/main.c
@ -184,16 +184,19 @@ static void main_outerloop_starting (MAYBE_UNUSED hashcat_ctx_t *hashcat_ctx, MA
|
||||
|
||||
status_ctx->shutdown_outer = false;
|
||||
|
||||
if ((user_options->example_hashes == false) && (user_options->keyspace == false) && (user_options->stdout_flag == false) && (user_options->backend_info == false) && (user_options->speed_only == false))
|
||||
if (user_options->hash_info == true) return;
|
||||
if (user_options->keyspace == true) return;
|
||||
if (user_options->stdout_flag == true) return;
|
||||
if (user_options->backend_info == true) return;
|
||||
if (user_options->speed_only == true) return;
|
||||
|
||||
if ((user_options_extra->wordlist_mode == WL_MODE_FILE) || (user_options_extra->wordlist_mode == WL_MODE_MASK))
|
||||
{
|
||||
if ((user_options_extra->wordlist_mode == WL_MODE_FILE) || (user_options_extra->wordlist_mode == WL_MODE_MASK))
|
||||
{
|
||||
// see thread_keypress() how to access status information
|
||||
// see thread_keypress() how to access status information
|
||||
|
||||
hc_thread_create (hashcat_user->outer_threads[hashcat_user->outer_threads_cnt], thread_keypress, hashcat_ctx);
|
||||
hc_thread_create (hashcat_user->outer_threads[hashcat_user->outer_threads_cnt], thread_keypress, hashcat_ctx);
|
||||
|
||||
hashcat_user->outer_threads_cnt++;
|
||||
}
|
||||
hashcat_user->outer_threads_cnt++;
|
||||
}
|
||||
}
|
||||
|
||||
@ -257,7 +260,7 @@ static void main_cracker_finished (MAYBE_UNUSED hashcat_ctx_t *hashcat_ctx, MAYB
|
||||
const user_options_t *user_options = hashcat_ctx->user_options;
|
||||
const user_options_extra_t *user_options_extra = hashcat_ctx->user_options_extra;
|
||||
|
||||
if (user_options->example_hashes == true) return;
|
||||
if (user_options->hash_info == true) return;
|
||||
if (user_options->keyspace == true) return;
|
||||
if (user_options->backend_info == true) return;
|
||||
if (user_options->stdout_flag == true) return;
|
||||
@ -1157,9 +1160,9 @@ int main (int argc, char **argv)
|
||||
|
||||
rc_final = 0;
|
||||
}
|
||||
else if (user_options->example_hashes == true)
|
||||
else if (user_options->hash_info == true)
|
||||
{
|
||||
example_hashes (hashcat_ctx);
|
||||
hash_info (hashcat_ctx);
|
||||
|
||||
rc_final = 0;
|
||||
}
|
||||
|
@ -1391,7 +1391,7 @@ int mask_ctx_init (hashcat_ctx_t *hashcat_ctx)
|
||||
|
||||
mask_ctx->enabled = false;
|
||||
|
||||
if (user_options->example_hashes == true) return 0;
|
||||
if (user_options->hash_info == true) return 0;
|
||||
if (user_options->left == true) return 0;
|
||||
if (user_options->backend_info == true) return 0;
|
||||
if (user_options->show == true) return 0;
|
||||
|
@ -360,7 +360,7 @@ int outcheck_ctx_init (hashcat_ctx_t *hashcat_ctx)
|
||||
|
||||
if (user_options->keyspace == true) return 0;
|
||||
if (user_options->benchmark == true) return 0;
|
||||
if (user_options->example_hashes == true) return 0;
|
||||
if (user_options->hash_info == true) return 0;
|
||||
if (user_options->speed_only == true) return 0;
|
||||
if (user_options->progress_only == true) return 0;
|
||||
if (user_options->backend_info == true) return 0;
|
||||
|
@ -111,7 +111,7 @@ int potfile_init (hashcat_ctx_t *hashcat_ctx)
|
||||
potfile_ctx->enabled = false;
|
||||
|
||||
if (user_options->benchmark == true) return 0;
|
||||
if (user_options->example_hashes == true) return 0;
|
||||
if (user_options->hash_info == true) return 0;
|
||||
if (user_options->keyspace == true) return 0;
|
||||
if (user_options->backend_info == true) return 0;
|
||||
if (user_options->stdout_flag == true) return 0;
|
||||
|
@ -299,7 +299,7 @@ int restore_ctx_init (hashcat_ctx_t *hashcat_ctx, int argc, char **argv)
|
||||
restore_ctx->enabled = false;
|
||||
|
||||
if (user_options->benchmark == true) return 0;
|
||||
if (user_options->example_hashes == true) return 0;
|
||||
if (user_options->hash_info == true) return 0;
|
||||
if (user_options->keyspace == true) return 0;
|
||||
if (user_options->left == true) return 0;
|
||||
if (user_options->backend_info == true) return 0;
|
||||
|
@ -261,7 +261,7 @@ int straight_ctx_init (hashcat_ctx_t *hashcat_ctx)
|
||||
|
||||
straight_ctx->enabled = false;
|
||||
|
||||
if (user_options->example_hashes == true) return 0;
|
||||
if (user_options->hash_info == true) return 0;
|
||||
if (user_options->left == true) return 0;
|
||||
if (user_options->backend_info == true) return 0;
|
||||
if (user_options->show == true) return 0;
|
||||
|
205
src/terminal.c
205
src/terminal.c
@ -537,67 +537,114 @@ void compress_terminal_line_length (char *out_buf, const size_t keep_from_beginn
|
||||
*ptr1 = 0;
|
||||
}
|
||||
|
||||
void example_hashes (hashcat_ctx_t *hashcat_ctx)
|
||||
void hash_info_single (hashcat_ctx_t *hashcat_ctx, user_options_t *user_options)
|
||||
{
|
||||
if (hashconfig_init (hashcat_ctx) == 0)
|
||||
{
|
||||
hashconfig_t *hashconfig = hashcat_ctx->hashconfig;
|
||||
|
||||
event_log_info (hashcat_ctx, "Hash mode #%u", hashconfig->hash_mode);
|
||||
event_log_info (hashcat_ctx, " Name................: %s", hashconfig->hash_name);
|
||||
event_log_info (hashcat_ctx, " Category............: %s", strhashcategory (hashconfig->hash_category));
|
||||
event_log_info (hashcat_ctx, " Slow.Hash...........: %s", (hashconfig->attack_exec == ATTACK_EXEC_INSIDE_KERNEL) ? "No" : "Yes");
|
||||
|
||||
event_log_info (hashcat_ctx, " Password.Len.Min....: %d", hashconfig->pw_min);
|
||||
event_log_info (hashcat_ctx, " Password.Len.Max....: %d", hashconfig->pw_max);
|
||||
|
||||
if (hashconfig->is_salted == true)
|
||||
{
|
||||
u32 t = hashconfig->salt_type;
|
||||
char *t_desc = (t == SALT_TYPE_EMBEDDED) ? "Embedded\0" : (t == SALT_TYPE_GENERIC) ? "Generic\0" : "Virtual\0";
|
||||
event_log_info (hashcat_ctx, " Salt.Type...........: %s", t_desc);
|
||||
event_log_info (hashcat_ctx, " Salt.Len.Min........: %d", hashconfig->salt_min);
|
||||
event_log_info (hashcat_ctx, " Salt.Len.Max........: %d", hashconfig->salt_max);
|
||||
}
|
||||
|
||||
event_log_info (hashcat_ctx, " Hashes.Count.Min....: %d", hashconfig->hashes_count_min);
|
||||
event_log_info (hashcat_ctx, " Hashes.Count.Max....: %u", hashconfig->hashes_count_max);
|
||||
|
||||
char kernel_types[15];
|
||||
|
||||
memset (kernel_types, 0, sizeof (kernel_types));
|
||||
|
||||
if (hashconfig->has_pure_kernel) strncat (kernel_types, "pure ", 5);
|
||||
if (hashconfig->has_optimized_kernel) strncat (kernel_types, "optimized", 9);
|
||||
|
||||
event_log_info (hashcat_ctx, " Kernel.Type(s)......: %s", kernel_types);
|
||||
|
||||
if ((hashconfig->st_hash != NULL) && (hashconfig->st_pass != NULL))
|
||||
{
|
||||
if (hashconfig->opts_type & OPTS_TYPE_BINARY_HASHFILE)
|
||||
{
|
||||
event_log_info (hashcat_ctx, " Example.Hash.Format.: hex-encoded");
|
||||
event_log_info (hashcat_ctx, " Example.Hash........: %s", hashconfig->st_hash);
|
||||
}
|
||||
else
|
||||
{
|
||||
event_log_info (hashcat_ctx, " Example.Hash.Format.: plain");
|
||||
event_log_info (hashcat_ctx, " Example.Hash........: %s", hashconfig->st_hash);
|
||||
}
|
||||
|
||||
if (need_hexify ((const u8 *) hashconfig->st_pass, strlen (hashconfig->st_pass), user_options->separator, false))
|
||||
{
|
||||
char tmp_buf[HCBUFSIZ_LARGE] = { 0 };
|
||||
|
||||
int tmp_len = 0;
|
||||
|
||||
tmp_buf[tmp_len++] = '$';
|
||||
tmp_buf[tmp_len++] = 'H';
|
||||
tmp_buf[tmp_len++] = 'E';
|
||||
tmp_buf[tmp_len++] = 'X';
|
||||
tmp_buf[tmp_len++] = '[';
|
||||
|
||||
exec_hexify ((const u8 *) hashconfig->st_pass, strlen (hashconfig->st_pass), (u8 *) tmp_buf + tmp_len);
|
||||
|
||||
tmp_len += strlen (hashconfig->st_pass) * 2;
|
||||
|
||||
tmp_buf[tmp_len++] = ']';
|
||||
tmp_buf[tmp_len++] = 0;
|
||||
|
||||
event_log_info (hashcat_ctx, " Example.Pass........: %s", tmp_buf);
|
||||
}
|
||||
else
|
||||
{
|
||||
event_log_info (hashcat_ctx, " Example.Pass........: %s", hashconfig->st_pass);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
event_log_info (hashcat_ctx, " Example.Hash.Format.: N/A");
|
||||
event_log_info (hashcat_ctx, " Example.Hash........: N/A");
|
||||
event_log_info (hashcat_ctx, " Example.Pass........: N/A");
|
||||
}
|
||||
|
||||
if (hashconfig->benchmark_mask != NULL)
|
||||
{
|
||||
event_log_info (hashcat_ctx, " Benchmark.Mask......: %s", hashconfig->benchmark_mask);
|
||||
}
|
||||
else
|
||||
{
|
||||
event_log_info (hashcat_ctx, " Benchmark.Mask......: N/A");
|
||||
}
|
||||
|
||||
event_log_info (hashcat_ctx, NULL);
|
||||
}
|
||||
|
||||
hashconfig_destroy (hashcat_ctx);
|
||||
}
|
||||
|
||||
void hash_info (hashcat_ctx_t *hashcat_ctx)
|
||||
{
|
||||
folder_config_t *folder_config = hashcat_ctx->folder_config;
|
||||
user_options_t *user_options = hashcat_ctx->user_options;
|
||||
|
||||
event_log_info (hashcat_ctx, "Hash Info:");
|
||||
event_log_info (hashcat_ctx, "==========");
|
||||
event_log_info (hashcat_ctx, NULL);
|
||||
|
||||
if (user_options->hash_mode_chgd == true)
|
||||
{
|
||||
if (hashconfig_init (hashcat_ctx) == 0)
|
||||
{
|
||||
hashconfig_t *hashconfig = hashcat_ctx->hashconfig;
|
||||
|
||||
event_log_info (hashcat_ctx, "MODE: %u", hashconfig->hash_mode);
|
||||
event_log_info (hashcat_ctx, "TYPE: %s", hashconfig->hash_name);
|
||||
|
||||
if ((hashconfig->st_hash != NULL) && (hashconfig->st_pass != NULL))
|
||||
{
|
||||
if (hashconfig->opts_type & OPTS_TYPE_BINARY_HASHFILE)
|
||||
{
|
||||
event_log_info (hashcat_ctx, "HASH (hex-encoded): %s", hashconfig->st_hash);
|
||||
}
|
||||
else
|
||||
{
|
||||
event_log_info (hashcat_ctx, "HASH: %s", hashconfig->st_hash);
|
||||
}
|
||||
|
||||
if (need_hexify ((const u8 *) hashconfig->st_pass, strlen (hashconfig->st_pass), user_options->separator, false))
|
||||
{
|
||||
char tmp_buf[HCBUFSIZ_LARGE] = { 0 };
|
||||
|
||||
int tmp_len = 0;
|
||||
|
||||
tmp_buf[tmp_len++] = '$';
|
||||
tmp_buf[tmp_len++] = 'H';
|
||||
tmp_buf[tmp_len++] = 'E';
|
||||
tmp_buf[tmp_len++] = 'X';
|
||||
tmp_buf[tmp_len++] = '[';
|
||||
|
||||
exec_hexify ((const u8 *) hashconfig->st_pass, strlen (hashconfig->st_pass), (u8 *) tmp_buf + tmp_len);
|
||||
|
||||
tmp_len += strlen (hashconfig->st_pass) * 2;
|
||||
|
||||
tmp_buf[tmp_len++] = ']';
|
||||
tmp_buf[tmp_len++] = 0;
|
||||
|
||||
event_log_info (hashcat_ctx, "PASS: %s", tmp_buf);
|
||||
}
|
||||
else
|
||||
{
|
||||
event_log_info (hashcat_ctx, "PASS: %s", hashconfig->st_pass);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
event_log_info (hashcat_ctx, "HASH: not stored");
|
||||
event_log_info (hashcat_ctx, "PASS: not stored");
|
||||
}
|
||||
|
||||
event_log_info (hashcat_ctx, NULL);
|
||||
}
|
||||
|
||||
hashconfig_destroy (hashcat_ctx);
|
||||
hash_info_single (hashcat_ctx, user_options);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -611,53 +658,7 @@ void example_hashes (hashcat_ctx_t *hashcat_ctx)
|
||||
|
||||
if (hc_path_exist (modulefile) == false) continue;
|
||||
|
||||
if (hashconfig_init (hashcat_ctx) == 0)
|
||||
{
|
||||
hashconfig_t *hashconfig = hashcat_ctx->hashconfig;
|
||||
|
||||
event_log_info (hashcat_ctx, "MODE: %u", hashconfig->hash_mode);
|
||||
event_log_info (hashcat_ctx, "TYPE: %s", hashconfig->hash_name);
|
||||
|
||||
if ((hashconfig->st_hash != NULL) && (hashconfig->st_pass != NULL))
|
||||
{
|
||||
event_log_info (hashcat_ctx, "HASH: %s", hashconfig->st_hash);
|
||||
|
||||
if (need_hexify ((const u8 *) hashconfig->st_pass, strlen (hashconfig->st_pass), user_options->separator, false))
|
||||
{
|
||||
char tmp_buf[HCBUFSIZ_LARGE] = { 0 };
|
||||
|
||||
int tmp_len = 0;
|
||||
|
||||
tmp_buf[tmp_len++] = '$';
|
||||
tmp_buf[tmp_len++] = 'H';
|
||||
tmp_buf[tmp_len++] = 'E';
|
||||
tmp_buf[tmp_len++] = 'X';
|
||||
tmp_buf[tmp_len++] = '[';
|
||||
|
||||
exec_hexify ((const u8 *) hashconfig->st_pass, strlen (hashconfig->st_pass), (u8 *) tmp_buf + tmp_len);
|
||||
|
||||
tmp_len += strlen (hashconfig->st_pass) * 2;
|
||||
|
||||
tmp_buf[tmp_len++] = ']';
|
||||
tmp_buf[tmp_len++] = 0;
|
||||
|
||||
event_log_info (hashcat_ctx, "PASS: %s", tmp_buf);
|
||||
}
|
||||
else
|
||||
{
|
||||
event_log_info (hashcat_ctx, "PASS: %s", hashconfig->st_pass);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
event_log_info (hashcat_ctx, "HASH: not stored");
|
||||
event_log_info (hashcat_ctx, "PASS: not stored");
|
||||
}
|
||||
|
||||
event_log_info (hashcat_ctx, NULL);
|
||||
}
|
||||
|
||||
hashconfig_destroy (hashcat_ctx);
|
||||
hash_info_single (hashcat_ctx, user_options);
|
||||
}
|
||||
|
||||
hcfree (modulefile);
|
||||
|
@ -54,7 +54,7 @@ int tuning_db_init (hashcat_ctx_t *hashcat_ctx)
|
||||
|
||||
tuning_db->enabled = false;
|
||||
|
||||
if (user_options->example_hashes == true) return 0;
|
||||
if (user_options->hash_info == true) return 0;
|
||||
if (user_options->keyspace == true) return 0;
|
||||
if (user_options->left == true) return 0;
|
||||
if (user_options->backend_info == true) return 0;
|
||||
|
@ -89,7 +89,8 @@ static const char *const USAGE_BIG_PRE_HASHMODES[] =
|
||||
" --bitmap-max | Num | Sets maximum bits allowed for bitmaps to X | --bitmap-max=24",
|
||||
" --cpu-affinity | Str | Locks to CPU devices, separated with commas | --cpu-affinity=1,2,3",
|
||||
" --hook-threads | Num | Sets number of threads for a hook (per compute unit) | --hook-threads=8",
|
||||
" --example-hashes | | Show an example hash for each hash-mode |",
|
||||
" --hash-info | | Show information for each hash-mode |",
|
||||
" --example-hashes | | Alias of --hash-info |",
|
||||
" --backend-ignore-cuda | | Do not try to open CUDA interface on startup |",
|
||||
" --backend-ignore-opencl | | Do not try to open OpenCL interface on startup |",
|
||||
" -I, --backend-info | | Show info about detected backend API devices | -I",
|
||||
|
@ -47,7 +47,7 @@ static const struct option long_options[] =
|
||||
{"debug-mode", required_argument, NULL, IDX_DEBUG_MODE},
|
||||
{"encoding-from", required_argument, NULL, IDX_ENCODING_FROM},
|
||||
{"encoding-to", required_argument, NULL, IDX_ENCODING_TO},
|
||||
{"example-hashes", no_argument, NULL, IDX_EXAMPLE_HASHES},
|
||||
{"example-hashes", no_argument, NULL, IDX_HASH_INFO}, // alias of hash-info
|
||||
{"force", no_argument, NULL, IDX_FORCE},
|
||||
{"generate-rules-func-max", required_argument, NULL, IDX_RP_GEN_FUNC_MAX},
|
||||
{"generate-rules-func-min", required_argument, NULL, IDX_RP_GEN_FUNC_MIN},
|
||||
@ -55,6 +55,7 @@ static const struct option long_options[] =
|
||||
{"generate-rules-seed", required_argument, NULL, IDX_RP_GEN_SEED},
|
||||
{"hwmon-disable", no_argument, NULL, IDX_HWMON_DISABLE},
|
||||
{"hwmon-temp-abort", required_argument, NULL, IDX_HWMON_TEMP_ABORT},
|
||||
{"hash-info", no_argument, NULL, IDX_HASH_INFO},
|
||||
{"hash-type", required_argument, NULL, IDX_HASH_MODE},
|
||||
{"hccapx-message-pair", required_argument, NULL, IDX_HCCAPX_MESSAGE_PAIR},
|
||||
{"help", no_argument, NULL, IDX_HELP},
|
||||
@ -184,10 +185,10 @@ int user_options_init (hashcat_ctx_t *hashcat_ctx)
|
||||
user_options->debug_mode = DEBUG_MODE;
|
||||
user_options->encoding_from = ENCODING_FROM;
|
||||
user_options->encoding_to = ENCODING_TO;
|
||||
user_options->example_hashes = EXAMPLE_HASHES;
|
||||
user_options->force = FORCE;
|
||||
user_options->hwmon_disable = HWMON_DISABLE;
|
||||
user_options->hwmon_temp_abort = HWMON_TEMP_ABORT;
|
||||
user_options->hash_info = HASH_INFO;
|
||||
user_options->hash_mode = HASH_MODE;
|
||||
user_options->hccapx_message_pair = HCCAPX_MESSAGE_PAIR;
|
||||
user_options->hex_charset = HEX_CHARSET;
|
||||
@ -380,7 +381,7 @@ int user_options_getopt (hashcat_ctx_t *hashcat_ctx, int argc, char **argv)
|
||||
case IDX_ENCODING_TO: user_options->encoding_to = optarg; break;
|
||||
case IDX_INDUCTION_DIR: user_options->induction_dir = optarg; break;
|
||||
case IDX_OUTFILE_CHECK_DIR: user_options->outfile_check_dir = optarg; break;
|
||||
case IDX_EXAMPLE_HASHES: user_options->example_hashes = true; break;
|
||||
case IDX_HASH_INFO: user_options->hash_info = true; break;
|
||||
case IDX_FORCE: user_options->force = true; break;
|
||||
case IDX_SELF_TEST_DISABLE: user_options->self_test_disable = true; break;
|
||||
case IDX_SKIP: user_options->skip = hc_strtoull (optarg, NULL, 10);
|
||||
@ -1391,7 +1392,7 @@ int user_options_sanity (hashcat_ctx_t *hashcat_ctx)
|
||||
show_error = false;
|
||||
}
|
||||
}
|
||||
else if (user_options->example_hashes == true)
|
||||
else if (user_options->hash_info == true)
|
||||
{
|
||||
if (user_options->hc_argc == 0)
|
||||
{
|
||||
@ -1589,9 +1590,9 @@ void user_options_session_auto (hashcat_ctx_t *hashcat_ctx)
|
||||
user_options->session = "benchmark";
|
||||
}
|
||||
|
||||
if (user_options->example_hashes == true)
|
||||
if (user_options->hash_info == true)
|
||||
{
|
||||
user_options->session = "example_hashes";
|
||||
user_options->session = "hash_info";
|
||||
}
|
||||
|
||||
if (user_options->usage == true)
|
||||
@ -1667,7 +1668,7 @@ void user_options_preprocess (hashcat_ctx_t *hashcat_ctx)
|
||||
user_options->bitmap_max = 1;
|
||||
}
|
||||
|
||||
if (user_options->example_hashes == true
|
||||
if (user_options->hash_info == true
|
||||
|| user_options->backend_info == true
|
||||
|| user_options->keyspace == true
|
||||
|| user_options->speed_only == true
|
||||
@ -1723,7 +1724,7 @@ void user_options_preprocess (hashcat_ctx_t *hashcat_ctx)
|
||||
}
|
||||
}
|
||||
|
||||
if (user_options->example_hashes == true)
|
||||
if (user_options->hash_info == true)
|
||||
{
|
||||
user_options->quiet = true;
|
||||
}
|
||||
@ -1837,7 +1838,7 @@ void user_options_preprocess (hashcat_ctx_t *hashcat_ctx)
|
||||
|
||||
if (user_options->attack_mode == ATTACK_MODE_BF)
|
||||
{
|
||||
if (user_options->example_hashes == true)
|
||||
if (user_options->hash_info == true)
|
||||
{
|
||||
|
||||
}
|
||||
@ -2058,7 +2059,7 @@ void user_options_extra_init (hashcat_ctx_t *hashcat_ctx)
|
||||
{
|
||||
|
||||
}
|
||||
else if (user_options->example_hashes == true)
|
||||
else if (user_options->hash_info == true)
|
||||
{
|
||||
|
||||
}
|
||||
@ -3001,7 +3002,7 @@ void user_options_logger (hashcat_ctx_t *hashcat_ctx)
|
||||
logfile_top_uint (user_options->bitmap_max);
|
||||
logfile_top_uint (user_options->bitmap_min);
|
||||
logfile_top_uint (user_options->debug_mode);
|
||||
logfile_top_uint (user_options->example_hashes);
|
||||
logfile_top_uint (user_options->hash_info);
|
||||
logfile_top_uint (user_options->force);
|
||||
logfile_top_uint (user_options->hwmon_disable);
|
||||
logfile_top_uint (user_options->hwmon_temp_abort);
|
||||
|
@ -588,7 +588,7 @@ int wl_data_init (hashcat_ctx_t *hashcat_ctx)
|
||||
wl_data->enabled = false;
|
||||
|
||||
if (user_options->benchmark == true) return 0;
|
||||
if (user_options->example_hashes == true) return 0;
|
||||
if (user_options->hash_info == true) return 0;
|
||||
if (user_options->left == true) return 0;
|
||||
if (user_options->backend_info == true) return 0;
|
||||
if (user_options->usage == true) return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user