mirror of
https://github.com/hashcat/hashcat.git
synced 2024-11-23 00:28:11 +00:00
Add some reserved scratch buffer for innerloop combinator instead of reallocating each time
This commit is contained in:
parent
c1aba9e314
commit
15d2f9b11e
@ -1219,6 +1219,8 @@ typedef struct combinator_ctx
|
|||||||
{
|
{
|
||||||
bool enabled;
|
bool enabled;
|
||||||
|
|
||||||
|
char *scratch_buf;
|
||||||
|
|
||||||
char *dict1;
|
char *dict1;
|
||||||
char *dict2;
|
char *dict2;
|
||||||
|
|
||||||
|
@ -26,6 +26,8 @@ int combinator_ctx_init (combinator_ctx_t *combinator_ctx, user_options_t *user_
|
|||||||
|
|
||||||
combinator_ctx->enabled = true;
|
combinator_ctx->enabled = true;
|
||||||
|
|
||||||
|
combinator_ctx->scratch_buf = (char *) mymalloc (HCBUFSIZ_LARGE);
|
||||||
|
|
||||||
if (user_options->attack_mode == ATTACK_MODE_STRAIGHT)
|
if (user_options->attack_mode == ATTACK_MODE_STRAIGHT)
|
||||||
{
|
{
|
||||||
// nothing to do
|
// nothing to do
|
||||||
@ -175,5 +177,7 @@ void combinator_ctx_destroy (combinator_ctx_t *combinator_ctx)
|
|||||||
{
|
{
|
||||||
if (combinator_ctx->enabled == false) return;
|
if (combinator_ctx->enabled == false) return;
|
||||||
|
|
||||||
|
myfree (combinator_ctx->scratch_buf);
|
||||||
|
|
||||||
memset (combinator_ctx, 0, sizeof (combinator_ctx_t));
|
memset (combinator_ctx, 0, sizeof (combinator_ctx_t));
|
||||||
}
|
}
|
||||||
|
@ -998,8 +998,6 @@ int run_cracker (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param, co
|
|||||||
user_options_t *user_options = hashcat_ctx->user_options;
|
user_options_t *user_options = hashcat_ctx->user_options;
|
||||||
user_options_extra_t *user_options_extra = hashcat_ctx->user_options_extra;
|
user_options_extra_t *user_options_extra = hashcat_ctx->user_options_extra;
|
||||||
|
|
||||||
char *line_buf = (char *) mymalloc (HCBUFSIZ_LARGE);
|
|
||||||
|
|
||||||
// init speed timer
|
// init speed timer
|
||||||
|
|
||||||
u32 speed_pos = device_param->speed_pos;
|
u32 speed_pos = device_param->speed_pos;
|
||||||
@ -1111,6 +1109,8 @@ int run_cracker (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param, co
|
|||||||
|
|
||||||
if (user_options->attack_mode == ATTACK_MODE_COMBI)
|
if (user_options->attack_mode == ATTACK_MODE_COMBI)
|
||||||
{
|
{
|
||||||
|
char *line_buf = combinator_ctx->scratch_buf;
|
||||||
|
|
||||||
u32 i = 0;
|
u32 i = 0;
|
||||||
|
|
||||||
while (i < innerloop_left)
|
while (i < innerloop_left)
|
||||||
@ -1348,8 +1348,6 @@ int run_cracker (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param, co
|
|||||||
|
|
||||||
device_param->speed_pos = speed_pos;
|
device_param->speed_pos = speed_pos;
|
||||||
|
|
||||||
myfree (line_buf);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -875,8 +875,12 @@ void status_display (hashcat_ctx_t *hashcat_ctx)
|
|||||||
|
|
||||||
if (device_param->skipped) continue;
|
if (device_param->skipped) continue;
|
||||||
|
|
||||||
if (device_param->outerloop_left == 0) continue; // not ready
|
if ((device_param->outerloop_left == 0) || (device_param->innerloop_left == 0))
|
||||||
if (device_param->innerloop_left == 0) continue;
|
{
|
||||||
|
log_info ("Candidates.#%d..: [Copying/Generating]", device_id + 1);
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
const u32 outerloop_first = 0;
|
const u32 outerloop_first = 0;
|
||||||
const u32 outerloop_last = device_param->outerloop_left - 1;
|
const u32 outerloop_last = device_param->outerloop_left - 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user