|
|
|
@ -161,15 +161,20 @@ KERNEL_FQ void m23700_loop (KERN_ATTR_TMPS_ESALT (rar3_tmp_t, rar3_t))
|
|
|
|
|
|
|
|
|
|
if (gid >= gid_max) return;
|
|
|
|
|
|
|
|
|
|
u32 pw_buf[5];
|
|
|
|
|
u32 pw_buf[10];
|
|
|
|
|
|
|
|
|
|
pw_buf[0] = pws[gid].i[0];
|
|
|
|
|
pw_buf[1] = pws[gid].i[1];
|
|
|
|
|
pw_buf[2] = pws[gid].i[2];
|
|
|
|
|
pw_buf[3] = pws[gid].i[3];
|
|
|
|
|
pw_buf[4] = pws[gid].i[4];
|
|
|
|
|
pw_buf[5] = pws[gid].i[5];
|
|
|
|
|
pw_buf[6] = pws[gid].i[6];
|
|
|
|
|
pw_buf[7] = pws[gid].i[7];
|
|
|
|
|
pw_buf[8] = pws[gid].i[8];
|
|
|
|
|
pw_buf[9] = pws[gid].i[9];
|
|
|
|
|
|
|
|
|
|
const u32 pw_len = MIN (pws[gid].pw_len, 20);
|
|
|
|
|
const u32 pw_len = MIN (pws[gid].pw_len, 40);
|
|
|
|
|
|
|
|
|
|
u32 salt_buf[2];
|
|
|
|
|
|
|
|
|
@ -184,7 +189,7 @@ KERNEL_FQ void m23700_loop (KERN_ATTR_TMPS_ESALT (rar3_tmp_t, rar3_t))
|
|
|
|
|
|
|
|
|
|
u32 p = 0;
|
|
|
|
|
|
|
|
|
|
for (u32 j = 0; j < pw_len; j++, p += 2)
|
|
|
|
|
for (u32 j = 0; j < pw_len; j++, p += 1)
|
|
|
|
|
{
|
|
|
|
|
PUTCHAR_BE (cb, p, GETCHAR (pw_buf, j));
|
|
|
|
|
}
|
|
|
|
@ -194,8 +199,8 @@ KERNEL_FQ void m23700_loop (KERN_ATTR_TMPS_ESALT (rar3_tmp_t, rar3_t))
|
|
|
|
|
PUTCHAR_BE (cb, p, GETCHAR (salt_buf, j));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const u32 p2 = (pw_len * 2) + salt_len;
|
|
|
|
|
const u32 p3 = (pw_len * 2) + salt_len + 3;
|
|
|
|
|
const u32 p2 = pw_len + salt_len;
|
|
|
|
|
const u32 p3 = pw_len + salt_len + 3;
|
|
|
|
|
|
|
|
|
|
const u32 init_pos = loop_pos / (ROUNDS / 16);
|
|
|
|
|
|
|
|
|
@ -491,15 +496,20 @@ KERNEL_FQ void m23700_loop (KERN_ATTR_TMPS_ESALT (rar3_tmp_t, rar3_t))
|
|
|
|
|
|
|
|
|
|
if (gid >= gid_max) return;
|
|
|
|
|
|
|
|
|
|
u32 pw_buf[5];
|
|
|
|
|
u32 pw_buf[10];
|
|
|
|
|
|
|
|
|
|
pw_buf[0] = pws[gid].i[0];
|
|
|
|
|
pw_buf[1] = pws[gid].i[1];
|
|
|
|
|
pw_buf[2] = pws[gid].i[2];
|
|
|
|
|
pw_buf[3] = pws[gid].i[3];
|
|
|
|
|
pw_buf[4] = pws[gid].i[4];
|
|
|
|
|
pw_buf[5] = pws[gid].i[5];
|
|
|
|
|
pw_buf[6] = pws[gid].i[6];
|
|
|
|
|
pw_buf[7] = pws[gid].i[7];
|
|
|
|
|
pw_buf[8] = pws[gid].i[8];
|
|
|
|
|
pw_buf[9] = pws[gid].i[9];
|
|
|
|
|
|
|
|
|
|
const u32 pw_len = MIN (pws[gid].pw_len, 20);
|
|
|
|
|
const u32 pw_len = MIN (pws[gid].pw_len, 40);
|
|
|
|
|
|
|
|
|
|
u32 salt_buf[2];
|
|
|
|
|
|
|
|
|
@ -518,7 +528,7 @@ KERNEL_FQ void m23700_loop (KERN_ATTR_TMPS_ESALT (rar3_tmp_t, rar3_t))
|
|
|
|
|
|
|
|
|
|
for (u32 i = 0, p = 0; i < 64; i++)
|
|
|
|
|
{
|
|
|
|
|
for (u32 j = 0; j < pw_len; j++, p += 2)
|
|
|
|
|
for (u32 j = 0; j < pw_len; j++, p += 1)
|
|
|
|
|
{
|
|
|
|
|
PUTCHAR_BE (largeblock, p, GETCHAR (pw_buf, j));
|
|
|
|
|
}
|
|
|
|
@ -533,9 +543,9 @@ KERNEL_FQ void m23700_loop (KERN_ATTR_TMPS_ESALT (rar3_tmp_t, rar3_t))
|
|
|
|
|
p += 3;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const u32 p2 = (pw_len * 2) + salt_len;
|
|
|
|
|
const u32 p2 = pw_len + salt_len;
|
|
|
|
|
|
|
|
|
|
const u32 p3 = (pw_len * 2) + salt_len + 3;
|
|
|
|
|
const u32 p3 = pw_len + salt_len + 3;
|
|
|
|
|
|
|
|
|
|
const u32 init_pos = loop_pos / (ROUNDS / 16);
|
|
|
|
|
|
|
|
|
@ -739,11 +749,11 @@ KERNEL_FQ void m23700_comp (KERN_ATTR_TMPS_ESALT (rar3_tmp_t, rar3_t))
|
|
|
|
|
* base
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
const u32 pw_len = MIN (pws[gid].pw_len, 20);
|
|
|
|
|
const u32 pw_len = MIN (pws[gid].pw_len, 40);
|
|
|
|
|
|
|
|
|
|
const u32 salt_len = 8;
|
|
|
|
|
|
|
|
|
|
const u32 p3 = (pw_len * 2) + salt_len + 3;
|
|
|
|
|
const u32 p3 = pw_len + salt_len + 3;
|
|
|
|
|
|
|
|
|
|
u32 w0[4];
|
|
|
|
|
u32 w1[4];
|
|
|
|
@ -797,13 +807,18 @@ KERNEL_FQ void m23700_comp (KERN_ATTR_TMPS_ESALT (rar3_tmp_t, rar3_t))
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < 16; i++)
|
|
|
|
|
{
|
|
|
|
|
u32 pw_buf[5];
|
|
|
|
|
u32 pw_buf[10];
|
|
|
|
|
|
|
|
|
|
pw_buf[0] = pws[gid].i[0];
|
|
|
|
|
pw_buf[1] = pws[gid].i[1];
|
|
|
|
|
pw_buf[2] = pws[gid].i[2];
|
|
|
|
|
pw_buf[3] = pws[gid].i[3];
|
|
|
|
|
pw_buf[4] = pws[gid].i[4];
|
|
|
|
|
pw_buf[5] = pws[gid].i[5];
|
|
|
|
|
pw_buf[6] = pws[gid].i[6];
|
|
|
|
|
pw_buf[7] = pws[gid].i[7];
|
|
|
|
|
pw_buf[8] = pws[gid].i[8];
|
|
|
|
|
pw_buf[9] = pws[gid].i[9];
|
|
|
|
|
|
|
|
|
|
//const u32 pw_len = pws[gid].pw_len;
|
|
|
|
|
|
|
|
|
@ -814,7 +829,7 @@ KERNEL_FQ void m23700_comp (KERN_ATTR_TMPS_ESALT (rar3_tmp_t, rar3_t))
|
|
|
|
|
|
|
|
|
|
//const u32 salt_len = 8;
|
|
|
|
|
|
|
|
|
|
//const u32 p3 = (pw_len * 2) + salt_len + 3;
|
|
|
|
|
//const u32 p3 = pw_len + salt_len + 3;
|
|
|
|
|
|
|
|
|
|
u32 w[16];
|
|
|
|
|
|
|
|
|
@ -837,7 +852,7 @@ KERNEL_FQ void m23700_comp (KERN_ATTR_TMPS_ESALT (rar3_tmp_t, rar3_t))
|
|
|
|
|
|
|
|
|
|
u32 p = 0;
|
|
|
|
|
|
|
|
|
|
for (u32 j = 0; j < pw_len; j++, p += 2)
|
|
|
|
|
for (u32 j = 0; j < pw_len; j++, p += 1)
|
|
|
|
|
{
|
|
|
|
|
PUTCHAR_BE (w, p, GETCHAR (pw_buf, j));
|
|
|
|
|
}
|
|
|
|
|