1
mirror of https://github.com/hashcat/hashcat synced 2024-12-23 14:13:43 +01:00

Add salt type 2 support for pure functions

This commit is contained in:
Matt Covalt 2018-12-05 10:37:40 -08:00
parent 36bdcf844a
commit a913db6390
3 changed files with 96 additions and 0 deletions

View File

@ -188,6 +188,22 @@ __kernel void m16600_mxx (KERN_ATTR_RULES_ESALT (electrum_wallet_t))
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}
}
if (esalt_bufs[digests_offset].salt_type == 2)
{
if ((u8) (out[0] >> 0) != 'x') continue;
if ((u8) (out[0] >> 8) != 'p') continue;
if ((u8) (out[0] >> 16) != 'r') continue;
if ((u8) (out[0] >> 24) != 'v') continue;
if (is_valid_base58_32 (out[1]) == 0) continue;
if (is_valid_base58_32 (out[2]) == 0) continue;
if (is_valid_base58_32 (out[3]) == 0) continue;
if (atomic_inc (&hashes_shown[digests_offset]) == 0)
{
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}
}
}
}
@ -363,5 +379,21 @@ __kernel void m16600_sxx (KERN_ATTR_RULES_ESALT (electrum_wallet_t))
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}
}
if (esalt_bufs[digests_offset].salt_type == 2)
{
if ((u8) (out[0] >> 0) != 'x') continue;
if ((u8) (out[0] >> 8) != 'p') continue;
if ((u8) (out[0] >> 16) != 'r') continue;
if ((u8) (out[0] >> 24) != 'v') continue;
if (is_valid_base58_32 (out[1]) == 0) continue;
if (is_valid_base58_32 (out[2]) == 0) continue;
if (is_valid_base58_32 (out[3]) == 0) continue;
if (atomic_inc (&hashes_shown[digests_offset]) == 0)
{
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}
}
}
}

View File

@ -184,6 +184,22 @@ __kernel void m16600_mxx (KERN_ATTR_ESALT (electrum_wallet_t))
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}
}
if (esalt_bufs[digests_offset].salt_type == 2)
{
if ((u8) (out[0] >> 0) != 'x') continue;
if ((u8) (out[0] >> 8) != 'p') continue;
if ((u8) (out[0] >> 16) != 'r') continue;
if ((u8) (out[0] >> 24) != 'v') continue;
if (is_valid_base58_32 (out[1]) == 0) continue;
if (is_valid_base58_32 (out[2]) == 0) continue;
if (is_valid_base58_32 (out[3]) == 0) continue;
if (atomic_inc (&hashes_shown[digests_offset]) == 0)
{
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}
}
}
}
@ -357,5 +373,21 @@ __kernel void m16600_sxx (KERN_ATTR_ESALT (electrum_wallet_t))
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}
}
if (esalt_bufs[digests_offset].salt_type == 2)
{
if ((u8) (out[0] >> 0) != 'x') continue;
if ((u8) (out[0] >> 8) != 'p') continue;
if ((u8) (out[0] >> 16) != 'r') continue;
if ((u8) (out[0] >> 24) != 'v') continue;
if (is_valid_base58_32 (out[1]) == 0) continue;
if (is_valid_base58_32 (out[2]) == 0) continue;
if (is_valid_base58_32 (out[3]) == 0) continue;
if (atomic_inc (&hashes_shown[digests_offset]) == 0)
{
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}
}
}
}

View File

@ -197,6 +197,22 @@ __kernel void m16600_mxx (KERN_ATTR_VECTOR_ESALT (electrum_wallet_t))
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}
}
if (esalt_bufs[digests_offset].salt_type == 2)
{
if ((u8) (out[0] >> 0) != 'x') continue;
if ((u8) (out[0] >> 8) != 'p') continue;
if ((u8) (out[0] >> 16) != 'r') continue;
if ((u8) (out[0] >> 24) != 'v') continue;
if (is_valid_base58_32 (out[1]) == 0) continue;
if (is_valid_base58_32 (out[2]) == 0) continue;
if (is_valid_base58_32 (out[3]) == 0) continue;
if (atomic_inc (&hashes_shown[digests_offset]) == 0)
{
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}
}
}
}
@ -383,5 +399,21 @@ __kernel void m16600_sxx (KERN_ATTR_VECTOR_ESALT (electrum_wallet_t))
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}
}
if (esalt_bufs[digests_offset].salt_type == 2)
{
if ((u8) (out[0] >> 0) != 'x') continue;
if ((u8) (out[0] >> 8) != 'p') continue;
if ((u8) (out[0] >> 16) != 'r') continue;
if ((u8) (out[0] >> 24) != 'v') continue;
if (is_valid_base58_32 (out[1]) == 0) continue;
if (is_valid_base58_32 (out[2]) == 0) continue;
if (is_valid_base58_32 (out[3]) == 0) continue;
if (atomic_inc (&hashes_shown[digests_offset]) == 0)
{
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}
}
}
}