mirror of
https://github.com/hashcat/hashcat.git
synced 2024-11-15 20:39:17 +00:00
Merge pull request #175 from gm4tr1x/appleWorkaroundLocalVar
Proposal workaround for use __local vars in 6900 gpu code with osx
This commit is contained in:
commit
61b89bb1c8
@ -1,5 +1,7 @@
|
||||
/**
|
||||
* Author......: Jens Steube <jens.steube@gmail.com>
|
||||
* Authors.....: Jens Steube <jens.steube@gmail.com>
|
||||
* Gabriele Gristina <matrix@hashcat.net>
|
||||
*
|
||||
* License.....: MIT
|
||||
*/
|
||||
|
||||
@ -292,7 +294,7 @@ __constant u32 c_tables[4][256] =
|
||||
|
||||
#define BOX(i,n,S) (S)[(n)][(i)]
|
||||
|
||||
#define round(k1,k2,tbl) \
|
||||
#define _round(k1,k2,tbl) \
|
||||
{ \
|
||||
u32 t; \
|
||||
t = (k1) + r; \
|
||||
@ -313,22 +315,22 @@ __constant u32 c_tables[4][256] =
|
||||
u32 l; \
|
||||
r = h[i + 0]; \
|
||||
l = h[i + 1]; \
|
||||
round (k[0], k[1], t); \
|
||||
round (k[2], k[3], t); \
|
||||
round (k[4], k[5], t); \
|
||||
round (k[6], k[7], t); \
|
||||
round (k[0], k[1], t); \
|
||||
round (k[2], k[3], t); \
|
||||
round (k[4], k[5], t); \
|
||||
round (k[6], k[7], t); \
|
||||
round (k[0], k[1], t); \
|
||||
round (k[2], k[3], t); \
|
||||
round (k[4], k[5], t); \
|
||||
round (k[6], k[7], t); \
|
||||
round (k[7], k[6], t); \
|
||||
round (k[5], k[4], t); \
|
||||
round (k[3], k[2], t); \
|
||||
round (k[1], k[0], t); \
|
||||
_round (k[0], k[1], t); \
|
||||
_round (k[2], k[3], t); \
|
||||
_round (k[4], k[5], t); \
|
||||
_round (k[6], k[7], t); \
|
||||
_round (k[0], k[1], t); \
|
||||
_round (k[2], k[3], t); \
|
||||
_round (k[4], k[5], t); \
|
||||
_round (k[6], k[7], t); \
|
||||
_round (k[0], k[1], t); \
|
||||
_round (k[2], k[3], t); \
|
||||
_round (k[4], k[5], t); \
|
||||
_round (k[6], k[7], t); \
|
||||
_round (k[7], k[6], t); \
|
||||
_round (k[5], k[4], t); \
|
||||
_round (k[3], k[2], t); \
|
||||
_round (k[1], k[0], t); \
|
||||
s[i + 0] = l; \
|
||||
s[i + 1] = r; \
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
/**
|
||||
* Author......: Jens Steube <jens.steube@gmail.com>
|
||||
* Authors.....: Jens Steube <jens.steube@gmail.com>
|
||||
* Gabriele Gristina <matrix@hashcat.net>
|
||||
*
|
||||
* License.....: MIT
|
||||
*/
|
||||
|
||||
@ -290,7 +292,7 @@ __constant u32 c_tables[4][256] =
|
||||
|
||||
#define BOX(i,n,S) (S)[(n)][(i)]
|
||||
|
||||
#define round(k1,k2,tbl) \
|
||||
#define _round(k1,k2,tbl) \
|
||||
{ \
|
||||
u32 t; \
|
||||
t = (k1) + r; \
|
||||
@ -311,22 +313,22 @@ __constant u32 c_tables[4][256] =
|
||||
u32 l; \
|
||||
r = h[i + 0]; \
|
||||
l = h[i + 1]; \
|
||||
round (k[0], k[1], t); \
|
||||
round (k[2], k[3], t); \
|
||||
round (k[4], k[5], t); \
|
||||
round (k[6], k[7], t); \
|
||||
round (k[0], k[1], t); \
|
||||
round (k[2], k[3], t); \
|
||||
round (k[4], k[5], t); \
|
||||
round (k[6], k[7], t); \
|
||||
round (k[0], k[1], t); \
|
||||
round (k[2], k[3], t); \
|
||||
round (k[4], k[5], t); \
|
||||
round (k[6], k[7], t); \
|
||||
round (k[7], k[6], t); \
|
||||
round (k[5], k[4], t); \
|
||||
round (k[3], k[2], t); \
|
||||
round (k[1], k[0], t); \
|
||||
_round (k[0], k[1], t); \
|
||||
_round (k[2], k[3], t); \
|
||||
_round (k[4], k[5], t); \
|
||||
_round (k[6], k[7], t); \
|
||||
_round (k[0], k[1], t); \
|
||||
_round (k[2], k[3], t); \
|
||||
_round (k[4], k[5], t); \
|
||||
_round (k[6], k[7], t); \
|
||||
_round (k[0], k[1], t); \
|
||||
_round (k[2], k[3], t); \
|
||||
_round (k[4], k[5], t); \
|
||||
_round (k[6], k[7], t); \
|
||||
_round (k[7], k[6], t); \
|
||||
_round (k[5], k[4], t); \
|
||||
_round (k[3], k[2], t); \
|
||||
_round (k[1], k[0], t); \
|
||||
s[i + 0] = l; \
|
||||
s[i + 1] = r; \
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
/**
|
||||
* Author......: Jens Steube <jens.steube@gmail.com>
|
||||
* Authors.....: Jens Steube <jens.steube@gmail.com>
|
||||
* Gabriele Gristina <matrix@hashcat.net>
|
||||
*
|
||||
* License.....: MIT
|
||||
*/
|
||||
|
||||
@ -298,7 +300,7 @@ __constant u32 c_tables[4][256] =
|
||||
#define BOX(i,n,S) (u32x) ((S)[(n)][(i).s0], (S)[(n)][(i).s1], (S)[(n)][(i).s2], (S)[(n)][(i).s3], (S)[(n)][(i).s4], (S)[(n)][(i).s5], (S)[(n)][(i).s6], (S)[(n)][(i).s7])
|
||||
#endif
|
||||
|
||||
#define round(k1,k2,tbl) \
|
||||
#define _round(k1,k2,tbl) \
|
||||
{ \
|
||||
u32x t; \
|
||||
t = (k1) + r; \
|
||||
@ -319,22 +321,22 @@ __constant u32 c_tables[4][256] =
|
||||
u32x l; \
|
||||
r = h[i + 0]; \
|
||||
l = h[i + 1]; \
|
||||
round (k[0], k[1], t); \
|
||||
round (k[2], k[3], t); \
|
||||
round (k[4], k[5], t); \
|
||||
round (k[6], k[7], t); \
|
||||
round (k[0], k[1], t); \
|
||||
round (k[2], k[3], t); \
|
||||
round (k[4], k[5], t); \
|
||||
round (k[6], k[7], t); \
|
||||
round (k[0], k[1], t); \
|
||||
round (k[2], k[3], t); \
|
||||
round (k[4], k[5], t); \
|
||||
round (k[6], k[7], t); \
|
||||
round (k[7], k[6], t); \
|
||||
round (k[5], k[4], t); \
|
||||
round (k[3], k[2], t); \
|
||||
round (k[1], k[0], t); \
|
||||
_round (k[0], k[1], t); \
|
||||
_round (k[2], k[3], t); \
|
||||
_round (k[4], k[5], t); \
|
||||
_round (k[6], k[7], t); \
|
||||
_round (k[0], k[1], t); \
|
||||
_round (k[2], k[3], t); \
|
||||
_round (k[4], k[5], t); \
|
||||
_round (k[6], k[7], t); \
|
||||
_round (k[0], k[1], t); \
|
||||
_round (k[2], k[3], t); \
|
||||
_round (k[4], k[5], t); \
|
||||
_round (k[6], k[7], t); \
|
||||
_round (k[7], k[6], t); \
|
||||
_round (k[5], k[4], t); \
|
||||
_round (k[3], k[2], t); \
|
||||
_round (k[1], k[0], t); \
|
||||
s[i + 0] = l; \
|
||||
s[i + 1] = r; \
|
||||
}
|
||||
@ -701,7 +703,7 @@ __constant u32 c_tables[4][256] =
|
||||
R (k, h, s, 6, t); \
|
||||
}
|
||||
|
||||
static void m06900m (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __global pw_t *pws, __global kernel_rule_t *rules_buf, __global comb_t *combs_buf, __global bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global u32 *bitmaps_buf_s1_a, __global u32 *bitmaps_buf_s1_b, __global u32 *bitmaps_buf_s1_c, __global u32 *bitmaps_buf_s1_d, __global u32 *bitmaps_buf_s2_a, __global u32 *bitmaps_buf_s2_b, __global u32 *bitmaps_buf_s2_c, __global u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global digest_t *digests_buf, __global u32 *hashes_shown, __global salt_t *salt_bufs, __global void *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV_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 bfs_cnt, const u32 digests_cnt, const u32 digests_offset, __local u32 s_tables[4][256])
|
||||
static void m06900m (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __global pw_t *pws, __global kernel_rule_t *rules_buf, __global comb_t *combs_buf, __global bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global u32 *bitmaps_buf_s1_a, __global u32 *bitmaps_buf_s1_b, __global u32 *bitmaps_buf_s1_c, __global u32 *bitmaps_buf_s1_d, __global u32 *bitmaps_buf_s2_a, __global u32 *bitmaps_buf_s2_b, __global u32 *bitmaps_buf_s2_c, __global u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global digest_t *digests_buf, __global u32 *hashes_shown, __global salt_t *salt_bufs, __global void *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV_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 bfs_cnt, const u32 digests_cnt, const u32 digests_offset, __local u32 (*s_tables)[256])
|
||||
{
|
||||
/**
|
||||
* modifier
|
||||
@ -877,7 +879,7 @@ static void m06900m (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_le
|
||||
}
|
||||
}
|
||||
|
||||
static void m06900s (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __global pw_t *pws, __global kernel_rule_t *rules_buf, __global comb_t *combs_buf, __global bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global u32 *bitmaps_buf_s1_a, __global u32 *bitmaps_buf_s1_b, __global u32 *bitmaps_buf_s1_c, __global u32 *bitmaps_buf_s1_d, __global u32 *bitmaps_buf_s2_a, __global u32 *bitmaps_buf_s2_b, __global u32 *bitmaps_buf_s2_c, __global u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global digest_t *digests_buf, __global u32 *hashes_shown, __global salt_t *salt_bufs, __global void *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV_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 bfs_cnt, const u32 digests_cnt, const u32 digests_offset, __local u32 s_tables[4][256])
|
||||
static void m06900s (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __global pw_t *pws, __global kernel_rule_t *rules_buf, __global comb_t *combs_buf, __global bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global u32 *bitmaps_buf_s1_a, __global u32 *bitmaps_buf_s1_b, __global u32 *bitmaps_buf_s1_c, __global u32 *bitmaps_buf_s1_d, __global u32 *bitmaps_buf_s2_a, __global u32 *bitmaps_buf_s2_b, __global u32 *bitmaps_buf_s2_c, __global u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global digest_t *digests_buf, __global u32 *hashes_shown, __global salt_t *salt_bufs, __global void *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV_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 bfs_cnt, const u32 digests_cnt, const u32 digests_offset, __local u32 (*s_tables)[256])
|
||||
{
|
||||
/**
|
||||
* modifier
|
||||
|
Loading…
Reference in New Issue
Block a user