Fixed invalid ETA if --limit was specified, several salts are in a hash list and some of them were found in a potfile
This commit is contained in:
+26
-4
@@ -1261,9 +1261,10 @@ u64 status_get_progress_cur (const hashcat_ctx_t *hashcat_ctx)
|
||||
|
||||
u64 status_get_progress_ignore (const hashcat_ctx_t *hashcat_ctx)
|
||||
{
|
||||
const hashes_t *hashes = hashcat_ctx->hashes;
|
||||
const status_ctx_t *status_ctx = hashcat_ctx->status_ctx;
|
||||
const user_options_t *user_options = hashcat_ctx->user_options;
|
||||
const hashes_t *hashes = hashcat_ctx->hashes;
|
||||
const status_ctx_t *status_ctx = hashcat_ctx->status_ctx;
|
||||
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->attack_mode == ATTACK_MODE_ASSOCIATION)
|
||||
{
|
||||
@@ -1273,6 +1274,27 @@ u64 status_get_progress_ignore (const hashcat_ctx_t *hashcat_ctx)
|
||||
return 0;
|
||||
}
|
||||
|
||||
u64 words_cnt = status_ctx->words_cnt;
|
||||
|
||||
if (user_options->limit)
|
||||
{
|
||||
const combinator_ctx_t *combinator_ctx = hashcat_ctx->combinator_ctx;
|
||||
const mask_ctx_t *mask_ctx = hashcat_ctx->mask_ctx;
|
||||
const straight_ctx_t *straight_ctx = hashcat_ctx->straight_ctx;
|
||||
|
||||
words_cnt = MIN (user_options->limit, status_ctx->words_base);
|
||||
|
||||
if (user_options->slow_candidates == true)
|
||||
{
|
||||
// nothing to do
|
||||
}
|
||||
else
|
||||
{
|
||||
if (user_options_extra->attack_kern == ATTACK_KERN_STRAIGHT) words_cnt *= straight_ctx->kernel_rules_cnt;
|
||||
else if (user_options_extra->attack_kern == ATTACK_KERN_COMBI) words_cnt *= combinator_ctx->combs_cnt;
|
||||
else if (user_options_extra->attack_kern == ATTACK_KERN_BF) words_cnt *= mask_ctx->bfs_cnt;
|
||||
}
|
||||
}
|
||||
// Important for ETA only
|
||||
|
||||
u64 progress_ignore = 0;
|
||||
@@ -1285,7 +1307,7 @@ u64 status_get_progress_ignore (const hashcat_ctx_t *hashcat_ctx)
|
||||
+ status_ctx->words_progress_rejected[salt_pos]
|
||||
+ status_ctx->words_progress_restored[salt_pos];
|
||||
|
||||
const u64 left = status_ctx->words_cnt - all;
|
||||
const u64 left = words_cnt - all;
|
||||
|
||||
progress_ignore += left;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user