mirror of
https://github.com/hashcat/hashcat.git
synced 2024-12-23 23:19:09 +00:00
Add event_set_kernel_power_final()
This commit is contained in:
parent
d993aa5ffa
commit
f469694030
@ -112,6 +112,7 @@ typedef enum event_identifier
|
|||||||
EVENT_BITMAP_INIT_POST = 0x00000082,
|
EVENT_BITMAP_INIT_POST = 0x00000082,
|
||||||
EVENT_WEAK_HASH_PRE = 0x00000091,
|
EVENT_WEAK_HASH_PRE = 0x00000091,
|
||||||
EVENT_WEAK_HASH_POST = 0x00000092,
|
EVENT_WEAK_HASH_POST = 0x00000092,
|
||||||
|
EVENT_SET_KERNEL_POWER_FINAL = 0x000000a1,
|
||||||
|
|
||||||
// there will be much more event types soon
|
// there will be much more event types soon
|
||||||
|
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include "memory.h"
|
#include "memory.h"
|
||||||
#include "logging.h"
|
|
||||||
#include "bitmap.h"
|
#include "bitmap.h"
|
||||||
|
|
||||||
static u32 generate_bitmaps (const u32 digests_cnt, const u32 dgst_size, const u32 dgst_shifts, char *digests_buf_ptr, const u32 dgst_pos0, const u32 dgst_pos1, const u32 dgst_pos2, const u32 dgst_pos3, const u32 bitmap_mask, const u32 bitmap_size, u32 *bitmap_a, u32 *bitmap_b, u32 *bitmap_c, u32 *bitmap_d, const u64 collisions_max)
|
static u32 generate_bitmaps (const u32 digests_cnt, const u32 dgst_size, const u32 dgst_shifts, char *digests_buf_ptr, const u32 dgst_pos0, const u32 dgst_pos1, const u32 dgst_pos2, const u32 dgst_pos3, const u32 bitmap_mask, const u32 bitmap_size, u32 *bitmap_a, u32 *bitmap_b, u32 *bitmap_c, u32 *bitmap_d, const u64 collisions_max)
|
||||||
|
@ -35,21 +35,15 @@
|
|||||||
#include "shared.h"
|
#include "shared.h"
|
||||||
#include "dispatch.h"
|
#include "dispatch.h"
|
||||||
|
|
||||||
static void set_kernel_power_final (opencl_ctx_t *opencl_ctx, const user_options_t *user_options, const u64 kernel_power_final)
|
static int set_kernel_power_final (hashcat_ctx_t *hashcat_ctx, const u32 kernel_power_final)
|
||||||
{
|
{
|
||||||
if (user_options->quiet == false)
|
EVENT_SEND (EVENT_SET_KERNEL_POWER_FINAL);
|
||||||
{
|
|
||||||
clear_prompt ();
|
|
||||||
|
|
||||||
//log_info ("");
|
opencl_ctx_t *opencl_ctx = hashcat_ctx->opencl_ctx;
|
||||||
|
|
||||||
log_info ("INFO: approaching final keyspace, workload adjusted");
|
|
||||||
log_info ("");
|
|
||||||
|
|
||||||
send_prompt ();
|
|
||||||
}
|
|
||||||
|
|
||||||
opencl_ctx->kernel_power_final = kernel_power_final;
|
opencl_ctx->kernel_power_final = kernel_power_final;
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32 get_power (opencl_ctx_t *opencl_ctx, hc_device_param_t *device_param)
|
static u32 get_power (opencl_ctx_t *opencl_ctx, hc_device_param_t *device_param)
|
||||||
@ -72,8 +66,12 @@ static u32 get_power (opencl_ctx_t *opencl_ctx, hc_device_param_t *device_param)
|
|||||||
return device_param->kernel_power;
|
return device_param->kernel_power;
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32 get_work (opencl_ctx_t *opencl_ctx, status_ctx_t *status_ctx, const user_options_t *user_options, hc_device_param_t *device_param, const u64 max)
|
static u32 get_work (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param, const u64 max)
|
||||||
{
|
{
|
||||||
|
opencl_ctx_t *opencl_ctx = hashcat_ctx->opencl_ctx;
|
||||||
|
status_ctx_t *status_ctx = hashcat_ctx->status_ctx;
|
||||||
|
user_options_t *user_options = hashcat_ctx->user_options;
|
||||||
|
|
||||||
hc_thread_mutex_lock (status_ctx->mux_dispatcher);
|
hc_thread_mutex_lock (status_ctx->mux_dispatcher);
|
||||||
|
|
||||||
const u64 words_cur = status_ctx->words_cur;
|
const u64 words_cur = status_ctx->words_cur;
|
||||||
@ -89,7 +87,7 @@ static u32 get_work (opencl_ctx_t *opencl_ctx, status_ctx_t *status_ctx, const u
|
|||||||
{
|
{
|
||||||
if (opencl_ctx->kernel_power_final == 0)
|
if (opencl_ctx->kernel_power_final == 0)
|
||||||
{
|
{
|
||||||
set_kernel_power_final (opencl_ctx, user_options, words_left);
|
set_kernel_power_final (hashcat_ctx, words_left);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -255,7 +253,6 @@ static void calc (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param)
|
|||||||
hashes_t *hashes = hashcat_ctx->hashes;
|
hashes_t *hashes = hashcat_ctx->hashes;
|
||||||
straight_ctx_t *straight_ctx = hashcat_ctx->straight_ctx;
|
straight_ctx_t *straight_ctx = hashcat_ctx->straight_ctx;
|
||||||
combinator_ctx_t *combinator_ctx = hashcat_ctx->combinator_ctx;
|
combinator_ctx_t *combinator_ctx = hashcat_ctx->combinator_ctx;
|
||||||
opencl_ctx_t *opencl_ctx = hashcat_ctx->opencl_ctx;
|
|
||||||
status_ctx_t *status_ctx = hashcat_ctx->status_ctx;
|
status_ctx_t *status_ctx = hashcat_ctx->status_ctx;
|
||||||
|
|
||||||
const u32 attack_mode = user_options->attack_mode;
|
const u32 attack_mode = user_options->attack_mode;
|
||||||
@ -265,7 +262,7 @@ static void calc (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param)
|
|||||||
{
|
{
|
||||||
while (status_ctx->run_thread_level1 == true)
|
while (status_ctx->run_thread_level1 == true)
|
||||||
{
|
{
|
||||||
const u32 work = get_work (opencl_ctx, status_ctx, user_options, device_param, -1u);
|
const u32 work = get_work (hashcat_ctx, device_param, -1u);
|
||||||
|
|
||||||
if (work == 0) break;
|
if (work == 0) break;
|
||||||
|
|
||||||
@ -407,7 +404,7 @@ static void calc (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param)
|
|||||||
|
|
||||||
while (max)
|
while (max)
|
||||||
{
|
{
|
||||||
const u32 work = get_work (opencl_ctx, status_ctx, user_options, device_param, max);
|
const u32 work = get_work (hashcat_ctx, device_param, max);
|
||||||
|
|
||||||
if (work == 0) break;
|
if (work == 0) break;
|
||||||
|
|
||||||
|
17
src/main.c
17
src/main.c
@ -462,6 +462,21 @@ static int event_bitmap_init_post (hashcat_ctx_t *hashcat_ctx)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int event_set_kernel_power_final (hashcat_ctx_t *hashcat_ctx)
|
||||||
|
{
|
||||||
|
const user_options_t *user_options = hashcat_ctx->user_options;
|
||||||
|
|
||||||
|
if (user_options->quiet == true) return 0;
|
||||||
|
|
||||||
|
clear_prompt ();
|
||||||
|
|
||||||
|
log_info ("INFO: approaching final keyspace, workload adjusted");
|
||||||
|
log_info ("");
|
||||||
|
|
||||||
|
send_prompt ();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int event (hashcat_ctx_t *hashcat_ctx, const u32 event)
|
int event (hashcat_ctx_t *hashcat_ctx, const u32 event)
|
||||||
{
|
{
|
||||||
@ -492,6 +507,8 @@ int event (hashcat_ctx_t *hashcat_ctx, const u32 event)
|
|||||||
case EVENT_BITMAP_INIT_POST: rc = event_bitmap_init_post (hashcat_ctx); break;
|
case EVENT_BITMAP_INIT_POST: rc = event_bitmap_init_post (hashcat_ctx); break;
|
||||||
case EVENT_WEAK_HASH_PRE: rc = event_weak_hash_pre (hashcat_ctx); break;
|
case EVENT_WEAK_HASH_PRE: rc = event_weak_hash_pre (hashcat_ctx); break;
|
||||||
case EVENT_WEAK_HASH_POST: rc = event_weak_hash_post (hashcat_ctx); break;
|
case EVENT_WEAK_HASH_POST: rc = event_weak_hash_post (hashcat_ctx); break;
|
||||||
|
case EVENT_SET_KERNEL_POWER_FINAL: rc = event_set_kernel_power_final (hashcat_ctx); break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
|
Loading…
Reference in New Issue
Block a user