1
0
mirror of https://github.com/hashcat/hashcat.git synced 2025-02-24 13:22:13 +00:00

LM: Workaround JiT compiler bug in -m 3000 on NV leading to false negatives with large amount of hashes

This commit is contained in:
Jens Steube 2021-06-18 23:48:39 +02:00
parent 762e487c5f
commit 05125eb67c
3 changed files with 7 additions and 18 deletions

View File

@ -2229,9 +2229,7 @@ KERNEL_FQ void m01500_mxx (KERN_ATTR_BITSLICE ())
u32 tmpResult = 0; u32 tmpResult = 0;
#ifdef _unroll
#pragma unroll #pragma unroll
#endif
for (int i = 0; i < 32; i++) for (int i = 0; i < 32; i++)
{ {
const u32 b0 = -((search[0] >> i) & 1); const u32 b0 = -((search[0] >> i) & 1);
@ -2247,12 +2245,12 @@ KERNEL_FQ void m01500_mxx (KERN_ATTR_BITSLICE ())
const u32 r0 = search[0]; const u32 r0 = search[0];
const u32 r1 = search[1]; const u32 r1 = search[1];
#ifdef KERNEL_STATIC
const u32 r2 = 0; const u32 r2 = 0;
const u32 r3 = 0; const u32 r3 = 0;
#ifdef KERNEL_STATIC
#include COMPARE_M
#endif #endif
#include COMPARE_M
} }
} }
else else
@ -2260,9 +2258,7 @@ KERNEL_FQ void m01500_mxx (KERN_ATTR_BITSLICE ())
u32 out0[32]; u32 out0[32];
u32 out1[32]; u32 out1[32];
#ifdef _unroll
#pragma unroll #pragma unroll
#endif
for (int i = 0; i < 32; i++) for (int i = 0; i < 32; i++)
{ {
out0[i] = out[ 0 + 31 - i]; out0[i] = out[ 0 + 31 - i];
@ -2272,15 +2268,13 @@ KERNEL_FQ void m01500_mxx (KERN_ATTR_BITSLICE ())
transpose32c (out0); transpose32c (out0);
transpose32c (out1); transpose32c (out1);
#ifdef _unroll
#pragma unroll #pragma unroll
#endif
for (int slice = 0; slice < 32; slice++) for (int slice = 0; slice < 32; slice++)
{ {
const u32 r0 = out0[31 - slice]; const u32 r0 = out0[31 - slice];
const u32 r1 = out1[31 - slice]; const u32 r1 = out1[31 - slice];
const u32 r2 = 0;
#ifdef KERNEL_STATIC #ifdef KERNEL_STATIC
const u32 r2 = 0;
const u32 r3 = 0; const u32 r3 = 0;
#endif #endif

View File

@ -2070,9 +2070,7 @@ KERNEL_FQ void m03000_mxx (KERN_ATTR_BITSLICE ())
u32 tmpResult = 0; u32 tmpResult = 0;
#ifdef _unroll
#pragma unroll #pragma unroll
#endif
for (int i = 0; i < 32; i++) for (int i = 0; i < 32; i++)
{ {
const u32 b0 = -((search[0] >> i) & 1); const u32 b0 = -((search[0] >> i) & 1);
@ -2088,8 +2086,8 @@ KERNEL_FQ void m03000_mxx (KERN_ATTR_BITSLICE ())
const u32 r0 = search[0]; const u32 r0 = search[0];
const u32 r1 = search[1]; const u32 r1 = search[1];
const u32 r2 = 0;
#ifdef KERNEL_STATIC #ifdef KERNEL_STATIC
const u32 r2 = 0;
const u32 r3 = 0; const u32 r3 = 0;
#endif #endif
@ -2101,9 +2099,7 @@ KERNEL_FQ void m03000_mxx (KERN_ATTR_BITSLICE ())
u32 out0[32]; u32 out0[32];
u32 out1[32]; u32 out1[32];
#ifdef _unroll
#pragma unroll #pragma unroll
#endif
for (int i = 0; i < 32; i++) for (int i = 0; i < 32; i++)
{ {
out0[i] = out[ 0 + 31 - i]; out0[i] = out[ 0 + 31 - i];
@ -2113,15 +2109,13 @@ KERNEL_FQ void m03000_mxx (KERN_ATTR_BITSLICE ())
transpose32c (out0); transpose32c (out0);
transpose32c (out1); transpose32c (out1);
#ifdef _unroll
#pragma unroll #pragma unroll
#endif
for (int slice = 0; slice < 32; slice++) for (int slice = 0; slice < 32; slice++)
{ {
const u32 r0 = out0[31 - slice]; const u32 r0 = out0[31 - slice];
const u32 r1 = out1[31 - slice]; const u32 r1 = out1[31 - slice];
const u32 r2 = 0;
#ifdef KERNEL_STATIC #ifdef KERNEL_STATIC
const u32 r2 = 0;
const u32 r3 = 0; const u32 r3 = 0;
#endif #endif

View File

@ -20,6 +20,7 @@
## Technical ## Technical
## ##
- LM: Workaround JiT compiler bug in -m 3000 on NV leading to false negatives with large amount of hashes
- Tests: Changed tests for VeraCrypt from -a 0 to -a 3, because password extension is not available to all shells - Tests: Changed tests for VeraCrypt from -a 0 to -a 3, because password extension is not available to all shells
* changes v6.2.1 -> v6.2.2 * changes v6.2.1 -> v6.2.2