1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-12-22 22:58:30 +00:00

Fix -m 7800 for NV

This commit is contained in:
jsteube 2015-12-30 00:29:39 +01:00
parent 68662f0062
commit 7807eb6f2d
4 changed files with 22 additions and 18 deletions

View File

@ -317,7 +317,7 @@ __kernel void __attribute__((reqd_work_group_size (64, 1, 1))) m07800_m04 (__glo
* sha1 * sha1
*/ */
u32 final[256]; u32 final[32];
final[ 0] = swap32 (w0[0] | s0[0]); final[ 0] = swap32 (w0[0] | s0[0]);
final[ 1] = swap32 (w0[1] | s0[1]); final[ 1] = swap32 (w0[1] | s0[1]);
@ -380,8 +380,8 @@ __kernel void __attribute__((reqd_work_group_size (64, 1, 1))) m07800_m04 (__glo
digest[3] = SHA1M_D; digest[3] = SHA1M_D;
digest[4] = SHA1M_E; digest[4] = SHA1M_E;
#pragma unroll 64 #pragma unroll 32
for (int i = 0; i < 64; i++) final[i] = 0; for (int i = 0; i < 32; i++) final[i] = 0;
final[0] = w0[0]; final[0] = w0[0];
final[1] = w0[1]; final[1] = w0[1];
@ -597,7 +597,7 @@ __kernel void __attribute__((reqd_work_group_size (64, 1, 1))) m07800_s04 (__glo
* sha1 * sha1
*/ */
u32 final[256]; u32 final[32];
final[ 0] = swap32 (w0[0] | s0[0]); final[ 0] = swap32 (w0[0] | s0[0]);
final[ 1] = swap32 (w0[1] | s0[1]); final[ 1] = swap32 (w0[1] | s0[1]);
@ -660,8 +660,8 @@ __kernel void __attribute__((reqd_work_group_size (64, 1, 1))) m07800_s04 (__glo
digest[3] = SHA1M_D; digest[3] = SHA1M_D;
digest[4] = SHA1M_E; digest[4] = SHA1M_E;
#pragma unroll 64 #pragma unroll 32
for (int i = 0; i < 64; i++) final[i] = 0; for (int i = 0; i < 32; i++) final[i] = 0;
final[0] = w0[0]; final[0] = w0[0];
final[1] = w0[1]; final[1] = w0[1];

View File

@ -369,7 +369,7 @@ __kernel void __attribute__((reqd_work_group_size (64, 1, 1))) m07800_m04 (__glo
* sha1 * sha1
*/ */
u32 final[256]; u32 final[32];
final[ 0] = swap32 (w0[0] | s0[0]); final[ 0] = swap32 (w0[0] | s0[0]);
final[ 1] = swap32 (w0[1] | s0[1]); final[ 1] = swap32 (w0[1] | s0[1]);
@ -432,8 +432,8 @@ __kernel void __attribute__((reqd_work_group_size (64, 1, 1))) m07800_m04 (__glo
digest[3] = SHA1M_D; digest[3] = SHA1M_D;
digest[4] = SHA1M_E; digest[4] = SHA1M_E;
#pragma unroll 64 #pragma unroll 32
for (int i = 0; i < 64; i++) final[i] = 0; for (int i = 0; i < 32; i++) final[i] = 0;
final[0] = w0[0]; final[0] = w0[0];
final[1] = w0[1]; final[1] = w0[1];
@ -699,7 +699,7 @@ __kernel void __attribute__((reqd_work_group_size (64, 1, 1))) m07800_s04 (__glo
* sha1 * sha1
*/ */
u32 final[256]; u32 final[32];
final[ 0] = swap32 (w0[0] | s0[0]); final[ 0] = swap32 (w0[0] | s0[0]);
final[ 1] = swap32 (w0[1] | s0[1]); final[ 1] = swap32 (w0[1] | s0[1]);
@ -762,8 +762,8 @@ __kernel void __attribute__((reqd_work_group_size (64, 1, 1))) m07800_s04 (__glo
digest[3] = SHA1M_D; digest[3] = SHA1M_D;
digest[4] = SHA1M_E; digest[4] = SHA1M_E;
#pragma unroll 64 #pragma unroll 32
for (int i = 0; i < 64; i++) final[i] = 0; for (int i = 0; i < 32; i++) final[i] = 0;
final[0] = w0[0]; final[0] = w0[0];
final[1] = w0[1]; final[1] = w0[1];

View File

@ -274,7 +274,7 @@ static void m07800m (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_le
* sha1 * sha1
*/ */
u32 final[256]; u32 final[32];
final[ 0] = swap32 (w0[0] | s0[0]); final[ 0] = swap32 (w0[0] | s0[0]);
final[ 1] = swap32 (w0[1] | s0[1]); final[ 1] = swap32 (w0[1] | s0[1]);
@ -337,8 +337,8 @@ static void m07800m (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_le
digest[3] = SHA1M_D; digest[3] = SHA1M_D;
digest[4] = SHA1M_E; digest[4] = SHA1M_E;
#pragma unroll 64 #pragma unroll
for (int i = 0; i < 64; i++) final[i] = 0; for (int i = 0; i < 32; i++) final[i] = 0;
final[0] = w0[0]; final[0] = w0[0];
final[1] = w0[1]; final[1] = w0[1];
@ -505,7 +505,7 @@ static void m07800s (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_le
* sha1 * sha1
*/ */
u32 final[256]; u32 final[32];
final[ 0] = swap32 (w0[0] | s0[0]); final[ 0] = swap32 (w0[0] | s0[0]);
final[ 1] = swap32 (w0[1] | s0[1]); final[ 1] = swap32 (w0[1] | s0[1]);
@ -568,8 +568,8 @@ static void m07800s (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_le
digest[3] = SHA1M_D; digest[3] = SHA1M_D;
digest[4] = SHA1M_E; digest[4] = SHA1M_E;
#pragma unroll 64 #pragma unroll 32
for (int i = 0; i < 64; i++) final[i] = 0; for (int i = 0; i < 32; i++) final[i] = 0;
final[0] = w0[0]; final[0] = w0[0];
final[1] = w0[1]; final[1] = w0[1];

View File

@ -13296,6 +13296,10 @@ int sapg_parse_hash (char *input_buf, uint input_len, hash_t *hash_buf)
} }
// SAP user names cannot be longer than 12 characters // SAP user names cannot be longer than 12 characters
// this is kinda buggy. if the username is in utf the length can be up to length 12*3
// so far nobody complained so we stay with this because it helps in optimization
// final string can have a max size of 32 (password) + (10 * 5) = lengthMagicArray + 12 (max salt) + 1 (the 0x80)
if (user_len > 12) return (PARSER_SALT_LENGTH); if (user_len > 12) return (PARSER_SALT_LENGTH);
// SAP user name cannot start with ! or ? // SAP user name cannot start with ! or ?