New Attack-Mode: Association Attack. Like JtR's single mode. Very early
stage. See hashcat Forum for detailed writeup.
This commit is contained in:
@@ -173,8 +173,8 @@ KERNEL_FQ void m23700_loop (KERN_ATTR_TMPS_ESALT (rar3_tmp_t, rar3_t))
|
||||
|
||||
u32 salt_buf[2];
|
||||
|
||||
salt_buf[0] = salt_bufs[salt_pos].salt_buf[0];
|
||||
salt_buf[1] = salt_bufs[salt_pos].salt_buf[1];
|
||||
salt_buf[0] = salt_bufs[SALT_POS].salt_buf[0];
|
||||
salt_buf[1] = salt_bufs[SALT_POS].salt_buf[1];
|
||||
|
||||
const u32 salt_len = 8;
|
||||
|
||||
@@ -503,8 +503,8 @@ KERNEL_FQ void m23700_loop (KERN_ATTR_TMPS_ESALT (rar3_tmp_t, rar3_t))
|
||||
|
||||
u32 salt_buf[2];
|
||||
|
||||
salt_buf[0] = salt_bufs[salt_pos].salt_buf[0];
|
||||
salt_buf[1] = salt_bufs[salt_pos].salt_buf[1];
|
||||
salt_buf[0] = salt_bufs[SALT_POS].salt_buf[0];
|
||||
salt_buf[1] = salt_bufs[SALT_POS].salt_buf[1];
|
||||
|
||||
const u32 salt_len = 8;
|
||||
|
||||
@@ -817,8 +817,8 @@ KERNEL_FQ void m23700_comp (KERN_ATTR_TMPS_ESALT (rar3_tmp_t, rar3_t))
|
||||
|
||||
u32 salt_buf[2];
|
||||
|
||||
salt_buf[0] = salt_bufs[salt_pos].salt_buf[0];
|
||||
salt_buf[1] = salt_bufs[salt_pos].salt_buf[1];
|
||||
salt_buf[0] = salt_bufs[SALT_POS].salt_buf[0];
|
||||
salt_buf[1] = salt_bufs[SALT_POS].salt_buf[1];
|
||||
|
||||
//const u32 salt_len = 8;
|
||||
|
||||
@@ -883,8 +883,8 @@ KERNEL_FQ void m23700_comp (KERN_ATTR_TMPS_ESALT (rar3_tmp_t, rar3_t))
|
||||
iv[2] = hc_swap32_S (iv[2]);
|
||||
iv[3] = hc_swap32_S (iv[3]);
|
||||
|
||||
const u32 pack_size = esalt_bufs[digests_offset].pack_size;
|
||||
const u32 unpack_size = esalt_bufs[digests_offset].unpack_size;
|
||||
const u32 pack_size = esalt_bufs[DIGESTS_OFFSET].pack_size;
|
||||
const u32 unpack_size = esalt_bufs[DIGESTS_OFFSET].unpack_size;
|
||||
|
||||
if (pack_size > unpack_size) // could be aligned
|
||||
{
|
||||
@@ -894,10 +894,10 @@ KERNEL_FQ void m23700_comp (KERN_ATTR_TMPS_ESALT (rar3_tmp_t, rar3_t))
|
||||
|
||||
u32 last_block_encrypted[4];
|
||||
|
||||
last_block_encrypted[0] = esalt_bufs[digests_offset].data[pack_size_elements - 4 + 0];
|
||||
last_block_encrypted[1] = esalt_bufs[digests_offset].data[pack_size_elements - 4 + 1];
|
||||
last_block_encrypted[2] = esalt_bufs[digests_offset].data[pack_size_elements - 4 + 2];
|
||||
last_block_encrypted[3] = esalt_bufs[digests_offset].data[pack_size_elements - 4 + 3];
|
||||
last_block_encrypted[0] = esalt_bufs[DIGESTS_OFFSET].data[pack_size_elements - 4 + 0];
|
||||
last_block_encrypted[1] = esalt_bufs[DIGESTS_OFFSET].data[pack_size_elements - 4 + 1];
|
||||
last_block_encrypted[2] = esalt_bufs[DIGESTS_OFFSET].data[pack_size_elements - 4 + 2];
|
||||
last_block_encrypted[3] = esalt_bufs[DIGESTS_OFFSET].data[pack_size_elements - 4 + 3];
|
||||
|
||||
u32 last_block_decrypted[4];
|
||||
|
||||
@@ -905,10 +905,10 @@ KERNEL_FQ void m23700_comp (KERN_ATTR_TMPS_ESALT (rar3_tmp_t, rar3_t))
|
||||
|
||||
u32 last_block_iv[4];
|
||||
|
||||
last_block_iv[0] = esalt_bufs[digests_offset].data[pack_size_elements - 8 + 0];
|
||||
last_block_iv[1] = esalt_bufs[digests_offset].data[pack_size_elements - 8 + 1];
|
||||
last_block_iv[2] = esalt_bufs[digests_offset].data[pack_size_elements - 8 + 2];
|
||||
last_block_iv[3] = esalt_bufs[digests_offset].data[pack_size_elements - 8 + 3];
|
||||
last_block_iv[0] = esalt_bufs[DIGESTS_OFFSET].data[pack_size_elements - 8 + 0];
|
||||
last_block_iv[1] = esalt_bufs[DIGESTS_OFFSET].data[pack_size_elements - 8 + 1];
|
||||
last_block_iv[2] = esalt_bufs[DIGESTS_OFFSET].data[pack_size_elements - 8 + 2];
|
||||
last_block_iv[3] = esalt_bufs[DIGESTS_OFFSET].data[pack_size_elements - 8 + 3];
|
||||
|
||||
last_block_decrypted[0] ^= last_block_iv[0];
|
||||
last_block_decrypted[1] ^= last_block_iv[1];
|
||||
@@ -927,10 +927,10 @@ KERNEL_FQ void m23700_comp (KERN_ATTR_TMPS_ESALT (rar3_tmp_t, rar3_t))
|
||||
{
|
||||
u32 data[4];
|
||||
|
||||
data[0] = esalt_bufs[digests_offset].data[j + 0];
|
||||
data[1] = esalt_bufs[digests_offset].data[j + 1];
|
||||
data[2] = esalt_bufs[digests_offset].data[j + 2];
|
||||
data[3] = esalt_bufs[digests_offset].data[j + 3];
|
||||
data[0] = esalt_bufs[DIGESTS_OFFSET].data[j + 0];
|
||||
data[1] = esalt_bufs[DIGESTS_OFFSET].data[j + 1];
|
||||
data[2] = esalt_bufs[DIGESTS_OFFSET].data[j + 2];
|
||||
data[3] = esalt_bufs[DIGESTS_OFFSET].data[j + 3];
|
||||
|
||||
u32 out[4];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user