diff --git a/OpenCL/m29800_a0-optimized.cl b/OpenCL/m24700_a0-optimized.cl similarity index 97% rename from OpenCL/m29800_a0-optimized.cl rename to OpenCL/m24700_a0-optimized.cl index fc0c0bb6a..50bc227b3 100644 --- a/OpenCL/m29800_a0-optimized.cl +++ b/OpenCL/m24700_a0-optimized.cl @@ -16,7 +16,7 @@ #include "inc_hash_md5.cl" #endif -KERNEL_FQ void m29800_m04 (KERN_ATTR_RULES ()) +KERNEL_FQ void m24700_m04 (KERN_ATTR_RULES ()) { /** * modifier @@ -143,8 +143,7 @@ KERNEL_FQ void m29800_m04 (KERN_ATTR_RULES ()) d += MD5M_D; w0[0] = a; - w0[1] = b & 0x000000ff; - w0[1] |= 0x00008000; + w0[1] = b & 0xff; w0[1] |= 0x8000; w0[2] = 0; w0[3] = 0; w1[0] = 0; @@ -233,7 +232,7 @@ KERNEL_FQ void m29800_m04 (KERN_ATTR_RULES ()) MD5_STEP (MD5_I , c, d, a, b, w0[2], MD5C3e, MD5S32); MD5_STEP (MD5_I , b, c, d, a, w2[1], MD5C3f, MD5S33); - b &= 0x000000ff; + b &= 0xff; c = 0; d = 0; @@ -241,15 +240,15 @@ KERNEL_FQ void m29800_m04 (KERN_ATTR_RULES ()) } } -KERNEL_FQ void m29800_m08 (KERN_ATTR_RULES ()) +KERNEL_FQ void m24700_m08 (KERN_ATTR_RULES ()) { } -KERNEL_FQ void m29800_m16 (KERN_ATTR_RULES ()) +KERNEL_FQ void m24700_m16 (KERN_ATTR_RULES ()) { } -KERNEL_FQ void m29800_s04 (KERN_ATTR_RULES ()) +KERNEL_FQ void m24700_s04 (KERN_ATTR_RULES ()) { /** * modifier @@ -388,8 +387,7 @@ KERNEL_FQ void m29800_s04 (KERN_ATTR_RULES ()) d += MD5M_D; w0[0] = a; - w0[1] = b & 0x000000ff; - w0[1] |= 0x00008000; + w0[1] = b & 0xff; w0[1] |= 0x8000; w0[2] = 0; w0[3] = 0; w1[0] = 0; @@ -481,7 +479,7 @@ KERNEL_FQ void m29800_s04 (KERN_ATTR_RULES ()) MD5_STEP (MD5_I , c, d, a, b, w0[2], MD5C3e, MD5S32); MD5_STEP (MD5_I , b, c, d, a, w2[1], MD5C3f, MD5S33); - b &= 0x000000ff; + b &= 0xff; c = 0; d = 0; @@ -489,10 +487,10 @@ KERNEL_FQ void m29800_s04 (KERN_ATTR_RULES ()) } } -KERNEL_FQ void m29800_s08 (KERN_ATTR_RULES ()) +KERNEL_FQ void m24700_s08 (KERN_ATTR_RULES ()) { } -KERNEL_FQ void m29800_s16 (KERN_ATTR_RULES ()) +KERNEL_FQ void m24700_s16 (KERN_ATTR_RULES ()) { } diff --git a/OpenCL/m29800_a0-pure.cl b/OpenCL/m24700_a0-pure.cl similarity index 80% rename from OpenCL/m29800_a0-pure.cl rename to OpenCL/m24700_a0-pure.cl index 665cf5cf1..796eca01d 100644 --- a/OpenCL/m29800_a0-pure.cl +++ b/OpenCL/m24700_a0-pure.cl @@ -16,7 +16,7 @@ #include "inc_hash_md5.cl" #endif -KERNEL_FQ void m29800_mxx (KERN_ATTR_RULES ()) +KERNEL_FQ void m24700_mxx (KERN_ATTR_RULES ()) { /** * modifier @@ -51,23 +51,21 @@ KERNEL_FQ void m29800_mxx (KERN_ATTR_RULES ()) md5_final (&ctx0); const u32 a = ctx0.h[0]; - const u32 b = ctx0.h[1] & 0x000000ff; + const u32 b = ctx0.h[1] & 0xff; md5_ctx_t ctx; md5_init (&ctx); - u32x _w[64] = { 0 }; + ctx.w0[0] = a; + ctx.w0[1] = b; - _w[0] = a; - _w[1] = b; - - md5_update (&ctx, _w, 5); + ctx.len = 5; md5_final (&ctx); const u32 r0 = ctx.h[DGST_R0]; - const u32 r1 = ctx.h[DGST_R1] & 0x000000ff; + const u32 r1 = ctx.h[DGST_R1] & 0xff; const u32 r2 = 0; const u32 r3 = 0; @@ -75,7 +73,7 @@ KERNEL_FQ void m29800_mxx (KERN_ATTR_RULES ()) } } -KERNEL_FQ void m29800_sxx (KERN_ATTR_RULES ()) +KERNEL_FQ void m24700_sxx (KERN_ATTR_RULES ()) { /** * modifier @@ -122,23 +120,21 @@ KERNEL_FQ void m29800_sxx (KERN_ATTR_RULES ()) md5_final (&ctx0); const u32 a = ctx0.h[0]; - const u32 b = ctx0.h[1] & 0x000000ff; + const u32 b = ctx0.h[1] & 0xff; md5_ctx_t ctx; md5_init (&ctx); - u32x _w[64] = { 0 }; - - _w[0] = a; - _w[1] = b; + ctx.w0[0] = a; + ctx.w0[1] = b; - md5_update (&ctx, _w, 5); + ctx.len = 5; md5_final (&ctx); const u32 r0 = ctx.h[DGST_R0]; - const u32 r1 = ctx.h[DGST_R1] & 0x000000ff; + const u32 r1 = ctx.h[DGST_R1] & 0xff; const u32 r2 = 0; const u32 r3 = 0; diff --git a/OpenCL/m29800_a1-optimized.cl b/OpenCL/m24700_a1-optimized.cl similarity index 98% rename from OpenCL/m29800_a1-optimized.cl rename to OpenCL/m24700_a1-optimized.cl index aa76c241f..c9570e955 100644 --- a/OpenCL/m29800_a1-optimized.cl +++ b/OpenCL/m24700_a1-optimized.cl @@ -14,7 +14,7 @@ #include "inc_hash_md5.cl" #endif -KERNEL_FQ void m29800_m04 (KERN_ATTR_BASIC ()) +KERNEL_FQ void m24700_m04 (KERN_ATTR_BASIC ()) { /** * modifier @@ -200,8 +200,7 @@ KERNEL_FQ void m29800_m04 (KERN_ATTR_BASIC ()) d += MD5M_D; w0[0] = a; - w0[1] = b & 0x000000ff; - w0[1] |= 0x00008000; + w0[1] = b & 0xff; w0[1] |= 0x8000; w0[2] = 0; w0[3] = 0; w1[0] = 0; @@ -290,7 +289,7 @@ KERNEL_FQ void m29800_m04 (KERN_ATTR_BASIC ()) MD5_STEP (MD5_I , c, d, a, b, w0[2], MD5C3e, MD5S32); MD5_STEP (MD5_I , b, c, d, a, w2[1], MD5C3f, MD5S33); - b &= 0x000000ff; + b &= 0xff; c = 0; d = 0; @@ -298,15 +297,15 @@ KERNEL_FQ void m29800_m04 (KERN_ATTR_BASIC ()) } } -KERNEL_FQ void m29800_m08 (KERN_ATTR_BASIC ()) +KERNEL_FQ void m24700_m08 (KERN_ATTR_BASIC ()) { } -KERNEL_FQ void m29800_m16 (KERN_ATTR_BASIC ()) +KERNEL_FQ void m24700_m16 (KERN_ATTR_BASIC ()) { } -KERNEL_FQ void m29800_s04 (KERN_ATTR_BASIC ()) +KERNEL_FQ void m24700_s04 (KERN_ATTR_BASIC ()) { /** * modifier @@ -504,8 +503,7 @@ KERNEL_FQ void m29800_s04 (KERN_ATTR_BASIC ()) d += MD5M_D; w0[0] = a; - w0[1] = b & 0x000000ff; - w0[1] |= 0x00008000; + w0[1] = b & 0xff; w0[1] |= 0x8000; w0[2] = 0; w0[3] = 0; w1[0] = 0; @@ -597,7 +595,7 @@ KERNEL_FQ void m29800_s04 (KERN_ATTR_BASIC ()) MD5_STEP (MD5_I , c, d, a, b, w0[2], MD5C3e, MD5S32); MD5_STEP (MD5_I , b, c, d, a, w2[1], MD5C3f, MD5S33); - b &= 0x000000ff; + b &= 0xff; c = 0; d = 0; @@ -605,10 +603,10 @@ KERNEL_FQ void m29800_s04 (KERN_ATTR_BASIC ()) } } -KERNEL_FQ void m29800_s08 (KERN_ATTR_BASIC ()) +KERNEL_FQ void m24700_s08 (KERN_ATTR_BASIC ()) { } -KERNEL_FQ void m29800_s16 (KERN_ATTR_BASIC ()) +KERNEL_FQ void m24700_s16 (KERN_ATTR_BASIC ()) { } diff --git a/OpenCL/m29800_a1-pure.cl b/OpenCL/m24700_a1-pure.cl similarity index 79% rename from OpenCL/m29800_a1-pure.cl rename to OpenCL/m24700_a1-pure.cl index c1b771dbb..3e2fbf662 100644 --- a/OpenCL/m29800_a1-pure.cl +++ b/OpenCL/m24700_a1-pure.cl @@ -14,7 +14,7 @@ #include "inc_hash_md5.cl" #endif -KERNEL_FQ void m29800_mxx (KERN_ATTR_BASIC ()) +KERNEL_FQ void m24700_mxx (KERN_ATTR_BASIC ()) { /** * modifier @@ -47,23 +47,21 @@ KERNEL_FQ void m29800_mxx (KERN_ATTR_BASIC ()) md5_final (&ctx1); const u32 a = ctx1.h[0]; - const u32 b = ctx1.h[1] & 0x000000ff; + const u32 b = ctx1.h[1] & 0xff; md5_ctx_t ctx; md5_init (&ctx); - u32x _w[64] = { 0 }; + ctx.w0[0] = a; + ctx.w0[1] = b; - _w[0] = a; - _w[1] = b; - - md5_update_vector (&ctx, _w, 5); + ctx.len = 5; md5_final (&ctx); const u32 r0 = ctx.h[DGST_R0]; - const u32 r1 = ctx.h[DGST_R1] & 0x000000ff; + const u32 r1 = ctx.h[DGST_R1] & 0xff; const u32 r2 = 0; const u32 r3 = 0; @@ -71,7 +69,7 @@ KERNEL_FQ void m29800_mxx (KERN_ATTR_BASIC ()) } } -KERNEL_FQ void m29800_sxx (KERN_ATTR_BASIC ()) +KERNEL_FQ void m24700_sxx (KERN_ATTR_BASIC ()) { /** * modifier @@ -116,23 +114,21 @@ KERNEL_FQ void m29800_sxx (KERN_ATTR_BASIC ()) md5_final (&ctx1); const u32 a = ctx1.h[0]; - const u32 b = ctx1.h[1] & 0x000000ff; + const u32 b = ctx1.h[1] & 0xff; md5_ctx_t ctx; md5_init (&ctx); - u32x _w[64] = { 0 }; - - _w[0] = a; - _w[1] = b; + ctx.w0[0] = a; + ctx.w0[1] = b; - md5_update_vector (&ctx, _w, 5); + ctx.len = 5; md5_final (&ctx); const u32 r0 = ctx.h[DGST_R0]; - const u32 r1 = ctx.h[DGST_R1] & 0x000000ff; + const u32 r1 = ctx.h[DGST_R1] & 0xff; const u32 r2 = 0; const u32 r3 = 0; diff --git a/OpenCL/m29800_a3-optimized.cl b/OpenCL/m24700_a3-optimized.cl similarity index 96% rename from OpenCL/m29800_a3-optimized.cl rename to OpenCL/m24700_a3-optimized.cl index 8e23db854..0c5c99397 100644 --- a/OpenCL/m29800_a3-optimized.cl +++ b/OpenCL/m24700_a3-optimized.cl @@ -14,7 +14,7 @@ #include "inc_hash_md5.cl" #endif -DECLSPEC void m29800m (u32 *w0, u32 *w1, u32 *w2, u32 *w3, const u32 pw_len, KERN_ATTR_BASIC ()) +DECLSPEC void m24700m (u32 *w0, u32 *w1, u32 *w2, u32 *w3, const u32 pw_len, KERN_ATTR_BASIC ()) { /** * modifier @@ -141,8 +141,7 @@ DECLSPEC void m29800m (u32 *w0, u32 *w1, u32 *w2, u32 *w3, const u32 pw_len, KER d += MD5M_D; w0_t[0] = a; - w0_t[1] = b & 0x000000ff; - w0_t[1] |= 0x00008000; + w0_t[1] = b & 0xff; w0_t[1] |= 0x8000; w0_t[2] = 0; w0_t[3] = 0; w1_t[0] = 0; @@ -231,7 +230,7 @@ DECLSPEC void m29800m (u32 *w0, u32 *w1, u32 *w2, u32 *w3, const u32 pw_len, KER MD5_STEP (MD5_I , c, d, a, b, w0_t[2], MD5C3e, MD5S32); MD5_STEP (MD5_I , b, c, d, a, w2_t[1], MD5C3f, MD5S33); - b &= 0x000000ff; + b &= 0xff; c = 0; d = 0; @@ -239,7 +238,7 @@ DECLSPEC void m29800m (u32 *w0, u32 *w1, u32 *w2, u32 *w3, const u32 pw_len, KER } } -DECLSPEC void m29800s (u32 *w0, u32 *w1, u32 *w2, u32 *w3, const u32 pw_len, KERN_ATTR_BASIC ()) +DECLSPEC void m24700s (u32 *w0, u32 *w1, u32 *w2, u32 *w3, const u32 pw_len, KERN_ATTR_BASIC ()) { /** * modifier @@ -378,8 +377,7 @@ DECLSPEC void m29800s (u32 *w0, u32 *w1, u32 *w2, u32 *w3, const u32 pw_len, KER d += MD5M_D; w0_t[0] = a; - w0_t[1] = b & 0x000000ff; - w0_t[1] |= 0x00008000; + w0_t[1] = b & 0xff; w0_t[1] |= 0x8000; w0_t[2] = 0; w0_t[3] = 0; w1_t[0] = 0; @@ -471,7 +469,7 @@ DECLSPEC void m29800s (u32 *w0, u32 *w1, u32 *w2, u32 *w3, const u32 pw_len, KER MD5_STEP (MD5_I , c, d, a, b, w0_t[2], MD5C3e, MD5S32); MD5_STEP (MD5_I , b, c, d, a, w2_t[1], MD5C3f, MD5S33); - b &= 0x000000ff; + b &= 0xff; c = 0; d = 0; @@ -479,7 +477,7 @@ DECLSPEC void m29800s (u32 *w0, u32 *w1, u32 *w2, u32 *w3, const u32 pw_len, KER } } -KERNEL_FQ void m29800_m04 (KERN_ATTR_BASIC ()) +KERNEL_FQ void m24700_m04 (KERN_ATTR_BASIC ()) { /** * base @@ -527,10 +525,10 @@ KERNEL_FQ void m29800_m04 (KERN_ATTR_BASIC ()) * main */ - m29800m (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); + m24700m (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); } -KERNEL_FQ void m29800_m08 (KERN_ATTR_BASIC ()) +KERNEL_FQ void m24700_m08 (KERN_ATTR_BASIC ()) { /** * base @@ -578,10 +576,10 @@ KERNEL_FQ void m29800_m08 (KERN_ATTR_BASIC ()) * main */ - m29800m (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); + m24700m (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); } -KERNEL_FQ void m29800_m16 (KERN_ATTR_BASIC ()) +KERNEL_FQ void m24700_m16 (KERN_ATTR_BASIC ()) { /** * base @@ -629,10 +627,10 @@ KERNEL_FQ void m29800_m16 (KERN_ATTR_BASIC ()) * main */ - m29800m (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); + m24700m (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); } -KERNEL_FQ void m29800_s04 (KERN_ATTR_BASIC ()) +KERNEL_FQ void m24700_s04 (KERN_ATTR_BASIC ()) { /** * base @@ -680,10 +678,10 @@ KERNEL_FQ void m29800_s04 (KERN_ATTR_BASIC ()) * main */ - m29800s (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); + m24700s (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); } -KERNEL_FQ void m29800_s08 (KERN_ATTR_BASIC ()) +KERNEL_FQ void m24700_s08 (KERN_ATTR_BASIC ()) { /** * base @@ -731,10 +729,10 @@ KERNEL_FQ void m29800_s08 (KERN_ATTR_BASIC ()) * main */ - m29800s (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); + m24700s (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); } -KERNEL_FQ void m29800_s16 (KERN_ATTR_BASIC ()) +KERNEL_FQ void m24700_s16 (KERN_ATTR_BASIC ()) { /** * base @@ -782,5 +780,5 @@ KERNEL_FQ void m29800_s16 (KERN_ATTR_BASIC ()) * main */ - m29800s (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); + m24700s (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); } diff --git a/OpenCL/m29800_a3-pure.cl b/OpenCL/m24700_a3-pure.cl similarity index 82% rename from OpenCL/m29800_a3-pure.cl rename to OpenCL/m24700_a3-pure.cl index ed8e52be9..9942c4415 100644 --- a/OpenCL/m29800_a3-pure.cl +++ b/OpenCL/m24700_a3-pure.cl @@ -14,7 +14,7 @@ #include "inc_hash_md5.cl" #endif -KERNEL_FQ void m29800_mxx (KERN_ATTR_VECTOR ()) +KERNEL_FQ void m24700_mxx (KERN_ATTR_VECTOR ()) { /** * modifier @@ -60,23 +60,21 @@ KERNEL_FQ void m29800_mxx (KERN_ATTR_VECTOR ()) md5_final_vector (&ctx0); const u32x a = ctx0.h[0]; - const u32x b = ctx0.h[1] & 0x000000ff; + const u32x b = ctx0.h[1] & 0xff; md5_ctx_vector_t ctx; md5_init_vector (&ctx); - u32x _w[64] = { 0 }; + ctx.w0[0] = a; + ctx.w0[1] = b; - _w[0] = a; - _w[1] = b; - - md5_update_vector (&ctx, _w, 5); + ctx.len = 5; md5_final_vector (&ctx); const u32x r0 = ctx.h[DGST_R0]; - const u32x r1 = ctx.h[DGST_R1] & 0x000000ff; + const u32x r1 = ctx.h[DGST_R1] & 0xff; const u32x r2 = 0; const u32x r3 = 0; @@ -84,7 +82,7 @@ KERNEL_FQ void m29800_mxx (KERN_ATTR_VECTOR ()) } } -KERNEL_FQ void m29800_sxx (KERN_ATTR_VECTOR ()) +KERNEL_FQ void m24700_sxx (KERN_ATTR_VECTOR ()) { /** * modifier @@ -142,23 +140,21 @@ KERNEL_FQ void m29800_sxx (KERN_ATTR_VECTOR ()) md5_final_vector (&ctx0); const u32x a = ctx0.h[0]; - const u32x b = ctx0.h[1] & 0x000000ff; + const u32x b = ctx0.h[1] & 0xff; md5_ctx_vector_t ctx; md5_init_vector (&ctx); - u32x _w[64] = { 0 }; - - _w[0] = a; - _w[1] = b; + ctx.w0[0] = a; + ctx.w0[1] = b; - md5_update_vector (&ctx, _w, 5); + ctx.len = 5; md5_final_vector (&ctx); const u32x r0 = ctx.h[DGST_R0]; - const u32x r1 = ctx.h[DGST_R1] & 0x000000ff; + const u32x r1 = ctx.h[DGST_R1] & 0xff; const u32x r2 = 0; const u32x r3 = 0; diff --git a/docs/changes.txt b/docs/changes.txt index d7e3a72c9..9acbd3def 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -4,20 +4,20 @@ ## Algorithms ## -- Added hash-mode: Bitwarden -- Added hash-mode: BestCrypt v3 Volume Encryption - Added hash-mode: Apple iWork - Added hash-mode: AxCrypt 2 AES-128 - Added hash-mode: AxCrypt 2 AES-256 +- Added hash-mode: BestCrypt v3 Volume Encryption +- Added hash-mode: Bitwarden +- Added hash-mode: Dahua Authentication MD5 - Added hash-mode: PKCS#8 Private Keys - Added hash-mode: RAR3-p (Compressed) - Added hash-mode: RAR3-p (Uncompressed) - Added hash-mode: RSA/DSA/EC/OPENSSH Private Keys - Added hash-mode: SQLCipher -- Added hash-mode: Dahua Authentication MD5 +- Added hash-mode: Stuffit5 - Added hash-mode: Umbraco HMAC-SHA1 - Added hash-mode: sha1(sha1($pass).$salt) -- Added hash-mode: Stuffit5 ## ## Bugs diff --git a/docs/readme.txt b/docs/readme.txt index f6aa7b30f..232bde33b 100644 --- a/docs/readme.txt +++ b/docs/readme.txt @@ -262,7 +262,6 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - PDF 1.4 - 1.6 (Acrobat 5 - 8) - PDF 1.7 Level 3 (Acrobat 9) - PDF 1.7 Level 8 (Acrobat 10 - 11) -- Stuffit5 - Apple iWork - MS Office 2007 - MS Office 2010 @@ -315,6 +314,7 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - iTunes backup >= 10.0 - WinZip - Android Backup +- Stuffit5 - AxCrypt 1 - AxCrypt 1 in-memory SHA1 - AxCrypt 2 AES-128 diff --git a/src/modules/module_29800.c b/src/modules/module_24700.c similarity index 98% rename from src/modules/module_29800.c rename to src/modules/module_24700.c index 4b0b9a8cc..04163dc37 100644 --- a/src/modules/module_29800.c +++ b/src/modules/module_24700.c @@ -18,7 +18,7 @@ static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_4; static const u32 HASH_CATEGORY = HASH_CATEGORY_ARCHIVE; static const char *HASH_NAME = "Stuffit5"; -static const u64 KERN_TYPE = 29800; +static const u64 KERN_TYPE = 24700; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE | OPTI_TYPE_PRECOMPUTE_INIT | OPTI_TYPE_EARLY_SKIP; @@ -26,8 +26,8 @@ static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_PT_ADD80 | OPTS_TYPE_PT_ADDBITS14; static const u32 SALT_TYPE = SALT_TYPE_NONE; -static const char *ST_PASS = "holy"; -static const char *ST_HASH = "9d54b35b93"; +static const char *ST_PASS = "hashcat"; +static const char *ST_HASH = "66a75cb059"; u32 module_attack_exec (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ATTACK_EXEC; } u32 module_dgst_pos0 (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return DGST_POS0; } diff --git a/tools/test_modules/m29800.pm b/tools/test_modules/m24700.pm similarity index 68% rename from tools/test_modules/m29800.pm rename to tools/test_modules/m24700.pm index 3df1f4195..47806b512 100644 --- a/tools/test_modules/m29800.pm +++ b/tools/test_modules/m24700.pm @@ -11,7 +11,7 @@ use warnings; use Digest::MD5 qw (md5_hex); use Digest::MD5 qw (md5); -sub module_constraints { [[0, 256], [0, 256], [0, 55], [0, 55], [-1, -1]] } +sub module_constraints { [[0, 256], [-1, -1], [0, 55], [-1, -1], [-1, -1]] } sub module_generate_hash { @@ -19,11 +19,13 @@ sub module_generate_hash my $digest1 = md5 ($word); - my $digest1_sub = substr($digest1, 0, 5); + my $digest1_sub = substr ($digest1, 0, 5); - my $digest_hex = md5_hex ($digest1_sub); + my $digest2 = md5 ($digest1_sub); - my $hash = sprintf ("%s", substr ($digest_hex, 0, 10)); + my $digest2_sub = substr ($digest2, 0, 5); + + my $hash = sprintf ("%s", unpack ("H*", $digest2_sub)); return $hash; }