X-Git-Url: https://www.flypig.org.uk/git/?a=blobdiff_plain;f=include%2Ftypes.h;h=37e877cac93cd8e70188cc9bfe68099d0b35f2f7;hb=161a6eb4bc643d8e636e96eda613f5137d30da59;hp=022d84f26a1e1c4abd1058a743ab45026c913916;hpb=7a4ab2b42daf32259b0158ba879d2792abe7bdcf;p=hashcat.git diff --git a/include/types.h b/include/types.h index 022d84f..37e877c 100644 --- a/include/types.h +++ b/include/types.h @@ -6,6 +6,12 @@ #ifndef TYPES_H #define TYPES_H +#ifdef _WIN +#define EOL "\r\n" +#else +#define EOL "\n" +#endif + typedef struct { uint salt_buf[16]; @@ -26,8 +32,6 @@ typedef struct uint scrypt_N; uint scrypt_r; uint scrypt_p; - uint scrypt_tmto; - uint scrypt_phy; } salt_t; @@ -168,6 +172,7 @@ typedef struct uint salt_buf[16]; uint data_buf[112]; uint keyfile_buf[16]; + uint signature; } tc_t; @@ -278,15 +283,15 @@ typedef struct u32 data_len; u32 data_buf[2048]; u32 auth_len; - u32 auth_buf[5]; + u32 auth_buf[4]; } zip2_t; typedef struct { - uint P[256]; + uint salt_buf[32]; -} scrypt_tmp_t; +} win8phone_t; typedef struct { @@ -642,8 +647,7 @@ typedef struct typedef struct { - u32 KEK[5]; - + u32 KEK[4]; u32 lsb[4]; u32 cipher[4]; @@ -858,6 +862,9 @@ typedef struct typedef struct { + uint salt_pos; + uint digest_pos; + uint hash_pos; uint gidvid; uint il_pos; @@ -910,7 +917,7 @@ typedef struct #define PW_MAX1 (PW_MAX + 1) #define PW_DICTMAX 31 #define PW_DICTMAX1 (PW_DICTMAX + 1) -#define PARAMCNT 32 +#define PARAMCNT 64 struct __hc_device_param { @@ -927,7 +934,6 @@ struct __hc_device_param uint kernel_exec_timeout; uint device_processors; - uint device_processor_cores; u64 device_maxmem_alloc; u64 device_global_mem; u32 device_maxclock_frequency; @@ -943,7 +949,7 @@ struct __hc_device_param uint kernel_accel_min; uint kernel_accel_max; uint kernel_power; - uint kernel_power_user; + uint hardware_power; size_t size_pws; size_t size_tmps; @@ -971,8 +977,6 @@ struct __hc_device_param u64 words_off; u64 words_done; - uint *result; - uint outerloop_pos; uint outerloop_left; @@ -982,6 +986,12 @@ struct __hc_device_param uint exec_pos; double exec_ms[EXEC_CACHE]; + // workaround cpu spinning + + double exec_us_prev1[EXPECTED_ITERATIONS]; + double exec_us_prev2[EXPECTED_ITERATIONS]; + double exec_us_prev3[EXPECTED_ITERATIONS]; + // this is "current" speed uint speed_pos; @@ -993,13 +1003,19 @@ struct __hc_device_param // device specific attributes starting char *device_name; + char *device_vendor; char *device_name_chksum; char *device_version; char *driver_version; bool opencl_v12; - cl_uint vendor_id; + double nvidia_spin_damp; + + cl_platform_id platform; + + cl_uint device_vendor_id; + cl_uint platform_vendor_id; cl_kernel kernel1; cl_kernel kernel12; @@ -1012,13 +1028,13 @@ struct __hc_device_param cl_kernel kernel_amp; cl_kernel kernel_tm; cl_kernel kernel_weak; + cl_kernel kernel_memset; cl_context context; cl_program program; cl_program program_mp; cl_program program_amp; - cl_program program_weak; cl_command_queue command_queue; @@ -1050,7 +1066,10 @@ struct __hc_device_param cl_mem d_tmps; cl_mem d_hooks; cl_mem d_result; - cl_mem d_scryptV_buf; + cl_mem d_scryptV0_buf; + cl_mem d_scryptV1_buf; + cl_mem d_scryptV2_buf; + cl_mem d_scryptV3_buf; cl_mem d_root_css_buf; cl_mem d_markov_css_buf; @@ -1060,6 +1079,7 @@ struct __hc_device_param void *kernel_params_mp_l[PARAMCNT]; void *kernel_params_amp[PARAMCNT]; void *kernel_params_tm[PARAMCNT]; + void *kernel_params_memset[PARAMCNT]; u32 kernel_params_buf32[PARAMCNT]; @@ -1073,6 +1093,7 @@ struct __hc_device_param u64 kernel_params_mp_l_buf64[PARAMCNT]; u32 kernel_params_amp_buf32[PARAMCNT]; + u32 kernel_params_memset_buf32[PARAMCNT]; }; typedef struct __hc_device_param hc_device_param_t; @@ -1080,23 +1101,15 @@ typedef struct __hc_device_param hc_device_param_t; #ifdef HAVE_HWMON typedef struct { - union - { - #ifdef HAVE_ADL - HM_ADAPTER_AMD amd; - #endif - - #if defined(HAVE_NVML) || defined(HAVE_NVAPI) - HM_ADAPTER_NV nv; - #endif - - } adapter_index; + HM_ADAPTER_ADL adl; + HM_ADAPTER_NVML nvml; + HM_ADAPTER_NVAPI nvapi; + HM_ADAPTER_XNVCTRL xnvctrl; - int od_version; - int fan_supported; + int od_version; - // int busid; // used for CL_DEVICE_TOPOLOGY_AMD but broken for dual GPUs - // int devid; // used for CL_DEVICE_TOPOLOGY_AMD but broken for dual GPUs + int fan_get_supported; + int fan_set_supported; } hm_attrs_t; #endif // HAVE_HWMON @@ -1113,12 +1126,16 @@ typedef struct hc_device_param_t *devices_param; + uint shutdown_inner; + uint shutdown_outer; + /** * workload specific */ + uint hardware_power_all; uint kernel_power_all; - float kernel_power_div; + u64 kernel_power_final; // we save that so that all divisions are done from the same base /** * attack specific @@ -1163,8 +1180,10 @@ typedef struct */ #ifdef HAVE_HWMON - void *hm_nv; - void *hm_amd; + void *hm_adl; + void *hm_nvml; + void *hm_nvapi; + void *hm_xnvctrl; hm_attrs_t hm_device[DEVICES_MAX]; #endif @@ -1188,6 +1207,9 @@ typedef struct void *esalts_buf; + uint scrypt_tmp_size; + uint scrypt_tmto_final; + /** * logging */ @@ -1238,11 +1260,10 @@ typedef struct uint restore_disable; uint status; uint status_timer; - uint status_automat; + uint machine_readable; uint quiet; uint force; uint benchmark; - uint benchmark_repeats; uint runtime; uint remove; uint remove_timer; @@ -1257,6 +1278,8 @@ typedef struct uint scrypt_tmto; uint segment_size; char *truecrypt_keyfiles; + char *veracrypt_keyfiles; + uint veracrypt_pim; uint workload_profile; uint hash_mode; @@ -1304,6 +1327,8 @@ typedef struct time_t runtime_start; time_t runtime_stop; + time_t prepare_time; + time_t proc_start; time_t proc_stop; @@ -1336,3 +1361,4 @@ typedef struct extern hc_global_data_t data; #endif +