mirror of
https://github.com/hashcat/hashcat.git
synced 2024-11-26 18:08:20 +00:00
Move more code from hashcat.c to opencl.c related to opencl device initialization and shutdown
This commit is contained in:
parent
f273d4771b
commit
caeedd5646
@ -63,7 +63,10 @@ int run_cracker (opencl_ctx_t *opencl_ctx, hc_device_param_t *device_param, hash
|
|||||||
int opencl_ctx_init (opencl_ctx_t *opencl_ctx, const char *opencl_platforms, const char *opencl_devices, const char *opencl_device_types, const uint opencl_vector_width, const uint opencl_vector_width_chgd, const uint nvidia_spin_damp, const uint nvidia_spin_damp_chgd, const uint workload_profile, const uint kernel_accel, const uint kernel_accel_chgd, const uint kernel_loops, const uint kernel_loops_chgd, const uint keyspace, const uint stdout_flag);
|
int opencl_ctx_init (opencl_ctx_t *opencl_ctx, const char *opencl_platforms, const char *opencl_devices, const char *opencl_device_types, const uint opencl_vector_width, const uint opencl_vector_width_chgd, const uint nvidia_spin_damp, const uint nvidia_spin_damp_chgd, const uint workload_profile, const uint kernel_accel, const uint kernel_accel_chgd, const uint kernel_loops, const uint kernel_loops_chgd, const uint keyspace, const uint stdout_flag);
|
||||||
void opencl_ctx_destroy (opencl_ctx_t *opencl_ctx);
|
void opencl_ctx_destroy (opencl_ctx_t *opencl_ctx);
|
||||||
|
|
||||||
int opencl_ctx_devices_init (opencl_ctx_t *opencl_ctx, const hashconfig_t *hashconfig, const tuning_db_t *tuning_db, const uint attack_mode, const uint quiet, const uint force, const uint benchmark, const uint machine_readable, const uint algorithm_pos);
|
int opencl_ctx_devices_init (opencl_ctx_t *opencl_ctx, const hashconfig_t *hashconfig, const tuning_db_t *tuning_db, const uint attack_mode, const bool quiet, const bool force, const bool benchmark, const bool machine_readable, const uint algorithm_pos);
|
||||||
void opencl_ctx_devices_destroy (opencl_ctx_t *opencl_ctx);
|
void opencl_ctx_devices_destroy (opencl_ctx_t *opencl_ctx);
|
||||||
|
|
||||||
|
int opencl_session_begin (opencl_ctx_t *opencl_ctx, const hashconfig_t *hashconfig, const hashes_t *hashes, const session_ctx_t *session_ctx);
|
||||||
|
int opencl_session_destroy (opencl_ctx_t *opencl_ctx);
|
||||||
|
|
||||||
#endif // _OPENCL_H
|
#endif // _OPENCL_H
|
||||||
|
13
include/session.h
Normal file
13
include/session.h
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/**
|
||||||
|
* Author......: See docs/credits.txt
|
||||||
|
* License.....: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SESSION_H
|
||||||
|
#define _SESSION_H
|
||||||
|
|
||||||
|
void session_ctx_init (session_ctx_t *session_ctx, const bool quiet, const bool force, const bool benchmark, const u32 scrypt_tmto, char *cwd, char *install_dir, char *profile_dir, char *session_dir, char *shared_dir, char *cpath_real, const u32 wordlist_mode, char *rule_buf_l, char *rule_buf_r, const int rule_len_l, const int rule_len_r, const u32 kernel_rules_cnt, kernel_rule_t *kernel_rules_buf, const u32 attack_mode, const u32 attack_kern, const u32 bitmap_size, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, u32 *bitmap_s1_a, u32 *bitmap_s1_b, u32 *bitmap_s1_c, u32 *bitmap_s1_d, u32 *bitmap_s2_a, u32 *bitmap_s2_b, u32 *bitmap_s2_c, u32 *bitmap_s2_d);
|
||||||
|
|
||||||
|
void session_ctx_destroy (session_ctx_t *session_ctx);
|
||||||
|
|
||||||
|
#endif // _SESSION_H
|
@ -482,10 +482,10 @@ typedef struct
|
|||||||
|
|
||||||
void *ocl;
|
void *ocl;
|
||||||
|
|
||||||
cl_uint platforms_cnt;
|
cl_uint platforms_cnt;
|
||||||
cl_platform_id *platforms;
|
cl_platform_id *platforms;
|
||||||
|
|
||||||
cl_uint platform_devices_cnt;
|
cl_uint platform_devices_cnt;
|
||||||
cl_device_id *platform_devices;
|
cl_device_id *platform_devices;
|
||||||
|
|
||||||
u32 devices_cnt;
|
u32 devices_cnt;
|
||||||
@ -518,6 +518,8 @@ typedef struct
|
|||||||
int need_nvapi;
|
int need_nvapi;
|
||||||
int need_xnvctrl;
|
int need_xnvctrl;
|
||||||
|
|
||||||
|
int force_jit_compilation;
|
||||||
|
|
||||||
} opencl_ctx_t;
|
} opencl_ctx_t;
|
||||||
|
|
||||||
#if defined (__APPLE__)
|
#if defined (__APPLE__)
|
||||||
@ -731,6 +733,50 @@ typedef struct
|
|||||||
|
|
||||||
} wl_data_t;
|
} wl_data_t;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
bool quiet;
|
||||||
|
bool force;
|
||||||
|
bool benchmark;
|
||||||
|
|
||||||
|
u32 scrypt_tmto;
|
||||||
|
|
||||||
|
char *cwd;
|
||||||
|
char *install_dir;
|
||||||
|
char *profile_dir;
|
||||||
|
char *session_dir;
|
||||||
|
char *shared_dir;
|
||||||
|
char *cpath_real;
|
||||||
|
|
||||||
|
u32 wordlist_mode;
|
||||||
|
|
||||||
|
char *rule_buf_l;
|
||||||
|
char *rule_buf_r;
|
||||||
|
int rule_len_l;
|
||||||
|
int rule_len_r;
|
||||||
|
|
||||||
|
u32 kernel_rules_cnt;
|
||||||
|
kernel_rule_t *kernel_rules_buf;
|
||||||
|
|
||||||
|
u32 attack_mode;
|
||||||
|
u32 attack_kern;
|
||||||
|
|
||||||
|
u32 bitmap_size;
|
||||||
|
u32 bitmap_mask;
|
||||||
|
u32 bitmap_shift1;
|
||||||
|
u32 bitmap_shift2;
|
||||||
|
|
||||||
|
u32 *bitmap_s1_a;
|
||||||
|
u32 *bitmap_s1_b;
|
||||||
|
u32 *bitmap_s1_c;
|
||||||
|
u32 *bitmap_s1_d;
|
||||||
|
u32 *bitmap_s2_a;
|
||||||
|
u32 *bitmap_s2_b;
|
||||||
|
u32 *bitmap_s2_c;
|
||||||
|
u32 *bitmap_s2_d;
|
||||||
|
|
||||||
|
} session_ctx_t;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@ -794,13 +840,6 @@ typedef struct
|
|||||||
hm_attrs_t hm_device[DEVICES_MAX];
|
hm_attrs_t hm_device[DEVICES_MAX];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
|
||||||
* hashes
|
|
||||||
*/
|
|
||||||
|
|
||||||
u32 scrypt_tmp_size;
|
|
||||||
u32 scrypt_tmto_final;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* logging
|
* logging
|
||||||
*/
|
*/
|
||||||
@ -830,7 +869,6 @@ typedef struct
|
|||||||
u32 maskpos;
|
u32 maskpos;
|
||||||
char *session;
|
char *session;
|
||||||
|
|
||||||
char *homedir;
|
|
||||||
char *install_dir;
|
char *install_dir;
|
||||||
char *profile_dir;
|
char *profile_dir;
|
||||||
char *session_dir;
|
char *session_dir;
|
||||||
@ -880,6 +918,7 @@ typedef struct
|
|||||||
potfile_ctx_t *potfile_ctx;
|
potfile_ctx_t *potfile_ctx;
|
||||||
loopback_ctx_t *loopback_ctx;
|
loopback_ctx_t *loopback_ctx;
|
||||||
debugfile_ctx_t *debugfile_ctx;
|
debugfile_ctx_t *debugfile_ctx;
|
||||||
|
session_ctx_t *session_ctx;
|
||||||
|
|
||||||
#if defined (HAVE_HWMON)
|
#if defined (HAVE_HWMON)
|
||||||
u32 gpu_temp_disable;
|
u32 gpu_temp_disable;
|
||||||
|
@ -163,7 +163,7 @@ LFLAGS_CROSS_WIN := -lpsapi
|
|||||||
## Objects
|
## Objects
|
||||||
##
|
##
|
||||||
|
|
||||||
OBJS_ALL := affinity attack_mode autotune benchmark bitmap bitops common convert cpu_aes cpu_crc32 cpu_des cpu_md5 cpu_sha1 cpu_sha256 data debugfile dictstat dispatch dynloader ext_ADL ext_nvapi ext_nvml ext_OpenCL ext_xnvctrl filehandling filenames folder hash_management hlfmt hwmon induct interface locking logfile logging loopback memory monitor mpsp opencl outfile_check outfile potfile powertune remove restore rp_cpu rp_kernel_on_cpu runtime shared status stdout terminal thread timer tuningdb usage version weak_hash wordlist
|
OBJS_ALL := affinity attack_mode autotune benchmark bitmap bitops common convert cpu_aes cpu_crc32 cpu_des cpu_md5 cpu_sha1 cpu_sha256 data debugfile dictstat dispatch dynloader ext_ADL ext_nvapi ext_nvml ext_OpenCL ext_xnvctrl filehandling filenames folder hash_management hlfmt hwmon induct interface locking logfile logging loopback memory monitor mpsp opencl outfile_check outfile potfile powertune remove restore rp_cpu rp_kernel_on_cpu runtime session shared status stdout terminal thread timer tuningdb usage version weak_hash wordlist
|
||||||
|
|
||||||
NATIVE_OBJS := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).NATIVE.o)
|
NATIVE_OBJS := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).NATIVE.o)
|
||||||
|
|
||||||
|
2177
src/hashcat.c
2177
src/hashcat.c
File diff suppressed because it is too large
Load Diff
2050
src/opencl.c
2050
src/opencl.c
File diff suppressed because it is too large
Load Diff
94
src/session.c
Normal file
94
src/session.c
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
/**
|
||||||
|
* Author......: See docs/credits.txt
|
||||||
|
* License.....: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
|
#include "types.h"
|
||||||
|
#include "session.h"
|
||||||
|
|
||||||
|
void session_ctx_init (session_ctx_t *session_ctx, const bool quiet, const bool force, const bool benchmark, const u32 scrypt_tmto, char *cwd, char *install_dir, char *profile_dir, char *session_dir, char *shared_dir, char *cpath_real, const u32 wordlist_mode, char *rule_buf_l, char *rule_buf_r, const int rule_len_l, const int rule_len_r, const u32 kernel_rules_cnt, kernel_rule_t *kernel_rules_buf, const u32 attack_mode, const u32 attack_kern, const u32 bitmap_size, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, u32 *bitmap_s1_a, u32 *bitmap_s1_b, u32 *bitmap_s1_c, u32 *bitmap_s1_d, u32 *bitmap_s2_a, u32 *bitmap_s2_b, u32 *bitmap_s2_c, u32 *bitmap_s2_d)
|
||||||
|
{
|
||||||
|
session_ctx->quiet = quiet;
|
||||||
|
session_ctx->force = force;
|
||||||
|
session_ctx->benchmark = benchmark;
|
||||||
|
|
||||||
|
session_ctx->scrypt_tmto = scrypt_tmto;
|
||||||
|
|
||||||
|
session_ctx->cwd = cwd;
|
||||||
|
session_ctx->install_dir = install_dir;
|
||||||
|
session_ctx->profile_dir = profile_dir;
|
||||||
|
session_ctx->session_dir = session_dir;
|
||||||
|
session_ctx->shared_dir = shared_dir;
|
||||||
|
session_ctx->cpath_real = cpath_real;
|
||||||
|
|
||||||
|
session_ctx->wordlist_mode = wordlist_mode;
|
||||||
|
|
||||||
|
session_ctx->rule_buf_l = rule_buf_l;
|
||||||
|
session_ctx->rule_buf_r = rule_buf_r;
|
||||||
|
session_ctx->rule_len_l = rule_len_l;
|
||||||
|
session_ctx->rule_len_r = rule_len_r;
|
||||||
|
|
||||||
|
session_ctx->kernel_rules_cnt = kernel_rules_cnt;
|
||||||
|
session_ctx->kernel_rules_buf = kernel_rules_buf;
|
||||||
|
|
||||||
|
session_ctx->attack_mode = attack_mode;
|
||||||
|
session_ctx->attack_kern = attack_kern;
|
||||||
|
|
||||||
|
session_ctx->bitmap_size = bitmap_size;
|
||||||
|
session_ctx->bitmap_mask = bitmap_mask;
|
||||||
|
session_ctx->bitmap_shift1 = bitmap_shift1;
|
||||||
|
session_ctx->bitmap_shift2 = bitmap_shift2;
|
||||||
|
|
||||||
|
session_ctx->bitmap_s1_a = bitmap_s1_a;
|
||||||
|
session_ctx->bitmap_s1_b = bitmap_s1_b;
|
||||||
|
session_ctx->bitmap_s1_c = bitmap_s1_c;
|
||||||
|
session_ctx->bitmap_s1_d = bitmap_s1_d;
|
||||||
|
session_ctx->bitmap_s2_a = bitmap_s2_a;
|
||||||
|
session_ctx->bitmap_s2_b = bitmap_s2_b;
|
||||||
|
session_ctx->bitmap_s2_c = bitmap_s2_c;
|
||||||
|
session_ctx->bitmap_s2_d = bitmap_s2_d;
|
||||||
|
}
|
||||||
|
|
||||||
|
void session_ctx_destroy (session_ctx_t *session_ctx)
|
||||||
|
{
|
||||||
|
session_ctx->quiet = false;
|
||||||
|
session_ctx->force = false;
|
||||||
|
session_ctx->benchmark = false;
|
||||||
|
|
||||||
|
session_ctx->scrypt_tmto = 0;
|
||||||
|
|
||||||
|
session_ctx->cwd = NULL;
|
||||||
|
session_ctx->install_dir = NULL;
|
||||||
|
session_ctx->profile_dir = NULL;
|
||||||
|
session_ctx->session_dir = NULL;
|
||||||
|
session_ctx->shared_dir = NULL;
|
||||||
|
session_ctx->cpath_real = NULL;
|
||||||
|
|
||||||
|
session_ctx->wordlist_mode = 0;
|
||||||
|
|
||||||
|
session_ctx->rule_buf_l = NULL;
|
||||||
|
session_ctx->rule_buf_r = NULL;
|
||||||
|
session_ctx->rule_len_l = 0;
|
||||||
|
session_ctx->rule_len_r = 0;
|
||||||
|
|
||||||
|
session_ctx->kernel_rules_buf = NULL;
|
||||||
|
session_ctx->kernel_rules_cnt = 0;
|
||||||
|
|
||||||
|
session_ctx->attack_mode = 0;
|
||||||
|
session_ctx->attack_kern = 0;
|
||||||
|
|
||||||
|
session_ctx->bitmap_size = 0;
|
||||||
|
session_ctx->bitmap_mask = 0;
|
||||||
|
session_ctx->bitmap_shift1 = 0;
|
||||||
|
session_ctx->bitmap_shift2 = 0;
|
||||||
|
|
||||||
|
session_ctx->bitmap_s1_a = NULL;
|
||||||
|
session_ctx->bitmap_s1_b = NULL;
|
||||||
|
session_ctx->bitmap_s1_c = NULL;
|
||||||
|
session_ctx->bitmap_s1_d = NULL;
|
||||||
|
session_ctx->bitmap_s2_a = NULL;
|
||||||
|
session_ctx->bitmap_s2_b = NULL;
|
||||||
|
session_ctx->bitmap_s2_c = NULL;
|
||||||
|
session_ctx->bitmap_s2_d = NULL;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user