Add support for OPTS_TYPE_LOOP_EXTENDED kernel for special cases like VeraCrypt
This commit is contained in:
+27
-17
@@ -257,6 +257,7 @@ typedef enum kern_run
|
||||
KERN_RUN_1 = 1000,
|
||||
KERN_RUN_12 = 1500,
|
||||
KERN_RUN_2 = 2000,
|
||||
KERN_RUN_2E = 2001,
|
||||
KERN_RUN_23 = 2500,
|
||||
KERN_RUN_3 = 3000,
|
||||
KERN_RUN_4 = 4000,
|
||||
@@ -410,23 +411,25 @@ typedef enum opts_type
|
||||
OPTS_TYPE_ST_HASH_MD5 = (1ULL << 28),
|
||||
OPTS_TYPE_HASH_COPY = (1ULL << 29),
|
||||
OPTS_TYPE_HASH_SPLIT = (1ULL << 30),
|
||||
OPTS_TYPE_HOOK12 = (1ULL << 31),
|
||||
OPTS_TYPE_HOOK23 = (1ULL << 32),
|
||||
OPTS_TYPE_INIT2 = (1ULL << 33),
|
||||
OPTS_TYPE_LOOP2 = (1ULL << 34),
|
||||
OPTS_TYPE_AUX1 = (1ULL << 35),
|
||||
OPTS_TYPE_AUX2 = (1ULL << 36),
|
||||
OPTS_TYPE_AUX3 = (1ULL << 37),
|
||||
OPTS_TYPE_AUX4 = (1ULL << 38),
|
||||
OPTS_TYPE_BINARY_HASHFILE = (1ULL << 39),
|
||||
OPTS_TYPE_PREFERED_THREAD = (1ULL << 40), // some algorithms (complicated ones with many branches) benefit from this
|
||||
OPTS_TYPE_PT_ADD06 = (1ULL << 41),
|
||||
OPTS_TYPE_KEYBOARD_MAPPING = (1ULL << 42),
|
||||
OPTS_TYPE_DEEP_COMP_KERNEL = (1ULL << 43), // if we have to iterate through each hash inside the comp kernel, for example if each hash has to be decrypted separately
|
||||
OPTS_TYPE_SUGGEST_KG = (1ULL << 44), // suggest keep guessing for modules the user maybe wants to use --keep-guessing
|
||||
OPTS_TYPE_COPY_TMPS = (1ULL << 45), // if we want to use data from tmps buffer (for example get the PMK in WPA)
|
||||
OPTS_TYPE_POTFILE_NOPASS = (1ULL << 46), // sometimes the password should not be printed to potfile
|
||||
OPTS_TYPE_DYNAMIC_SHARED = (1ULL << 47), // use dynamic shared memory (note: needs special kernel changes)
|
||||
OPTS_TYPE_LOOP_EXTENDED = (1ULL << 31), // a kernel which is called each time normal _loop kernel finished.
|
||||
// but unlike a hook kernel this kernel is called for every _loop iteration offset
|
||||
OPTS_TYPE_HOOK12 = (1ULL << 32),
|
||||
OPTS_TYPE_HOOK23 = (1ULL << 33),
|
||||
OPTS_TYPE_INIT2 = (1ULL << 34),
|
||||
OPTS_TYPE_LOOP2 = (1ULL << 35),
|
||||
OPTS_TYPE_AUX1 = (1ULL << 36),
|
||||
OPTS_TYPE_AUX2 = (1ULL << 37),
|
||||
OPTS_TYPE_AUX3 = (1ULL << 38),
|
||||
OPTS_TYPE_AUX4 = (1ULL << 39),
|
||||
OPTS_TYPE_BINARY_HASHFILE = (1ULL << 40),
|
||||
OPTS_TYPE_PREFERED_THREAD = (1ULL << 41), // some algorithms (complicated ones with many branches) benefit from this
|
||||
OPTS_TYPE_PT_ADD06 = (1ULL << 42),
|
||||
OPTS_TYPE_KEYBOARD_MAPPING = (1ULL << 43),
|
||||
OPTS_TYPE_DEEP_COMP_KERNEL = (1ULL << 44), // if we have to iterate through each hash inside the comp kernel, for example if each hash has to be decrypted separately
|
||||
OPTS_TYPE_SUGGEST_KG = (1ULL << 45), // suggest keep guessing for modules the user maybe wants to use --keep-guessing
|
||||
OPTS_TYPE_COPY_TMPS = (1ULL << 46), // if we want to use data from tmps buffer (for example get the PMK in WPA)
|
||||
OPTS_TYPE_POTFILE_NOPASS = (1ULL << 47), // sometimes the password should not be printed to potfile
|
||||
OPTS_TYPE_DYNAMIC_SHARED = (1ULL << 48), // use dynamic shared memory (note: needs special kernel changes)
|
||||
|
||||
} opts_type_t;
|
||||
|
||||
@@ -1077,6 +1080,7 @@ typedef struct hc_device_param
|
||||
u32 kernel_wgs1;
|
||||
u32 kernel_wgs12;
|
||||
u32 kernel_wgs2;
|
||||
u32 kernel_wgs2e;
|
||||
u32 kernel_wgs23;
|
||||
u32 kernel_wgs3;
|
||||
u32 kernel_wgs4;
|
||||
@@ -1098,6 +1102,7 @@ typedef struct hc_device_param
|
||||
u32 kernel_preferred_wgs_multiple1;
|
||||
u32 kernel_preferred_wgs_multiple12;
|
||||
u32 kernel_preferred_wgs_multiple2;
|
||||
u32 kernel_preferred_wgs_multiple2e;
|
||||
u32 kernel_preferred_wgs_multiple23;
|
||||
u32 kernel_preferred_wgs_multiple3;
|
||||
u32 kernel_preferred_wgs_multiple4;
|
||||
@@ -1119,6 +1124,7 @@ typedef struct hc_device_param
|
||||
u64 kernel_local_mem_size1;
|
||||
u64 kernel_local_mem_size12;
|
||||
u64 kernel_local_mem_size2;
|
||||
u64 kernel_local_mem_size2e;
|
||||
u64 kernel_local_mem_size23;
|
||||
u64 kernel_local_mem_size3;
|
||||
u64 kernel_local_mem_size4;
|
||||
@@ -1140,6 +1146,7 @@ typedef struct hc_device_param
|
||||
u64 kernel_dynamic_local_mem_size1;
|
||||
u64 kernel_dynamic_local_mem_size12;
|
||||
u64 kernel_dynamic_local_mem_size2;
|
||||
u64 kernel_dynamic_local_mem_size2e;
|
||||
u64 kernel_dynamic_local_mem_size23;
|
||||
u64 kernel_dynamic_local_mem_size3;
|
||||
u64 kernel_dynamic_local_mem_size4;
|
||||
@@ -1252,6 +1259,7 @@ typedef struct hc_device_param
|
||||
|
||||
double exec_us_prev1[EXPECTED_ITERATIONS];
|
||||
double exec_us_prev2[EXPECTED_ITERATIONS];
|
||||
double exec_us_prev2e[EXPECTED_ITERATIONS];
|
||||
double exec_us_prev3[EXPECTED_ITERATIONS];
|
||||
double exec_us_prev4[EXPECTED_ITERATIONS];
|
||||
double exec_us_prev_init2[EXPECTED_ITERATIONS];
|
||||
@@ -1355,6 +1363,7 @@ typedef struct hc_device_param
|
||||
CUfunction cuda_function1;
|
||||
CUfunction cuda_function12;
|
||||
CUfunction cuda_function2;
|
||||
CUfunction cuda_function2e;
|
||||
CUfunction cuda_function23;
|
||||
CUfunction cuda_function3;
|
||||
CUfunction cuda_function4;
|
||||
@@ -1437,6 +1446,7 @@ typedef struct hc_device_param
|
||||
cl_kernel opencl_kernel1;
|
||||
cl_kernel opencl_kernel12;
|
||||
cl_kernel opencl_kernel2;
|
||||
cl_kernel opencl_kernel2e;
|
||||
cl_kernel opencl_kernel23;
|
||||
cl_kernel opencl_kernel3;
|
||||
cl_kernel opencl_kernel4;
|
||||
|
||||
Reference in New Issue
Block a user