diff --git a/OpenCL/inc_hash_md4.h b/OpenCL/inc_hash_md4.h index 466c9249d..7c3b31894 100644 --- a/OpenCL/inc_hash_md4.h +++ b/OpenCL/inc_hash_md4.h @@ -31,7 +31,7 @@ #define MD4_STEP(f,a,b,c,d,x,K,s) \ { \ - a += make_u32x (K); \ + a += K; \ a = hc_add3 (a, x, f (b, c, d)); \ a = hc_rotl32 (a, s); \ } diff --git a/OpenCL/inc_hash_md5.h b/OpenCL/inc_hash_md5.h index 0d2db5c65..1e6eaaf93 100644 --- a/OpenCL/inc_hash_md5.h +++ b/OpenCL/inc_hash_md5.h @@ -36,7 +36,7 @@ #define MD5_STEP(f,a,b,c,d,x,K,s) \ { \ - a += make_u32x (K); \ + a += K; \ a = hc_add3 (a, x, f (b, c, d)); \ a = hc_rotl32 (a, s); \ a += b; \ diff --git a/OpenCL/inc_hash_ripemd160.h b/OpenCL/inc_hash_ripemd160.h index 0266b7033..25a69ed56 100644 --- a/OpenCL/inc_hash_ripemd160.h +++ b/OpenCL/inc_hash_ripemd160.h @@ -32,7 +32,7 @@ #define RIPEMD160_STEP(f,a,b,c,d,e,x,K,s) \ { \ - a += make_u32x (K); \ + a += K; \ a += x; \ a += f (b, c, d); \ a = hc_rotl32 (a, s); \ @@ -54,7 +54,7 @@ #define RIPEMD160_STEP_WORKAROUND_BUG(f,a,b,c,d,e,x,K,s) \ { \ - a += make_u32x (K); \ + a += K; \ a += x; \ a += f (b, c, d); \ a = ROTATE_LEFT_WORKAROUND_BUG (a, s); \ diff --git a/OpenCL/inc_hash_sha1.h b/OpenCL/inc_hash_sha1.h index 199983c90..2ff36fdad 100644 --- a/OpenCL/inc_hash_sha1.h +++ b/OpenCL/inc_hash_sha1.h @@ -28,7 +28,7 @@ #define SHA1_STEP(f,a,b,c,d,e,x) \ { \ - e += make_u32x (K); \ + e += K; \ e = hc_add3 (e, x, f (b, c, d)); \ e += hc_rotl32 (a, 5u); \ b = hc_rotl32 (b, 30u); \ diff --git a/OpenCL/inc_hash_sha384.h b/OpenCL/inc_hash_sha384.h index 6aa5893bd..92266b24a 100644 --- a/OpenCL/inc_hash_sha384.h +++ b/OpenCL/inc_hash_sha384.h @@ -44,7 +44,7 @@ #define SHA384_STEP(F0,F1,a,b,c,d,e,f,g,h,x,K) \ { \ - h += make_u32x (K); \ + h += K; \ h += x; \ h += SHA384_S1 (e); \ h += F0 (e, f, g); \ diff --git a/OpenCL/inc_hash_sha512.h b/OpenCL/inc_hash_sha512.h index e38f63c93..c66aa1fb9 100644 --- a/OpenCL/inc_hash_sha512.h +++ b/OpenCL/inc_hash_sha512.h @@ -44,7 +44,7 @@ #define SHA512_STEP(F0,F1,a,b,c,d,e,f,g,h,x,K) \ { \ - h += make_u32x (K); \ + h += K; \ h += x; \ h += SHA512_S1 (e); \ h += F0 (e, f, g); \ diff --git a/OpenCL/inc_simd.h b/OpenCL/inc_simd.h index f30f07dc3..c3577b297 100644 --- a/OpenCL/inc_simd.h +++ b/OpenCL/inc_simd.h @@ -1049,6 +1049,18 @@ #define MATCHES_NONE_VV(a,b) !(MATCHES_ONE_VV ((a), (b))) #define MATCHES_NONE_VS(a,b) !(MATCHES_ONE_VS ((a), (b))) +#if VECT_SIZE == 1 +#define pack(arr,var,gid,idx) make_u32x ((arr)[((gid) * 1) + 0].var) +#elif VECT_SIZE == 2 +#define pack(arr,var,gid,idx) make_u32x ((arr)[((gid) * 2) + 0].var, (arr)[((gid) * 2) + 1].var) +#elif VECT_SIZE == 4 +#define pack(arr,var,gid,idx) make_u32x ((arr)[((gid) * 4) + 0].var, (arr)[((gid) * 4) + 1].var, (arr)[((gid) * 4) + 2].var, (arr)[((gid) * 4) + 3].var) +#elif VECT_SIZE == 8 +#define pack(arr,var,gid,idx) make_u32x ((arr)[((gid) * 8) + 0].var, (arr)[((gid) * 8) + 1].var, (arr)[((gid) * 8) + 2].var, (arr)[((gid) * 8) + 3].var, (arr)[((gid) * 8) + 4].var, (arr)[((gid) * 8) + 5].var, (arr)[((gid) * 8) + 6].var, (arr)[((gid) * 8) + 7].var) +#elif VECT_SIZE == 16 +#define pack(arr,var,gid,idx) make_u32x ((arr)[((gid) * 16) + 0].var, (arr)[((gid) * 16) + 1].var, (arr)[((gid) * 16) + 2].var, (arr)[((gid) * 16) + 3].var, (arr)[((gid) * 16) + 4].var, (arr)[((gid) * 16) + 5].var, (arr)[((gid) * 16) + 6].var, (arr)[((gid) * 16) + 7].var, (arr)[((gid) * 16) + 8].var, (arr)[((gid) * 16) + 9].var, (arr)[((gid) * 16) + 10].var, (arr)[((gid) * 16) + 11].var, (arr)[((gid) * 16) + 12].var, (arr)[((gid) * 16) + 13].var, (arr)[((gid) * 16) + 14].var, (arr)[((gid) * 16) + 15].var) +#endif + #if VECT_SIZE == 1 #define packv(arr,var,gid,idx) make_u32x ((arr)[((gid) * 1) + 0].var[(idx)]) #elif VECT_SIZE == 2 @@ -1097,6 +1109,18 @@ #define pack64vf(arr,var,gid) make_u64x ((arr)[((gid) * 16) + 0].var, (arr)[((gid) * 16) + 1].var, (arr)[((gid) * 16) + 2].var, (arr)[((gid) * 16) + 3].var, (arr)[((gid) * 16) + 4].var, (arr)[((gid) * 16) + 5].var, (arr)[((gid) * 16) + 6].var, (arr)[((gid) * 16) + 7].var, (arr)[((gid) * 16) + 8].var, (arr)[((gid) * 16) + 9].var, (arr)[((gid) * 16) + 10].var, (arr)[((gid) * 16) + 11].var, (arr)[((gid) * 16) + 12].var, (arr)[((gid) * 16) + 13].var, (arr)[((gid) * 16) + 14].var, (arr)[((gid) * 16) + 15].var) #endif +#if VECT_SIZE == 1 +#define unpack(arr,var,gid,val) (arr)[((gid) * 1) + 0].var = val; +#elif VECT_SIZE == 2 +#define unpack(arr,var,gid,val) (arr)[((gid) * 2) + 0].var = val.s0; (arr)[((gid) * 2) + 1].var = val.s1; +#elif VECT_SIZE == 4 +#define unpack(arr,var,gid,val) (arr)[((gid) * 4) + 0].var = val.s0; (arr)[((gid) * 4) + 1].var = val.s1; (arr)[((gid) * 4) + 2].var = val.s2; (arr)[((gid) * 4) + 3].var = val.s3; +#elif VECT_SIZE == 8 +#define unpack(arr,var,gid,val) (arr)[((gid) * 8) + 0].var = val.s0; (arr)[((gid) * 8) + 1].var = val.s1; (arr)[((gid) * 8) + 2].var = val.s2; (arr)[((gid) * 8) + 3].var = val.s3; (arr)[((gid) * 8) + 4].var = val.s4; (arr)[((gid) * 8) + 5].var = val.s5; (arr)[((gid) * 8) + 6].var = val.s6; (arr)[((gid) * 8) + 7].var = val.s7; +#elif VECT_SIZE == 16 +#define unpack(arr,var,gid,val) (arr)[((gid) * 16) + 0].var = val.s0; (arr)[((gid) * 16) + 1].var = val.s1; (arr)[((gid) * 16) + 2].var = val.s2; (arr)[((gid) * 16) + 3].var = val.s3; (arr)[((gid) * 16) + 4].var = val.s4; (arr)[((gid) * 16) + 5].var = val.s5; (arr)[((gid) * 16) + 6].var = val.s6; (arr)[((gid) * 16) + 7].var = val.s7; (arr)[((gid) * 16) + 8].var = val.s8; (arr)[((gid) * 16) + 9].var = val.s9; (arr)[((gid) * 16) + 10].var = val.sa; (arr)[((gid) * 16) + 11].var = val.sb; (arr)[((gid) * 16) + 12].var = val.sc; (arr)[((gid) * 16) + 13].var = val.sd; (arr)[((gid) * 16) + 14].var = val.se; (arr)[((gid) * 16) + 15].var = val.sf; +#endif + #if VECT_SIZE == 1 #define unpackv(arr,var,gid,idx,val) (arr)[((gid) * 1) + 0].var[(idx)] = val; #elif VECT_SIZE == 2 diff --git a/OpenCL/m13711-pure.cl b/OpenCL/m13711-pure.cl index 812a9ecfc..b8f62904f 100644 --- a/OpenCL/m13711-pure.cl +++ b/OpenCL/m13711-pure.cl @@ -366,7 +366,9 @@ KERNEL_FQ void m13711_loop (KERN_ATTR_TMPS_ESALT (vc_tmp_t, vc_t)) unpackv (tmps, pim_key, gid, i + 3, out[3]); unpackv (tmps, pim_key, gid, i + 4, out[4]); - tmps[gid].pim_check = pim; + const u32x pimx = make_u32x (pim); + + unpack (tmps, pim_check, gid, pimx); } } diff --git a/OpenCL/m13712-pure.cl b/OpenCL/m13712-pure.cl index f60004897..c00d2144f 100644 --- a/OpenCL/m13712-pure.cl +++ b/OpenCL/m13712-pure.cl @@ -417,7 +417,9 @@ KERNEL_FQ void m13712_loop (KERN_ATTR_TMPS_ESALT (vc_tmp_t, vc_t)) unpackv (tmps, pim_key, gid, i + 3, out[3]); unpackv (tmps, pim_key, gid, i + 4, out[4]); - tmps[gid].pim_check = pim; + const u32x pimx = make_u32x (pim); + + unpack (tmps, pim_check, gid, pimx); } } diff --git a/OpenCL/m13713-pure.cl b/OpenCL/m13713-pure.cl index 4a18a3885..ffd193ff8 100644 --- a/OpenCL/m13713-pure.cl +++ b/OpenCL/m13713-pure.cl @@ -482,7 +482,9 @@ KERNEL_FQ void m13713_loop (KERN_ATTR_TMPS_ESALT (vc_tmp_t, vc_t)) unpackv (tmps, pim_key, gid, i + 3, out[3]); unpackv (tmps, pim_key, gid, i + 4, out[4]); - tmps[gid].pim_check = pim; + const u32x pimx = make_u32x (pim); + + unpack (tmps, pim_check, gid, pimx); } } diff --git a/OpenCL/m13721-pure.cl b/OpenCL/m13721-pure.cl index dd1b8f752..743cd3f30 100644 --- a/OpenCL/m13721-pure.cl +++ b/OpenCL/m13721-pure.cl @@ -458,7 +458,9 @@ KERNEL_FQ void m13721_loop (KERN_ATTR_TMPS_ESALT (vc64_tmp_t, vc_t)) unpack64v (tmps, pim_key, gid, i + 6, out[6]); unpack64v (tmps, pim_key, gid, i + 7, out[7]); - tmps[gid].pim_check = pim; + const u32x pimx = make_u32x (pim); + + unpack (tmps, pim_check, gid, pimx); } } diff --git a/OpenCL/m13722-pure.cl b/OpenCL/m13722-pure.cl index 80a9fb1b6..0425af528 100644 --- a/OpenCL/m13722-pure.cl +++ b/OpenCL/m13722-pure.cl @@ -509,7 +509,9 @@ KERNEL_FQ void m13722_loop (KERN_ATTR_TMPS_ESALT (vc64_tmp_t, vc_t)) unpack64v (tmps, pim_key, gid, i + 6, out[6]); unpack64v (tmps, pim_key, gid, i + 7, out[7]); - tmps[gid].pim_check = pim; + const u32x pimx = make_u32x (pim); + + unpack (tmps, pim_check, gid, pimx); } } diff --git a/OpenCL/m13723-pure.cl b/OpenCL/m13723-pure.cl index 465c5000d..8d2c51293 100644 --- a/OpenCL/m13723-pure.cl +++ b/OpenCL/m13723-pure.cl @@ -574,7 +574,9 @@ KERNEL_FQ void m13723_loop (KERN_ATTR_TMPS_ESALT (vc64_tmp_t, vc_t)) unpack64v (tmps, pim_key, gid, i + 6, out[6]); unpack64v (tmps, pim_key, gid, i + 7, out[7]); - tmps[gid].pim_check = pim; + const u32x pimx = make_u32x (pim); + + unpack (tmps, pim_check, gid, pimx); } } diff --git a/OpenCL/m13731-pure.cl b/OpenCL/m13731-pure.cl index 53c0aee63..d29bbe121 100644 --- a/OpenCL/m13731-pure.cl +++ b/OpenCL/m13731-pure.cl @@ -622,7 +622,9 @@ KERNEL_FQ void m13731_loop (KERN_ATTR_TMPS_ESALT (vc_tmp_t, vc_t)) unpackv (tmps, pim_key, gid, i + 14, out[14]); unpackv (tmps, pim_key, gid, i + 15, out[15]); - tmps[gid].pim_check = pim; + const u32x pimx = make_u32x (pim); + + unpack (tmps, pim_check, gid, pimx); } } diff --git a/OpenCL/m13732-pure.cl b/OpenCL/m13732-pure.cl index fde64f5cd..57e153479 100644 --- a/OpenCL/m13732-pure.cl +++ b/OpenCL/m13732-pure.cl @@ -673,7 +673,9 @@ KERNEL_FQ void m13732_loop (KERN_ATTR_TMPS_ESALT (vc_tmp_t, vc_t)) unpackv (tmps, pim_key, gid, i + 14, out[14]); unpackv (tmps, pim_key, gid, i + 15, out[15]); - tmps[gid].pim_check = pim; + const u32x pimx = make_u32x (pim); + + unpack (tmps, pim_check, gid, pimx); } } diff --git a/OpenCL/m13733-pure.cl b/OpenCL/m13733-pure.cl index 63d5b1a4c..82994a66a 100644 --- a/OpenCL/m13733-pure.cl +++ b/OpenCL/m13733-pure.cl @@ -738,7 +738,9 @@ KERNEL_FQ void m13733_loop (KERN_ATTR_TMPS_ESALT (vc_tmp_t, vc_t)) unpackv (tmps, pim_key, gid, i + 14, out[14]); unpackv (tmps, pim_key, gid, i + 15, out[15]); - tmps[gid].pim_check = pim; + const u32x pimx = make_u32x (pim); + + unpack (tmps, pim_check, gid, pimx); } } diff --git a/OpenCL/m13751-pure.cl b/OpenCL/m13751-pure.cl index e795fe1e6..9fc0f8d2a 100644 --- a/OpenCL/m13751-pure.cl +++ b/OpenCL/m13751-pure.cl @@ -435,7 +435,9 @@ KERNEL_FQ void m13751_loop (KERN_ATTR_TMPS_ESALT (vc_tmp_t, vc_t)) unpackv (tmps, pim_key, gid, i + 6, out[6]); unpackv (tmps, pim_key, gid, i + 7, out[7]); - tmps[gid].pim_check = pim; + const u32x pimx = make_u32x (pim); + + unpack (tmps, pim_check, gid, pimx); } } diff --git a/OpenCL/m13752-pure.cl b/OpenCL/m13752-pure.cl index 5ae1b2468..f5490bcc9 100644 --- a/OpenCL/m13752-pure.cl +++ b/OpenCL/m13752-pure.cl @@ -457,7 +457,9 @@ KERNEL_FQ void m13752_loop (KERN_ATTR_TMPS_ESALT (vc_tmp_t, vc_t)) unpackv (tmps, pim_key, gid, i + 6, out[6]); unpackv (tmps, pim_key, gid, i + 7, out[7]); - tmps[gid].pim_check = pim; + const u32x pimx = make_u32x (pim); + + unpack (tmps, pim_check, gid, pimx); } } diff --git a/OpenCL/m13753-pure.cl b/OpenCL/m13753-pure.cl index 0d33af281..5d76f0637 100644 --- a/OpenCL/m13753-pure.cl +++ b/OpenCL/m13753-pure.cl @@ -522,7 +522,9 @@ KERNEL_FQ void m13753_loop (KERN_ATTR_TMPS_ESALT (vc_tmp_t, vc_t)) unpackv (tmps, pim_key, gid, i + 6, out[6]); unpackv (tmps, pim_key, gid, i + 7, out[7]); - tmps[gid].pim_check = pim; + const u32x pimx = make_u32x (pim); + + unpack (tmps, pim_check, gid, pimx); } } diff --git a/OpenCL/m13771-pure.cl b/OpenCL/m13771-pure.cl index 2c5e24985..b22738aa1 100644 --- a/OpenCL/m13771-pure.cl +++ b/OpenCL/m13771-pure.cl @@ -537,7 +537,9 @@ KERNEL_FQ void m13771_loop (KERN_ATTR_TMPS_ESALT (vc64_sbog_tmp_t, vc_t)) unpack64v (tmps, pim_key, gid, i + 6, out[6]); unpack64v (tmps, pim_key, gid, i + 7, out[7]); - tmps[gid].pim_check = pim; + const u32x pimx = make_u32x (pim); + + unpack (tmps, pim_check, gid, pimx); } } diff --git a/OpenCL/m13772-pure.cl b/OpenCL/m13772-pure.cl index 449a2c2b9..7d189e4e3 100644 --- a/OpenCL/m13772-pure.cl +++ b/OpenCL/m13772-pure.cl @@ -588,7 +588,9 @@ KERNEL_FQ void m13772_loop (KERN_ATTR_TMPS_ESALT (vc64_sbog_tmp_t, vc_t)) unpack64v (tmps, pim_key, gid, i + 6, out[6]); unpack64v (tmps, pim_key, gid, i + 7, out[7]); - tmps[gid].pim_check = pim; + const u32x pimx = make_u32x (pim); + + unpack (tmps, pim_check, gid, pimx); } } diff --git a/OpenCL/m13773-pure.cl b/OpenCL/m13773-pure.cl index 7299593f8..f257ec5eb 100644 --- a/OpenCL/m13773-pure.cl +++ b/OpenCL/m13773-pure.cl @@ -653,7 +653,9 @@ KERNEL_FQ void m13773_loop (KERN_ATTR_TMPS_ESALT (vc64_sbog_tmp_t, vc_t)) unpack64v (tmps, pim_key, gid, i + 6, out[6]); unpack64v (tmps, pim_key, gid, i + 7, out[7]); - tmps[gid].pim_check = pim; + const u32x pimx = make_u32x (pim); + + unpack (tmps, pim_check, gid, pimx); } } diff --git a/docs/changes.txt b/docs/changes.txt index e0400ad09..713fc77cc 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -6,13 +6,14 @@ - Fixed autotune unitialized tmps variable for slow hashes by calling _init kernel before calling _loop kernel - Fixed datatype in function sha384_hmac_init_vector_128() that could come into effect if vector datatype was manually set - +- Fixed false negative in all VeraCrypt hash-modes if both conditions are met: 1. use CPU for cracking and 2. PIM range was used ## ## Improvements ## - Blake Kernels: Optimize BLAKE2B_ROUND() 64 bit rotates giving a 5% performance increase +- Slow Kernels: Set some of the slowest kernels to OPTS_TYPE_MP_MULTI_DISABLE ## ## Technical diff --git a/src/modules/module_09600.c b/src/modules/module_09600.c index 8ed0888cb..8a51522ff 100644 --- a/src/modules/module_09600.c +++ b/src/modules/module_09600.c @@ -23,6 +23,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE | OPTI_TYPE_USES_BITS_64 | OPTI_TYPE_SLOW_HASH_SIMD_LOOP; static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_DEEP_COMP_KERNEL; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; diff --git a/src/modules/module_11300.c b/src/modules/module_11300.c index 981a0b471..6711006c9 100644 --- a/src/modules/module_11300.c +++ b/src/modules/module_11300.c @@ -27,6 +27,7 @@ static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_ST_HEX | OPTS_TYPE_ST_ADD80 | OPTS_TYPE_HASH_COPY + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_DEEP_COMP_KERNEL; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; diff --git a/src/modules/module_13711.c b/src/modules/module_13711.c index ffab1e130..919bc7a91 100644 --- a/src/modules/module_13711.c +++ b/src/modules/module_13711.c @@ -27,6 +27,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; diff --git a/src/modules/module_13712.c b/src/modules/module_13712.c index 91cf21029..4dfa1324e 100644 --- a/src/modules/module_13712.c +++ b/src/modules/module_13712.c @@ -27,6 +27,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; diff --git a/src/modules/module_13713.c b/src/modules/module_13713.c index ca15c4a01..f5e1c28d0 100644 --- a/src/modules/module_13713.c +++ b/src/modules/module_13713.c @@ -27,6 +27,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; diff --git a/src/modules/module_13721.c b/src/modules/module_13721.c index 72162ba85..ae3debbfb 100644 --- a/src/modules/module_13721.c +++ b/src/modules/module_13721.c @@ -28,6 +28,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; diff --git a/src/modules/module_13722.c b/src/modules/module_13722.c index d595a69d8..3706fb6b7 100644 --- a/src/modules/module_13722.c +++ b/src/modules/module_13722.c @@ -28,6 +28,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; diff --git a/src/modules/module_13723.c b/src/modules/module_13723.c index 65ed55545..6b5a29fa6 100644 --- a/src/modules/module_13723.c +++ b/src/modules/module_13723.c @@ -28,6 +28,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; diff --git a/src/modules/module_13731.c b/src/modules/module_13731.c index da13dd99f..6aee7e87c 100644 --- a/src/modules/module_13731.c +++ b/src/modules/module_13731.c @@ -27,6 +27,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; diff --git a/src/modules/module_13732.c b/src/modules/module_13732.c index 1945e3b9a..e36529eb1 100644 --- a/src/modules/module_13732.c +++ b/src/modules/module_13732.c @@ -27,6 +27,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; diff --git a/src/modules/module_13733.c b/src/modules/module_13733.c index 72443b7d3..e878f3cf0 100644 --- a/src/modules/module_13733.c +++ b/src/modules/module_13733.c @@ -27,6 +27,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; diff --git a/src/modules/module_13741.c b/src/modules/module_13741.c index 7ad01f942..58b29bb96 100644 --- a/src/modules/module_13741.c +++ b/src/modules/module_13741.c @@ -27,6 +27,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_KEYBOARD_MAPPING | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; diff --git a/src/modules/module_13742.c b/src/modules/module_13742.c index 308fa9084..a8cb4df57 100644 --- a/src/modules/module_13742.c +++ b/src/modules/module_13742.c @@ -27,6 +27,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_KEYBOARD_MAPPING | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; diff --git a/src/modules/module_13743.c b/src/modules/module_13743.c index 10f808d9e..c6276c2d4 100644 --- a/src/modules/module_13743.c +++ b/src/modules/module_13743.c @@ -27,6 +27,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_KEYBOARD_MAPPING | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; diff --git a/src/modules/module_13751.c b/src/modules/module_13751.c index 7ea17284f..f7123f79d 100644 --- a/src/modules/module_13751.c +++ b/src/modules/module_13751.c @@ -27,6 +27,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; diff --git a/src/modules/module_13752.c b/src/modules/module_13752.c index 8dcae3693..425d7ac15 100644 --- a/src/modules/module_13752.c +++ b/src/modules/module_13752.c @@ -27,6 +27,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; diff --git a/src/modules/module_13753.c b/src/modules/module_13753.c index 630969373..2ea19c7d6 100644 --- a/src/modules/module_13753.c +++ b/src/modules/module_13753.c @@ -27,6 +27,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; diff --git a/src/modules/module_13761.c b/src/modules/module_13761.c index 5193f0a29..3fd5f4d0e 100644 --- a/src/modules/module_13761.c +++ b/src/modules/module_13761.c @@ -27,6 +27,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_KEYBOARD_MAPPING | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; diff --git a/src/modules/module_13762.c b/src/modules/module_13762.c index 4780398ef..697c2fe75 100644 --- a/src/modules/module_13762.c +++ b/src/modules/module_13762.c @@ -27,6 +27,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_KEYBOARD_MAPPING | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; diff --git a/src/modules/module_13763.c b/src/modules/module_13763.c index 594b63519..5b091c238 100644 --- a/src/modules/module_13763.c +++ b/src/modules/module_13763.c @@ -27,6 +27,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_KEYBOARD_MAPPING | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; diff --git a/src/modules/module_13771.c b/src/modules/module_13771.c index 2afe73f00..c248b7d94 100644 --- a/src/modules/module_13771.c +++ b/src/modules/module_13771.c @@ -28,6 +28,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; diff --git a/src/modules/module_13772.c b/src/modules/module_13772.c index ab274128d..c24b09157 100644 --- a/src/modules/module_13772.c +++ b/src/modules/module_13772.c @@ -28,6 +28,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; diff --git a/src/modules/module_13773.c b/src/modules/module_13773.c index 157d2ea88..0a84ca9b0 100644 --- a/src/modules/module_13773.c +++ b/src/modules/module_13773.c @@ -28,6 +28,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; diff --git a/src/modules/module_13781.c b/src/modules/module_13781.c index aaa4ad96f..d4c0aceb5 100644 --- a/src/modules/module_13781.c +++ b/src/modules/module_13781.c @@ -28,6 +28,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_KEYBOARD_MAPPING | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; diff --git a/src/modules/module_13782.c b/src/modules/module_13782.c index 550b64ed0..268575a80 100644 --- a/src/modules/module_13782.c +++ b/src/modules/module_13782.c @@ -28,6 +28,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_KEYBOARD_MAPPING | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; diff --git a/src/modules/module_13783.c b/src/modules/module_13783.c index 155aa0cd0..3607a8128 100644 --- a/src/modules/module_13783.c +++ b/src/modules/module_13783.c @@ -28,6 +28,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_BINARY_HASHFILE | OPTS_TYPE_LOOP_EXTENDED + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_KEYBOARD_MAPPING | OPTS_TYPE_COPY_TMPS; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; diff --git a/src/modules/module_14800.c b/src/modules/module_14800.c index a5119ee6b..510f66544 100644 --- a/src/modules/module_14800.c +++ b/src/modules/module_14800.c @@ -25,6 +25,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE | OPTI_TYPE_SLOW_HASH_SIMD_LOOP2; static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_ST_HEX + | OPTS_TYPE_MP_MULTI_DISABLE | OPTS_TYPE_INIT2 | OPTS_TYPE_LOOP2; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; diff --git a/src/modules/module_22100.c b/src/modules/module_22100.c index 47b72d7df..09ad806ae 100644 --- a/src/modules/module_22100.c +++ b/src/modules/module_22100.c @@ -21,7 +21,8 @@ static const u32 HASH_CATEGORY = HASH_CATEGORY_FDE; static const char *HASH_NAME = "BitLocker"; static const u64 KERN_TYPE = 22100; static const u32 OPTI_TYPE = OPTI_TYPE_SLOW_HASH_SIMD_LOOP; -static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE; +static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_MP_MULTI_DISABLE; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; static const char *ST_HASH = "$bitlocker$1$16$6f972989ddc209f1eccf07313a7266a2$1048576$12$3a33a8eaff5e6f81d907b591$60$316b0f6d4cb445fb056f0e3e0633c413526ff4481bbf588917b70a4e8f8075f5ceb45958a800b42cb7ff9b7f5e17c6145bf8561ea86f52d3592059fb"; diff --git a/src/modules/module_24500.c b/src/modules/module_24500.c index 5539d0fe2..2df2eebc1 100644 --- a/src/modules/module_24500.c +++ b/src/modules/module_24500.c @@ -22,7 +22,8 @@ static const u64 KERN_TYPE = 24500; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE | OPTI_TYPE_USES_BITS_64 | OPTI_TYPE_SLOW_HASH_SIMD_LOOP; -static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE; +static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_MP_MULTI_DISABLE; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; static const char *ST_HASH = "$telegram$2*100000*77461dcb457ce9539f8e4235d33bd12455b4a38446e63b52ecdf2e7b65af4476*f705dda3247df6d690dfc7f44d8c666979737cae9505d961130071bcc18eeadaef0320ac6985e4a116834c0761e55314464aae56dadb8f80ab8886c16f72f8b95adca08b56a60c4303d84210f75cfd78a3e1a197c84a747988ce2e1b247397b61041823bdb33932714ba16ca7279e6c36b75d3f994479a469b50a7b2c7299a4d7aadb775fb030d3bb55ca77b7ce8ac2f5cf5eb7bdbcc10821b8953a4734b448060246e5bb93f130d6d3f2e28b9e04f2a064820be562274c040cd849f1473d45141559fc45da4c54abeaf5ca40d2d57f8f8e33bdb232c7279872f758b3fb452713b5d91c855383f7cec8376649a53b83951cf8edd519a99e91b8a6cb90153088e35d9fed332c7253771740f49f9dc40c7da50352656395bbfeae63e10f754d24a";