1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-11-22 08:08:10 +00:00

Fixed cleanup of password candidate buffers on GPU set from autotune in case -n was used

This commit is contained in:
Jens Steube 2020-05-20 12:44:04 +02:00
parent 1dc3469f6e
commit 9b64a405d1
2 changed files with 198 additions and 205 deletions

View File

@ -77,8 +77,9 @@
- Fixed buffer overflow in build_plain() function - Fixed buffer overflow in build_plain() function
- Fixed buffer overflow in mp_add_cs_buf() function - Fixed buffer overflow in mp_add_cs_buf() function
- Fixed copy/paste error leading to invalid "Integer overflow detected in keyspace of mask" in attack-mode 6 and 7
- Fixed calculation of brain-session ID, only the first hash of the hashset was taken into account - Fixed calculation of brain-session ID, only the first hash of the hashset was taken into account
- Fixed cleanup of password candidate buffers on GPU set from autotune in case -n was used
- Fixed copy/paste error leading to invalid "Integer overflow detected in keyspace of mask" in attack-mode 6 and 7
- Fixed cracking multiple Office hashes (modes 9500, 9600) with the same salt - Fixed cracking multiple Office hashes (modes 9500, 9600) with the same salt
- Fixed cracking of Blockchain, My Wallet (V1 and V2) hashes with unexpected decrypted data - Fixed cracking of Blockchain, My Wallet (V1 and V2) hashes with unexpected decrypted data
- Fixed cracking of Cisco-PIX and Cisco-ASA MD5 passwords in mask-attack mode if mask > length 16 - Fixed cracking of Cisco-PIX and Cisco-ASA MD5 passwords in mask-attack mode if mask > length 16
@ -100,9 +101,9 @@
- Fixed race condition in maskfile mode by using a dedicated flag for restore execution - Fixed race condition in maskfile mode by using a dedicated flag for restore execution
- Fixed some memory leaks in case hashcat is shutting down due to some file error - Fixed some memory leaks in case hashcat is shutting down due to some file error
- Fixed some memory leaks in case mask-files are used in optimized mode - Fixed some memory leaks in case mask-files are used in optimized mode
- Fixed --status-json to correctly escape certain characters in hashes
- Fixed the 7-Zip parser to allow the entire supported range of encrypted and decrypted data lengths - Fixed the 7-Zip parser to allow the entire supported range of encrypted and decrypted data lengths
- Fixed the validation of the --brain-client-features command line argument (only values 1, 2 or 3 are allowed) - Fixed the validation of the --brain-client-features command line argument (only values 1, 2 or 3 are allowed)
- Fixed --status-json to correctly escape certain characters in hashes
## ##
## Improvements ## Improvements

View File

@ -136,17 +136,9 @@ static int autotune (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param
} }
#endif #endif
device_param->kernel_accel = kernel_accel;
device_param->kernel_loops = kernel_loops;
const u32 kernel_power = device_param->hardware_power * device_param->kernel_accel;
device_param->kernel_power = kernel_power;
return 0;
} }
else
{
// from here it's clear we are allowed to autotune // from here it's clear we are allowed to autotune
// so let's init some fake words // so let's init some fake words
@ -352,17 +344,19 @@ static int autotune (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param
} }
} }
*/ */
}
// reset them fake words
// reset other buffers in case autotune cracked something
if (device_param->is_cuda == true) if (device_param->is_cuda == true)
{ {
// reset them fake words int CU_rc;
CU_rc = run_cuda_kernel_memset (hashcat_ctx, device_param, device_param->cuda_d_pws_buf, 0, device_param->size_pws); CU_rc = run_cuda_kernel_memset (hashcat_ctx, device_param, device_param->cuda_d_pws_buf, 0, device_param->size_pws);
if (CU_rc == -1) return -1; if (CU_rc == -1) return -1;
// reset other buffers in case autotune cracked something
CU_rc = run_cuda_kernel_memset (hashcat_ctx, device_param, device_param->cuda_d_plain_bufs, 0, device_param->size_plains); CU_rc = run_cuda_kernel_memset (hashcat_ctx, device_param, device_param->cuda_d_plain_bufs, 0, device_param->size_plains);
if (CU_rc == -1) return -1; if (CU_rc == -1) return -1;
@ -378,14 +372,12 @@ static int autotune (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param
if (device_param->is_opencl == true) if (device_param->is_opencl == true)
{ {
// reset them fake words int CL_rc;
CL_rc = run_opencl_kernel_memset (hashcat_ctx, device_param, device_param->opencl_d_pws_buf, 0, device_param->size_pws); CL_rc = run_opencl_kernel_memset (hashcat_ctx, device_param, device_param->opencl_d_pws_buf, 0, device_param->size_pws);
if (CL_rc == -1) return -1; if (CL_rc == -1) return -1;
// reset other buffers in case autotune cracked something
CL_rc = run_opencl_kernel_memset (hashcat_ctx, device_param, device_param->opencl_d_plain_bufs, 0, device_param->size_plains); CL_rc = run_opencl_kernel_memset (hashcat_ctx, device_param, device_param->opencl_d_plain_bufs, 0, device_param->size_plains);
if (CL_rc == -1) return -1; if (CL_rc == -1) return -1;