From 8dd74384853f5584e484beed47020fd2e46e9098 Mon Sep 17 00:00:00 2001 From: Gabriele 'matrix' Gristina Date: Fri, 29 Jan 2016 14:17:46 +0100 Subject: [PATCH] Fixed __local issue with Apple platform for hash mode 6900 --- OpenCL/m06900_a0.cl | 38 ++++++++++++++++++++------------------ OpenCL/m06900_a1.cl | 38 ++++++++++++++++++++------------------ OpenCL/m06900_a3.cl | 42 ++++++++++++++++++++++-------------------- 3 files changed, 62 insertions(+), 56 deletions(-) diff --git a/OpenCL/m06900_a0.cl b/OpenCL/m06900_a0.cl index 4de4b55..7a9c8ca 100644 --- a/OpenCL/m06900_a0.cl +++ b/OpenCL/m06900_a0.cl @@ -1,5 +1,7 @@ /** - * Author......: Jens Steube + * Authors.....: Jens Steube + * Gabriele Gristina + * * 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; \ } diff --git a/OpenCL/m06900_a1.cl b/OpenCL/m06900_a1.cl index eaf03b3..123eb5d 100644 --- a/OpenCL/m06900_a1.cl +++ b/OpenCL/m06900_a1.cl @@ -1,5 +1,7 @@ /** - * Author......: Jens Steube + * Authors.....: Jens Steube + * Gabriele Gristina + * * 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; \ } diff --git a/OpenCL/m06900_a3.cl b/OpenCL/m06900_a3.cl index 615eaff..3282592 100644 --- a/OpenCL/m06900_a3.cl +++ b/OpenCL/m06900_a3.cl @@ -1,5 +1,7 @@ /** - * Author......: Jens Steube + * Authors.....: Jens Steube + * Gabriele Gristina + * * 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 -- 2.25.1