mirror of
https://github.com/hashcat/hashcat.git
synced 2024-11-26 01:50:10 +00:00
Merge pull request #1753 from roycewilliams/master
consistent forum singular (thx unix-ninja); trailing whitespace
This commit is contained in:
commit
c804d79eb8
@ -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[3] = w2[0];
|
||||
t3[0] = w2[1];
|
||||
t3[1] = w2[2];
|
||||
t3[2] = w2[3];
|
||||
t3[1] = w2[2];
|
||||
t3[2] = w2[3];
|
||||
t3[3] = w3[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[3] = w2[0];
|
||||
t3[0] = w2[1];
|
||||
t3[1] = w2[2];
|
||||
t3[2] = w2[3];
|
||||
t3[1] = w2[2];
|
||||
t3[2] = w2[3];
|
||||
t3[3] = w3[0];
|
||||
|
||||
t0[0] |= salt_buf0[0];
|
||||
|
@ -38,12 +38,12 @@ DECLSPEC void chacha20_transform (const u32x *w0, const u32x *w1, const u32 *pos
|
||||
*/
|
||||
|
||||
u32x ctx[16];
|
||||
|
||||
|
||||
ctx[ 0] = CHACHA_CONST_00;
|
||||
ctx[ 1] = CHACHA_CONST_01;
|
||||
ctx[ 2] = CHACHA_CONST_02;
|
||||
ctx[ 3] = CHACHA_CONST_03;
|
||||
ctx[ 4] = w0[0];
|
||||
ctx[ 4] = w0[0];
|
||||
ctx[ 5] = w0[1];
|
||||
ctx[ 6] = w0[2];
|
||||
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];
|
||||
|
||||
#pragma unroll
|
||||
for (u8 i = 0; i < 10; i++)
|
||||
for (u8 i = 0; i < 10; i++)
|
||||
{
|
||||
/* Column round */
|
||||
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)
|
||||
{
|
||||
/**
|
||||
* Generate a second 64 byte keystream
|
||||
* Generate a second 64 byte keystream
|
||||
*/
|
||||
|
||||
|
||||
ctx[12]++;
|
||||
|
||||
|
||||
if (all(ctx[12] == 0)) ctx[13]++;
|
||||
|
||||
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[0] ^= x[index + 1] >> ( 0 + remain * 8);
|
||||
digest[0] ^= x[index + 2] << (32 - remain * 8);
|
||||
digest[0] ^= x[index + 2] << (32 - remain * 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
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)
|
||||
{
|
||||
{
|
||||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* Salt prep
|
||||
* Salt prep
|
||||
*/
|
||||
|
||||
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];
|
||||
|
||||
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)
|
||||
@ -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)
|
||||
{
|
||||
{
|
||||
/**
|
||||
* 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[1] = esalt_bufs[digests_offset].plain[1];
|
||||
|
||||
|
||||
/**
|
||||
* 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_R3]
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* loop
|
||||
*/
|
||||
@ -339,7 +339,7 @@ __kernel void m15400_s04 (__global pw_t *pws, __constant const kernel_rule_t *ru
|
||||
{
|
||||
u32x w0[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);
|
||||
|
||||
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];
|
||||
|
||||
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)
|
||||
|
@ -38,12 +38,12 @@ DECLSPEC void chacha20_transform (const u32x *w0, const u32x *w1, const u32 *pos
|
||||
*/
|
||||
|
||||
u32x ctx[16];
|
||||
|
||||
|
||||
ctx[ 0] = CHACHA_CONST_00;
|
||||
ctx[ 1] = CHACHA_CONST_01;
|
||||
ctx[ 2] = CHACHA_CONST_02;
|
||||
ctx[ 3] = CHACHA_CONST_03;
|
||||
ctx[ 4] = w0[0];
|
||||
ctx[ 4] = w0[0];
|
||||
ctx[ 5] = w0[1];
|
||||
ctx[ 6] = w0[2];
|
||||
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];
|
||||
|
||||
#pragma unroll
|
||||
for (u8 i = 0; i < 10; i++)
|
||||
for (u8 i = 0; i < 10; i++)
|
||||
{
|
||||
/* Column round */
|
||||
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)
|
||||
{
|
||||
/**
|
||||
* Generate a second 64 byte keystream
|
||||
* Generate a second 64 byte keystream
|
||||
*/
|
||||
|
||||
|
||||
ctx[12]++;
|
||||
|
||||
|
||||
if (all(ctx[12] == 0)) ctx[13]++;
|
||||
|
||||
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[0] ^= x[index + 1] >> ( 0 + remain * 8);
|
||||
digest[0] ^= x[index + 2] << (32 - remain * 8);
|
||||
digest[0] ^= x[index + 2] << (32 - remain * 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
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)
|
||||
{
|
||||
{
|
||||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* Salt prep
|
||||
* Salt prep
|
||||
*/
|
||||
|
||||
u32 iv[2] = { 0 };
|
||||
u32 plain[2] = { 0 };
|
||||
u32 position[2] = { 0 };
|
||||
u32 position[2] = { 0 };
|
||||
u32 offset = 0;
|
||||
|
||||
|
||||
position[0] = esalt_bufs[digests_offset].position[0];
|
||||
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)
|
||||
{
|
||||
{
|
||||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* Salt prep
|
||||
* Salt prep
|
||||
*/
|
||||
|
||||
u32 iv[2] = { 0 };
|
||||
u32 plain[2] = { 0 };
|
||||
u32 position[2] = { 0 };
|
||||
u32 offset = 0;
|
||||
|
||||
|
||||
position[0] = esalt_bufs[digests_offset].position[0];
|
||||
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_R3]
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* loop
|
||||
*/
|
||||
@ -456,7 +456,7 @@ __kernel void m15400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
|
||||
const u32x r3 = digest[3];
|
||||
|
||||
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)
|
||||
|
@ -36,12 +36,12 @@ DECLSPEC void chacha20_transform (const u32x *w0, const u32x *w1, const u32 *pos
|
||||
*/
|
||||
|
||||
u32x ctx[16];
|
||||
|
||||
|
||||
ctx[ 0] = CHACHA_CONST_00;
|
||||
ctx[ 1] = CHACHA_CONST_01;
|
||||
ctx[ 2] = CHACHA_CONST_02;
|
||||
ctx[ 3] = CHACHA_CONST_03;
|
||||
ctx[ 4] = w0[0];
|
||||
ctx[ 4] = w0[0];
|
||||
ctx[ 5] = w0[1];
|
||||
ctx[ 6] = w0[2];
|
||||
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];
|
||||
|
||||
#pragma unroll
|
||||
for (u8 i = 0; i < 10; i++)
|
||||
for (u8 i = 0; i < 10; i++)
|
||||
{
|
||||
/* Column round */
|
||||
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)
|
||||
{
|
||||
/**
|
||||
* Generate a second 64 byte keystream
|
||||
* Generate a second 64 byte keystream
|
||||
*/
|
||||
|
||||
|
||||
ctx[12]++;
|
||||
|
||||
|
||||
if (all(ctx[12] == 0)) ctx[13]++;
|
||||
|
||||
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[0] ^= x[index + 1] >> ( 0 + remain * 8);
|
||||
digest[0] ^= x[index + 2] << (32 - remain * 8);
|
||||
digest[0] ^= x[index + 2] << (32 - remain * 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
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)
|
||||
{
|
||||
{
|
||||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* Salt prep
|
||||
* Salt prep
|
||||
*/
|
||||
|
||||
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];
|
||||
|
||||
offset = esalt_bufs[digests_offset].offset;
|
||||
|
||||
|
||||
iv[0] = esalt_bufs[digests_offset].iv[0];
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
__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)
|
||||
{
|
||||
{
|
||||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* Salt prep
|
||||
* Salt prep
|
||||
*/
|
||||
|
||||
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 w0x = w0l | w0r;
|
||||
|
||||
|
||||
u32x w0_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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
__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)
|
||||
{
|
||||
|
@ -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[2] = 0x5c5c5c5c;
|
||||
w3[3] = 0x5c5c5c5c;
|
||||
|
||||
|
||||
/**
|
||||
* md5
|
||||
*/
|
||||
|
@ -242,7 +242,7 @@ DECLSPEC int decrypt_and_check (__local RC4_KEY *rc4_key, u32 *data, __global co
|
||||
else if length > 256:
|
||||
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);
|
||||
|
||||
if (((out0[2] & 0x00ff80ff) != 0x00300079) &&
|
||||
|
10
README.md
10
README.md
@ -4,7 +4,7 @@
|
||||
|
||||
### 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 ###
|
||||
|
||||
@ -12,13 +12,13 @@ Download the [latest release](https://hashcat.net/hashcat/) and unpack it in the
|
||||
|
||||
### 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 ###
|
||||
|
||||
Refer to [BUILD.md](BUILD.md) for instructions on how to build **hashcat** from source.
|
||||
|
||||
Tests:
|
||||
Tests:
|
||||
|
||||
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)
|
||||
2. Adheres to gnu99 standard
|
||||
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)
|
||||
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)`)
|
||||
8. Use code like array[index + 0] if you also need to do array[index + 1], to keep it aligned
|
||||
|
||||
|
@ -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.
|
||||
|
||||
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.
|
||||
|
||||
@ -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
|
||||
##
|
||||
|
||||
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.
|
||||
|
||||
@ -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
|
||||
##
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
|
@ -10319,7 +10319,7 @@ sub rnd
|
||||
elsif ($mode == 18200)
|
||||
{
|
||||
$salt_buf = get_random_kerberos5_as_rep_salt ();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
my @salt_arr;
|
||||
|
Loading…
Reference in New Issue
Block a user