1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-11-29 19:38:18 +00:00

Merge pull request #1753 from roycewilliams/master

consistent forum singular (thx unix-ninja); trailing whitespace
This commit is contained in:
Jens Steube 2018-11-04 09:09:12 +01:00 committed by GitHub
commit c804d79eb8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 69 additions and 69 deletions

View File

@ -132,8 +132,8 @@ DECLSPEC void m07000m (u32 *w0, u32 *w1, u32 *w2, u32 *w3, const u32 pw_len, __g
t2[2] = w1[3]; t2[2] = w1[3];
t2[3] = w2[0]; t2[3] = w2[0];
t3[0] = w2[1]; t3[0] = w2[1];
t3[1] = w2[2]; t3[1] = w2[2];
t3[2] = w2[3]; t3[2] = w2[3];
t3[3] = w3[0]; t3[3] = w3[0];
t0[0] |= salt_buf0[0]; t0[0] |= salt_buf0[0];
@ -417,8 +417,8 @@ DECLSPEC void m07000s (u32 *w0, u32 *w1, u32 *w2, u32 *w3, const u32 pw_len, __g
t2[2] = w1[3]; t2[2] = w1[3];
t2[3] = w2[0]; t2[3] = w2[0];
t3[0] = w2[1]; t3[0] = w2[1];
t3[1] = w2[2]; t3[1] = w2[2];
t3[2] = w2[3]; t3[2] = w2[3];
t3[3] = w3[0]; t3[3] = w3[0];
t0[0] |= salt_buf0[0]; t0[0] |= salt_buf0[0];

View File

@ -38,12 +38,12 @@ DECLSPEC void chacha20_transform (const u32x *w0, const u32x *w1, const u32 *pos
*/ */
u32x ctx[16]; u32x ctx[16];
ctx[ 0] = CHACHA_CONST_00; ctx[ 0] = CHACHA_CONST_00;
ctx[ 1] = CHACHA_CONST_01; ctx[ 1] = CHACHA_CONST_01;
ctx[ 2] = CHACHA_CONST_02; ctx[ 2] = CHACHA_CONST_02;
ctx[ 3] = CHACHA_CONST_03; ctx[ 3] = CHACHA_CONST_03;
ctx[ 4] = w0[0]; ctx[ 4] = w0[0];
ctx[ 5] = w0[1]; ctx[ 5] = w0[1];
ctx[ 6] = w0[2]; ctx[ 6] = w0[2];
ctx[ 7] = w0[3]; ctx[ 7] = w0[3];
@ -80,7 +80,7 @@ DECLSPEC void chacha20_transform (const u32x *w0, const u32x *w1, const u32 *pos
x[15] = ctx[15]; x[15] = ctx[15];
#pragma unroll #pragma unroll
for (u8 i = 0; i < 10; i++) for (u8 i = 0; i < 10; i++)
{ {
/* Column round */ /* Column round */
QR(0, 4, 8, 12); QR(0, 4, 8, 12);
@ -115,11 +115,11 @@ DECLSPEC void chacha20_transform (const u32x *w0, const u32x *w1, const u32 *pos
if (offset > 56) if (offset > 56)
{ {
/** /**
* Generate a second 64 byte keystream * Generate a second 64 byte keystream
*/ */
ctx[12]++; ctx[12]++;
if (all(ctx[12] == 0)) ctx[13]++; if (all(ctx[12] == 0)) ctx[13]++;
x[16] = ctx[ 0]; x[16] = ctx[ 0];
@ -189,17 +189,17 @@ DECLSPEC void chacha20_transform (const u32x *w0, const u32x *w1, const u32 *pos
digest[1] ^= x[index + 1] << (32 - remain * 8); digest[1] ^= x[index + 1] << (32 - remain * 8);
digest[0] ^= x[index + 1] >> ( 0 + remain * 8); digest[0] ^= x[index + 1] >> ( 0 + remain * 8);
digest[0] ^= x[index + 2] << (32 - remain * 8); digest[0] ^= x[index + 2] << (32 - remain * 8);
} }
else else
{ {
digest[1] ^= x[index + 0]; digest[1] ^= x[index + 0];
digest[0] ^= x[index + 1]; digest[0] ^= x[index + 1];
} }
} }
__kernel void m15400_m04 (__global pw_t *pws, __constant const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max) __kernel void m15400_m04 (__global pw_t *pws, __constant const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max)
{ {
/** /**
* modifier * modifier
*/ */
@ -222,7 +222,7 @@ __kernel void m15400_m04 (__global pw_t *pws, __constant const kernel_rule_t *ru
const u32 pw_len = pws[gid].pw_len; const u32 pw_len = pws[gid].pw_len;
/** /**
* Salt prep * Salt prep
*/ */
u32 iv[2] = { 0 }; u32 iv[2] = { 0 };
@ -262,7 +262,7 @@ __kernel void m15400_m04 (__global pw_t *pws, __constant const kernel_rule_t *ru
const u32x r3 = digest[3]; const u32x r3 = digest[3];
COMPARE_M_SIMD(r0, r1, r2, r3); COMPARE_M_SIMD(r0, r1, r2, r3);
} }
} }
__kernel void m15400_m08 (__global pw_t *pws, __constant const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max) __kernel void m15400_m08 (__global pw_t *pws, __constant const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max)
@ -274,7 +274,7 @@ __kernel void m15400_m16 (__global pw_t *pws, __constant const kernel_rule_t *ru
} }
__kernel void m15400_s04 (__global pw_t *pws, __constant const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max) __kernel void m15400_s04 (__global pw_t *pws, __constant const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max)
{ {
/** /**
* modifier * modifier
*/ */
@ -318,7 +318,7 @@ __kernel void m15400_s04 (__global pw_t *pws, __constant const kernel_rule_t *ru
plain[0] = esalt_bufs[digests_offset].plain[0]; plain[0] = esalt_bufs[digests_offset].plain[0];
plain[1] = esalt_bufs[digests_offset].plain[1]; plain[1] = esalt_bufs[digests_offset].plain[1];
/** /**
* digest * digest
*/ */
@ -330,7 +330,7 @@ __kernel void m15400_s04 (__global pw_t *pws, __constant const kernel_rule_t *ru
digests_buf[digests_offset].digest_buf[DGST_R2], digests_buf[digests_offset].digest_buf[DGST_R2],
digests_buf[digests_offset].digest_buf[DGST_R3] digests_buf[digests_offset].digest_buf[DGST_R3]
}; };
/** /**
* loop * loop
*/ */
@ -339,7 +339,7 @@ __kernel void m15400_s04 (__global pw_t *pws, __constant const kernel_rule_t *ru
{ {
u32x w0[4] = { 0 }; u32x w0[4] = { 0 };
u32x w1[4] = { 0 }; u32x w1[4] = { 0 };
const u32x out_len = apply_rules_vect(pw_buf0, pw_buf1, pw_len, rules_buf, il_pos, w0, w1); const u32x out_len = apply_rules_vect(pw_buf0, pw_buf1, pw_len, rules_buf, il_pos, w0, w1);
u32x digest[4] = { 0 }; u32x digest[4] = { 0 };
@ -352,7 +352,7 @@ __kernel void m15400_s04 (__global pw_t *pws, __constant const kernel_rule_t *ru
const u32x r3 = digest[3]; const u32x r3 = digest[3];
COMPARE_S_SIMD(r0, r1, r2, r3); COMPARE_S_SIMD(r0, r1, r2, r3);
} }
} }
__kernel void m15400_s08 (__global pw_t *pws, __constant const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max) __kernel void m15400_s08 (__global pw_t *pws, __constant const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max)

View File

@ -38,12 +38,12 @@ DECLSPEC void chacha20_transform (const u32x *w0, const u32x *w1, const u32 *pos
*/ */
u32x ctx[16]; u32x ctx[16];
ctx[ 0] = CHACHA_CONST_00; ctx[ 0] = CHACHA_CONST_00;
ctx[ 1] = CHACHA_CONST_01; ctx[ 1] = CHACHA_CONST_01;
ctx[ 2] = CHACHA_CONST_02; ctx[ 2] = CHACHA_CONST_02;
ctx[ 3] = CHACHA_CONST_03; ctx[ 3] = CHACHA_CONST_03;
ctx[ 4] = w0[0]; ctx[ 4] = w0[0];
ctx[ 5] = w0[1]; ctx[ 5] = w0[1];
ctx[ 6] = w0[2]; ctx[ 6] = w0[2];
ctx[ 7] = w0[3]; ctx[ 7] = w0[3];
@ -80,7 +80,7 @@ DECLSPEC void chacha20_transform (const u32x *w0, const u32x *w1, const u32 *pos
x[15] = ctx[15]; x[15] = ctx[15];
#pragma unroll #pragma unroll
for (u8 i = 0; i < 10; i++) for (u8 i = 0; i < 10; i++)
{ {
/* Column round */ /* Column round */
QR(0, 4, 8, 12); QR(0, 4, 8, 12);
@ -115,11 +115,11 @@ DECLSPEC void chacha20_transform (const u32x *w0, const u32x *w1, const u32 *pos
if (offset > 56) if (offset > 56)
{ {
/** /**
* Generate a second 64 byte keystream * Generate a second 64 byte keystream
*/ */
ctx[12]++; ctx[12]++;
if (all(ctx[12] == 0)) ctx[13]++; if (all(ctx[12] == 0)) ctx[13]++;
x[16] = ctx[ 0]; x[16] = ctx[ 0];
@ -189,17 +189,17 @@ DECLSPEC void chacha20_transform (const u32x *w0, const u32x *w1, const u32 *pos
digest[1] ^= x[index + 1] << (32 - remain * 8); digest[1] ^= x[index + 1] << (32 - remain * 8);
digest[0] ^= x[index + 1] >> ( 0 + remain * 8); digest[0] ^= x[index + 1] >> ( 0 + remain * 8);
digest[0] ^= x[index + 2] << (32 - remain * 8); digest[0] ^= x[index + 2] << (32 - remain * 8);
} }
else else
{ {
digest[1] ^= x[index + 0]; digest[1] ^= x[index + 0];
digest[0] ^= x[index + 1]; digest[0] ^= x[index + 1];
} }
} }
__kernel void m15400_m04 (__global pw_t *pws, __global const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max) __kernel void m15400_m04 (__global pw_t *pws, __global const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max)
{ {
/** /**
* modifier * modifier
*/ */
@ -222,14 +222,14 @@ __kernel void m15400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
const u32 pw_l_len = pws[gid].pw_len; const u32 pw_l_len = pws[gid].pw_len;
/** /**
* Salt prep * Salt prep
*/ */
u32 iv[2] = { 0 }; u32 iv[2] = { 0 };
u32 plain[2] = { 0 }; u32 plain[2] = { 0 };
u32 position[2] = { 0 }; u32 position[2] = { 0 };
u32 offset = 0; u32 offset = 0;
position[0] = esalt_bufs[digests_offset].position[0]; position[0] = esalt_bufs[digests_offset].position[0];
position[1] = esalt_bufs[digests_offset].position[1]; position[1] = esalt_bufs[digests_offset].position[1];
@ -326,7 +326,7 @@ __kernel void m15400_m16 (__global pw_t *pws, __global const kernel_rule_t *rule
} }
__kernel void m15400_s04 (__global pw_t *pws, __global const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max) __kernel void m15400_s04 (__global pw_t *pws, __global const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max)
{ {
/** /**
* modifier * modifier
*/ */
@ -352,14 +352,14 @@ __kernel void m15400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
const u32 pw_l_len = pws[gid].pw_len; const u32 pw_l_len = pws[gid].pw_len;
/** /**
* Salt prep * Salt prep
*/ */
u32 iv[2] = { 0 }; u32 iv[2] = { 0 };
u32 plain[2] = { 0 }; u32 plain[2] = { 0 };
u32 position[2] = { 0 }; u32 position[2] = { 0 };
u32 offset = 0; u32 offset = 0;
position[0] = esalt_bufs[digests_offset].position[0]; position[0] = esalt_bufs[digests_offset].position[0];
position[1] = esalt_bufs[digests_offset].position[1]; position[1] = esalt_bufs[digests_offset].position[1];
@ -382,7 +382,7 @@ __kernel void m15400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
digests_buf[digests_offset].digest_buf[DGST_R2], digests_buf[digests_offset].digest_buf[DGST_R2],
digests_buf[digests_offset].digest_buf[DGST_R3] digests_buf[digests_offset].digest_buf[DGST_R3]
}; };
/** /**
* loop * loop
*/ */
@ -456,7 +456,7 @@ __kernel void m15400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
const u32x r3 = digest[3]; const u32x r3 = digest[3];
COMPARE_S_SIMD(r0, r1, r2, r3); COMPARE_S_SIMD(r0, r1, r2, r3);
} }
} }
__kernel void m15400_s08 (__global pw_t *pws, __global const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max) __kernel void m15400_s08 (__global pw_t *pws, __global const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max)

View File

@ -36,12 +36,12 @@ DECLSPEC void chacha20_transform (const u32x *w0, const u32x *w1, const u32 *pos
*/ */
u32x ctx[16]; u32x ctx[16];
ctx[ 0] = CHACHA_CONST_00; ctx[ 0] = CHACHA_CONST_00;
ctx[ 1] = CHACHA_CONST_01; ctx[ 1] = CHACHA_CONST_01;
ctx[ 2] = CHACHA_CONST_02; ctx[ 2] = CHACHA_CONST_02;
ctx[ 3] = CHACHA_CONST_03; ctx[ 3] = CHACHA_CONST_03;
ctx[ 4] = w0[0]; ctx[ 4] = w0[0];
ctx[ 5] = w0[1]; ctx[ 5] = w0[1];
ctx[ 6] = w0[2]; ctx[ 6] = w0[2];
ctx[ 7] = w0[3]; ctx[ 7] = w0[3];
@ -78,7 +78,7 @@ DECLSPEC void chacha20_transform (const u32x *w0, const u32x *w1, const u32 *pos
x[15] = ctx[15]; x[15] = ctx[15];
#pragma unroll #pragma unroll
for (u8 i = 0; i < 10; i++) for (u8 i = 0; i < 10; i++)
{ {
/* Column round */ /* Column round */
QR(0, 4, 8, 12); QR(0, 4, 8, 12);
@ -113,11 +113,11 @@ DECLSPEC void chacha20_transform (const u32x *w0, const u32x *w1, const u32 *pos
if (offset > 56) if (offset > 56)
{ {
/** /**
* Generate a second 64 byte keystream * Generate a second 64 byte keystream
*/ */
ctx[12]++; ctx[12]++;
if (all(ctx[12] == 0)) ctx[13]++; if (all(ctx[12] == 0)) ctx[13]++;
x[16] = ctx[ 0]; x[16] = ctx[ 0];
@ -187,17 +187,17 @@ DECLSPEC void chacha20_transform (const u32x *w0, const u32x *w1, const u32 *pos
digest[1] ^= x[index + 1] << (32 - remain * 8); digest[1] ^= x[index + 1] << (32 - remain * 8);
digest[0] ^= x[index + 1] >> ( 0 + remain * 8); digest[0] ^= x[index + 1] >> ( 0 + remain * 8);
digest[0] ^= x[index + 2] << (32 - remain * 8); digest[0] ^= x[index + 2] << (32 - remain * 8);
} }
else else
{ {
digest[1] ^= x[index + 0]; digest[1] ^= x[index + 0];
digest[0] ^= x[index + 1]; digest[0] ^= x[index + 1];
} }
} }
__kernel void m15400_m04 (__global pw_t *pws, __global const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __constant const u32x *words_buf_r, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max) __kernel void m15400_m04 (__global pw_t *pws, __global const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __constant const u32x *words_buf_r, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max)
{ {
/** /**
* modifier * modifier
*/ */
@ -220,7 +220,7 @@ __kernel void m15400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32x out_len = pws[gid].pw_len; u32x out_len = pws[gid].pw_len;
/** /**
* Salt prep * Salt prep
*/ */
u32 iv[2] = { 0 }; u32 iv[2] = { 0 };
@ -232,7 +232,7 @@ __kernel void m15400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
position[1] = esalt_bufs[digests_offset].position[1]; position[1] = esalt_bufs[digests_offset].position[1];
offset = esalt_bufs[digests_offset].offset; offset = esalt_bufs[digests_offset].offset;
iv[0] = esalt_bufs[digests_offset].iv[0]; iv[0] = esalt_bufs[digests_offset].iv[0];
iv[1] = esalt_bufs[digests_offset].iv[1]; iv[1] = esalt_bufs[digests_offset].iv[1];
@ -273,7 +273,7 @@ __kernel void m15400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
COMPARE_M_SIMD(r0, r1, r2, r3); COMPARE_M_SIMD(r0, r1, r2, r3);
} }
} }
__kernel void m15400_m08 (__global pw_t *pws, __global const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max) __kernel void m15400_m08 (__global pw_t *pws, __global const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max)
{ {
@ -284,7 +284,7 @@ __kernel void m15400_m16 (__global pw_t *pws, __global const kernel_rule_t *rule
} }
__kernel void m15400_s04 (__global pw_t *pws, __global const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __constant const u32x *words_buf_r, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max) __kernel void m15400_s04 (__global pw_t *pws, __global const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __constant const u32x *words_buf_r, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max)
{ {
/** /**
* modifier * modifier
*/ */
@ -307,7 +307,7 @@ __kernel void m15400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 out_len = pws[gid].pw_len; u32 out_len = pws[gid].pw_len;
/** /**
* Salt prep * Salt prep
*/ */
u32 iv[2] = { 0 }; u32 iv[2] = { 0 };
@ -348,7 +348,7 @@ __kernel void m15400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
{ {
const u32x w0r = words_buf_r[il_pos / VECT_SIZE]; const u32x w0r = words_buf_r[il_pos / VECT_SIZE];
const u32x w0x = w0l | w0r; const u32x w0x = w0l | w0r;
u32x w0_t[4]; u32x w0_t[4];
u32x w1_t[4]; u32x w1_t[4];
@ -372,7 +372,7 @@ __kernel void m15400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
COMPARE_S_SIMD(r0, r1, r2, r3); COMPARE_S_SIMD(r0, r1, r2, r3);
} }
} }
__kernel void m15400_s08 (__global pw_t *pws, __global const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max) __kernel void m15400_s08 (__global pw_t *pws, __global const kernel_rule_t *rules_buf, __global const pw_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const chacha20_t *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u64 gid_max)
{ {

View File

@ -322,7 +322,7 @@ __kernel void m16400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
w3[1] = (wordl3[1] | wordr3[1]) ^ 0x5c5c5c5c; w3[1] = (wordl3[1] | wordr3[1]) ^ 0x5c5c5c5c;
w3[2] = 0x5c5c5c5c; w3[2] = 0x5c5c5c5c;
w3[3] = 0x5c5c5c5c; w3[3] = 0x5c5c5c5c;
/** /**
* md5 * md5
*/ */

View File

@ -242,7 +242,7 @@ DECLSPEC int decrypt_and_check (__local RC4_KEY *rc4_key, u32 *data, __global co
else if length > 256: else if length > 256:
length is on 3 bytes, the first byte is 0x82, and the fourth byte is 0x30 (class=SEQUENCE) length is on 3 bytes, the first byte is 0x82, and the fourth byte is 0x30 (class=SEQUENCE)
*/ */
rc4_next_16 (rc4_key, 0, 0, edata2 + 0, out0); rc4_next_16 (rc4_key, 0, 0, edata2 + 0, out0);
if (((out0[2] & 0x00ff80ff) != 0x00300079) && if (((out0[2] & 0x00ff80ff) != 0x00300079) &&

View File

@ -4,7 +4,7 @@
### License ### ### License ###
**hashcat** is licensed under the MIT license. Refer to [docs/license.txt](docs/license.txt) for more information. **hashcat** is licensed under the MIT license. Refer to [docs/license.txt](docs/license.txt) for more information.
### Installation ### ### Installation ###
@ -12,13 +12,13 @@ Download the [latest release](https://hashcat.net/hashcat/) and unpack it in the
### Usage/Help ### ### Usage/Help ###
Please refer to the [Hashcat Wiki](https://hashcat.net/wiki/) and the output of `--help` for usage information and general help. A list of frequently asked questions may also be found [here](https://hashcat.net/wiki/doku.php?id=frequently_asked_questions). The [Hashcat Forums](https://hashcat.net/forum/) also contains a plethora of information. Please refer to the [Hashcat Wiki](https://hashcat.net/wiki/) and the output of `--help` for usage information and general help. A list of frequently asked questions may also be found [here](https://hashcat.net/wiki/doku.php?id=frequently_asked_questions). The [Hashcat Forum](https://hashcat.net/forum/) also contains a plethora of information.
### Building ### ### Building ###
Refer to [BUILD.md](BUILD.md) for instructions on how to build **hashcat** from source. Refer to [BUILD.md](BUILD.md) for instructions on how to build **hashcat** from source.
Tests: Tests:
Travis | Appveyor | Coverity Travis | Appveyor | Coverity
------ | -------- | -------- ------ | -------- | --------
@ -31,9 +31,9 @@ Contributions are welcome and encouraged, provided your code is of sufficient qu
1. Licensed under MIT license, or dedicated to the public domain (BSD, GPL, etc. code is incompatible) 1. Licensed under MIT license, or dedicated to the public domain (BSD, GPL, etc. code is incompatible)
2. Adheres to gnu99 standard 2. Adheres to gnu99 standard
3. Compiles cleanly with no warnings when compiled with `-W -Wall -std=gnu99` 3. Compiles cleanly with no warnings when compiled with `-W -Wall -std=gnu99`
4. Uses [Allman-style](https://en.wikipedia.org/wiki/Indent_style#Allman_style) code blocks & indentation 4. Uses [Allman-style](https://en.wikipedia.org/wiki/Indent_style#Allman_style) code blocks & indentation
5. Uses 2-spaces as the indentation or a tab if it's required (for example: Makefiles) 5. Uses 2-spaces as the indentation or a tab if it's required (for example: Makefiles)
6. Uses lower-case function and variable names 6. Uses lower-case function and variable names
7. Avoids the use of `!` and uses positive conditionals wherever possible (e.g., `if (foo == 0)` instead of `if (!foo)`, and `if (foo)` instead of `if (foo != 0)`) 7. Avoids the use of `!` and uses positive conditionals wherever possible (e.g., `if (foo == 0)` instead of `if (!foo)`, and `if (foo)` instead of `if (foo != 0)`)
8. Use code like array[index + 0] if you also need to do array[index + 1], to keep it aligned 8. Use code like array[index + 0] if you also need to do array[index + 1], to keep it aligned

View File

@ -18,7 +18,7 @@ Dedicated hash modes allow unlimited salt length support.
UTF-16 is mostly seen on Windows. UTF-8 (as mostly used on Linux and macOS) are fine. UTF-16 is mostly seen on Windows. UTF-8 (as mostly used on Linux and macOS) are fine.
Important: That does not mean UTF-16 file content, which is fully supported. Important: That does not mean UTF-16 file content, which is fully supported.
It only means the filename itself. It only means the filename itself.
@ -44,9 +44,9 @@ For example, on a Vega64: 64 * 512 * 1024 * 1024 * 20 = 687,194,767,360 bytes
## Hashcat GPU memory usage may be limited by maximum allocation sizes of OpenCL drivers ## Hashcat GPU memory usage may be limited by maximum allocation sizes of OpenCL drivers
## ##
Most hashcat hash modes only use a single OpenCL allocation. Most hashcat hash modes only use a single OpenCL allocation.
The size of this allocation is limited by GPU drivers / OpenCL runtimes. The size of this allocation is limited by GPU drivers / OpenCL runtimes.
Only a few modes (like scrypt) make more than one allocation. Only a few modes (like scrypt) make more than one allocation.
@ -54,13 +54,13 @@ Only a few modes (like scrypt) make more than one allocation.
## The maximum number of functions per rule is limited to 31 ## The maximum number of functions per rule is limited to 31
## ##
This makes the size of one rule 128 byte. This makes the size of one rule 128 byte.
On the other hand, there is a 25% OpenCL single allocation memory limit. On the other hand, there is a 25% OpenCL single allocation memory limit.
A typical GPU of today has 8GB = 2GB/128 = 16M rules max A typical GPU of today has 8GB = 2GB/128 = 16M rules max
If hashcat supported more functions per rule, it would be limited to fewer rules. If hashcat supported more functions per rule, it would be limited to fewer rules.
This is a trade-off game. This is a trade-off game.

View File

@ -10319,7 +10319,7 @@ sub rnd
elsif ($mode == 18200) elsif ($mode == 18200)
{ {
$salt_buf = get_random_kerberos5_as_rep_salt (); $salt_buf = get_random_kerberos5_as_rep_salt ();
} }
else else
{ {
my @salt_arr; my @salt_arr;