1
mirror of https://github.com/hashcat/hashcat synced 2024-11-20 23:27:31 +01:00

Updated Intel OpenCL runtime version check

This commit is contained in:
Jens Steube 2018-10-26 21:16:32 +02:00
parent f3f4ab4421
commit 24ce7bacae
2 changed files with 29 additions and 11 deletions

View File

@ -4,7 +4,7 @@
## Features
##
- Add new option --slow-candidates which allows hashcat to generate passwords on-host
- Added new option --slow-candidates which allows hashcat to generate passwords on-host
##
## Algorithms
@ -25,23 +25,24 @@
## Improvements
##
- Added a periodic check for read timeouts in stdin/pipe mode, and abort if no input was provided
- Added additional hybrid "passthrough" rules, to enable variable-length append/prepend attacks
- Added a periodic check for read timeouts in stdin/pipe mode, and abort if no input was provided
- Added a tracker for salts, amplifier and iterations to the status screen
- Added option --markov-hcstat2 to make it clear that the new hcstat2 format (compressed hcstat2gen output) must be used
- Allow bitcoin master key lengths other than 96 bytes (but they must be always multiples of 16)
- Allow keepass iteration count to be larger than 999999
- Allow hashfile for -m 16800 to be used with -m 16801
- Allow keepass iteration count to be larger than 999999
- Changed algorithms using colon as separators in the hash to not use the hashconfig separator on parsing
- Do not allocate memory segments for bitmap tables if we don't need it - for example, in benchmark mode
- Got rid of OPTS_TYPE_HASH_COPY for Ansible Vault
- Improved the speed of the outfile folder scan when using many hashes/salts
- Increased the maximum size of edata2 in Kerberos 5 TGS-REP etype 23
- Make the masks parser more restrictive by rejecting a single '?' at the end of the mask (use ?? instead)
- Removed duplicate words in the dictionary file example.dict
- Override --quiet and show final status screen in case --status is used
- Removed duplicate words in the dictionary file example.dict
- Updated Intel OpenCL runtime version check
- Work around some AMD OpenCL runtime segmentation faults
- Work around some padding issues with host compilers and OpenCL JiT on 32 and 64-bit systems
- Changed algorithms using colon as separators in the hash to not use the hashconfig separator on parsing
##
## Bugs

View File

@ -3776,15 +3776,32 @@ int opencl_ctx_devices_init (hashcat_ctx_t *hashcat_ctx, const int comptime)
{
bool intel_warn = false;
float opencl_version = 0;
int opencl_build = 0;
// Intel OpenCL runtime 18
int res = sscanf (device_param->device_version, "OpenCL %f (Build %d)", &opencl_version, &opencl_build);
int opencl_driver1 = 0;
int opencl_driver2 = 0;
int opencl_driver3 = 0;
int opencl_driver4 = 0;
if (res == 2)
const int res18 = sscanf (device_param->driver_version, "%u.%u.%u.%u", &opencl_driver1, &opencl_driver2, &opencl_driver3, &opencl_driver4);
if (res18 == 4)
{
// Intel OpenCL runtime 16.1.1
if (opencl_build < 25) intel_warn = true;
// so far all versions 18 are ok
}
else
{
// Intel OpenCL runtime 16
float opencl_version = 0;
int opencl_build = 0;
const int res16 = sscanf (device_param->device_version, "OpenCL %f (Build %d)", &opencl_version, &opencl_build);
if (res16 == 2)
{
if (opencl_build < 25) intel_warn = true;
}
}
if (intel_warn == true)