1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-12-22 22:58:30 +00:00

Merge branch 'master' into fix_tokenizer_TOKEN_ATTR_FIXED_LENGTH

This commit is contained in:
Gabriele Gristina 2023-04-21 20:02:05 +02:00 committed by GitHub
commit 0f9007dd3e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 40 additions and 31 deletions

View File

@ -80,7 +80,7 @@ KERNEL_FQ void m03730_mxx (KERN_ATTR_VECTOR_ESALT (md5_double_salt_t))
const u32 salt_len = esalt_bufs[DIGESTS_OFFSET_HOST].salt1_len;
u32 s[64] = { 0 };
u32x s[64] = { 0 };
for (u32 i = 0, idx = 0; i < salt_len; i += 4, idx += 1)
{
@ -89,7 +89,7 @@ KERNEL_FQ void m03730_mxx (KERN_ATTR_VECTOR_ESALT (md5_double_salt_t))
const u32 salt_len2 = esalt_bufs[DIGESTS_OFFSET_HOST].salt2_len;
u32 s2[64] = { 0 };
u32x s2[64] = { 0 };
for (u32 i = 0, idx = 0; i < salt_len2; i += 4, idx += 1)
{
@ -232,7 +232,7 @@ KERNEL_FQ void m03730_sxx (KERN_ATTR_VECTOR_ESALT (md5_double_salt_t))
const u32 salt_len = esalt_bufs[DIGESTS_OFFSET_HOST].salt1_len;
u32 s[64] = { 0 };
u32x s[64] = { 0 };
for (u32 i = 0, idx = 0; i < salt_len; i += 4, idx += 1)
{
@ -241,7 +241,7 @@ KERNEL_FQ void m03730_sxx (KERN_ATTR_VECTOR_ESALT (md5_double_salt_t))
const u32 salt_len2 = esalt_bufs[DIGESTS_OFFSET_HOST].salt2_len;
u32 s2[64] = { 0 };
u32x s2[64] = { 0 };
for (u32 i = 0, idx = 0; i < salt_len2; i += 4, idx += 1)
{

View File

@ -391,7 +391,7 @@ KERNEL_FQ void m18400_comp (KERN_ATTR_TMPS_ESALT (odf12_tmp_t, odf12_t))
if (remaining64)
{
u32 *pt_remaining = pt + (encrypted_len64 / 4);
PRIVATE_AS u32 *pt_remaining = pt + (encrypted_len64 / 4);
truncate_block_16x4_be_S (pt_remaining + 0, pt_remaining + 4, pt_remaining + 8, pt_remaining + 12, remaining64);

View File

@ -797,7 +797,7 @@ KERNEL_FQ void FIXED_THREAD_COUNT(FIXED_LOCAL_SIZE_COMP) m18600_comp (KERN_ATTR_
if (remaining64)
{
u32 *pt_remaining = pt + (encrypted_len64 / 4);
PRIVATE_AS u32 *pt_remaining = pt + (encrypted_len64 / 4);
truncate_block_16x4_be_S (pt_remaining + 0, pt_remaining + 4, pt_remaining + 8, pt_remaining + 12, remaining64);

View File

@ -80,7 +80,7 @@ KERNEL_FQ void m31700_mxx (KERN_ATTR_VECTOR_ESALT (md5_double_salt_t))
const u32 salt1_len = esalt_bufs[DIGESTS_OFFSET_HOST].salt1_len;
u32 salt1_buf[64] = { 0 };
u32x salt1_buf[64] = { 0 };
for (u32 i = 0, idx = 0; i < salt1_len; i += 4, idx += 1)
{
@ -89,7 +89,7 @@ KERNEL_FQ void m31700_mxx (KERN_ATTR_VECTOR_ESALT (md5_double_salt_t))
const u32 salt2_len = esalt_bufs[DIGESTS_OFFSET_HOST].salt2_len;
u32 salt2_buf[64] = { 0 };
u32x salt2_buf[64] = { 0 };
for (u32 i = 0, idx = 0; i < salt2_len; i += 4, idx += 1)
{
@ -245,7 +245,7 @@ KERNEL_FQ void m31700_sxx (KERN_ATTR_VECTOR_ESALT (md5_double_salt_t))
const u32 salt1_len = esalt_bufs[DIGESTS_OFFSET_HOST].salt1_len;
u32 salt1_buf[64] = { 0 };
u32x salt1_buf[64] = { 0 };
for (u32 i = 0, idx = 0; i < salt1_len; i += 4, idx += 1)
{
@ -254,7 +254,7 @@ KERNEL_FQ void m31700_sxx (KERN_ATTR_VECTOR_ESALT (md5_double_salt_t))
const u32 salt2_len = esalt_bufs[DIGESTS_OFFSET_HOST].salt2_len;
u32 salt2_buf[64] = { 0 };
u32x salt2_buf[64] = { 0 };
for (u32 i = 0, idx = 0; i < salt2_len; i += 4, idx += 1)
{

View File

@ -52,6 +52,11 @@
- Fixed incorrect plaintext check for 25400 and 26610. Increased plaintext check to 32 bytes to prevent false positives.
- Fixed bug in --stdout that caused certain rules to malfunction
- Fixed bug in input_tokenizer when TOKEN_ATTR_FIXED_LENGTH is used and refactor modules
- Fixed build failed for 18400 with Apple Metal
- Fixed build failed for 18600 with Apple Metal
- Fixed display problem of the "Optimizers applied" list for algorithms using OPTI_TYPE_SLOW_HASH_SIMD_INIT2 and/or OPTI_TYPE_SLOW_HASH_SIMD_LOOP2
- Fixed incompatible pointer types (salt1 and salt2 buf) in 31700 a3 kernel
- Fixed incompatible pointer types (salt1 and salt2 buf) in 3730 a3 kernel
- Handle signed/unsigned PDF permission P value for all PDF hash-modes
##

View File

@ -80,7 +80,9 @@ static const char *const OPTI_STR_BRUTE_FORCE = "Brute-Force";
static const char *const OPTI_STR_RAW_HASH = "Raw-Hash";
static const char *const OPTI_STR_REGISTER_LIMIT = "Register-Limit";
static const char *const OPTI_STR_SLOW_HASH_SIMD_INIT = "Slow-Hash-SIMD-INIT";
static const char *const OPTI_STR_SLOW_HASH_SIMD_INIT2 = "Slow-Hash-SIMD-INIT-2";
static const char *const OPTI_STR_SLOW_HASH_SIMD_LOOP = "Slow-Hash-SIMD-LOOP";
static const char *const OPTI_STR_SLOW_HASH_SIMD_LOOP2 = "Slow-Hash-SIMD-LOOP-2";
static const char *const OPTI_STR_SLOW_HASH_SIMD_COMP = "Slow-Hash-SIMD-COMP";
static const char *const OPTI_STR_USES_BITS_8 = "Uses-8-Bit";
static const char *const OPTI_STR_USES_BITS_16 = "Uses-16-Bit";
@ -1014,27 +1016,29 @@ const char *stroptitype (const u32 opti_type)
{
switch (opti_type)
{
case OPTI_TYPE_OPTIMIZED_KERNEL: return OPTI_STR_OPTIMIZED_KERNEL;
case OPTI_TYPE_ZERO_BYTE: return OPTI_STR_ZERO_BYTE;
case OPTI_TYPE_PRECOMPUTE_INIT: return OPTI_STR_PRECOMPUTE_INIT;
case OPTI_TYPE_MEET_IN_MIDDLE: return OPTI_STR_MEET_IN_MIDDLE;
case OPTI_TYPE_EARLY_SKIP: return OPTI_STR_EARLY_SKIP;
case OPTI_TYPE_NOT_SALTED: return OPTI_STR_NOT_SALTED;
case OPTI_TYPE_NOT_ITERATED: return OPTI_STR_NOT_ITERATED;
case OPTI_TYPE_PREPENDED_SALT: return OPTI_STR_PREPENDED_SALT;
case OPTI_TYPE_APPENDED_SALT: return OPTI_STR_APPENDED_SALT;
case OPTI_TYPE_SINGLE_HASH: return OPTI_STR_SINGLE_HASH;
case OPTI_TYPE_SINGLE_SALT: return OPTI_STR_SINGLE_SALT;
case OPTI_TYPE_BRUTE_FORCE: return OPTI_STR_BRUTE_FORCE;
case OPTI_TYPE_RAW_HASH: return OPTI_STR_RAW_HASH;
case OPTI_TYPE_REGISTER_LIMIT: return OPTI_STR_REGISTER_LIMIT;
case OPTI_TYPE_SLOW_HASH_SIMD_INIT: return OPTI_STR_SLOW_HASH_SIMD_INIT;
case OPTI_TYPE_SLOW_HASH_SIMD_LOOP: return OPTI_STR_SLOW_HASH_SIMD_LOOP;
case OPTI_TYPE_SLOW_HASH_SIMD_COMP: return OPTI_STR_SLOW_HASH_SIMD_COMP;
case OPTI_TYPE_USES_BITS_8: return OPTI_STR_USES_BITS_8;
case OPTI_TYPE_USES_BITS_16: return OPTI_STR_USES_BITS_16;
case OPTI_TYPE_USES_BITS_32: return OPTI_STR_USES_BITS_32;
case OPTI_TYPE_USES_BITS_64: return OPTI_STR_USES_BITS_64;
case OPTI_TYPE_OPTIMIZED_KERNEL: return OPTI_STR_OPTIMIZED_KERNEL;
case OPTI_TYPE_ZERO_BYTE: return OPTI_STR_ZERO_BYTE;
case OPTI_TYPE_PRECOMPUTE_INIT: return OPTI_STR_PRECOMPUTE_INIT;
case OPTI_TYPE_MEET_IN_MIDDLE: return OPTI_STR_MEET_IN_MIDDLE;
case OPTI_TYPE_EARLY_SKIP: return OPTI_STR_EARLY_SKIP;
case OPTI_TYPE_NOT_SALTED: return OPTI_STR_NOT_SALTED;
case OPTI_TYPE_NOT_ITERATED: return OPTI_STR_NOT_ITERATED;
case OPTI_TYPE_PREPENDED_SALT: return OPTI_STR_PREPENDED_SALT;
case OPTI_TYPE_APPENDED_SALT: return OPTI_STR_APPENDED_SALT;
case OPTI_TYPE_SINGLE_HASH: return OPTI_STR_SINGLE_HASH;
case OPTI_TYPE_SINGLE_SALT: return OPTI_STR_SINGLE_SALT;
case OPTI_TYPE_BRUTE_FORCE: return OPTI_STR_BRUTE_FORCE;
case OPTI_TYPE_RAW_HASH: return OPTI_STR_RAW_HASH;
case OPTI_TYPE_REGISTER_LIMIT: return OPTI_STR_REGISTER_LIMIT;
case OPTI_TYPE_SLOW_HASH_SIMD_INIT: return OPTI_STR_SLOW_HASH_SIMD_INIT;
case OPTI_TYPE_SLOW_HASH_SIMD_INIT2: return OPTI_STR_SLOW_HASH_SIMD_INIT2;
case OPTI_TYPE_SLOW_HASH_SIMD_LOOP: return OPTI_STR_SLOW_HASH_SIMD_LOOP;
case OPTI_TYPE_SLOW_HASH_SIMD_LOOP2: return OPTI_STR_SLOW_HASH_SIMD_LOOP2;
case OPTI_TYPE_SLOW_HASH_SIMD_COMP: return OPTI_STR_SLOW_HASH_SIMD_COMP;
case OPTI_TYPE_USES_BITS_8: return OPTI_STR_USES_BITS_8;
case OPTI_TYPE_USES_BITS_16: return OPTI_STR_USES_BITS_16;
case OPTI_TYPE_USES_BITS_32: return OPTI_STR_USES_BITS_32;
case OPTI_TYPE_USES_BITS_64: return OPTI_STR_USES_BITS_64;
}
return NULL;