1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-11-15 12:29:35 +00:00
Commit Graph

363 Commits

Author SHA1 Message Date
Giulio Garzia
c49238e9cd OpenCL include-path workaround for Windows with AMD GPU 2022-02-20 17:55:16 +00:00
Gabriele Gristina
3156b487b7 Avoid quoting OpenCL include path when it's not required to 2022-02-20 17:55:16 +00:00
Gabriele Gristina
f890cd8134 Improved management of systems with multiple OpenCL platforms and show empty OpenCL platforms only in backend information mode 2022-02-19 21:17:56 +01:00
Gabriele Gristina
24de156ce8 Fixed backend active devices checks 2022-02-19 17:21:27 +01:00
Gabriele Gristina
fb12de4be6 fix style 2022-02-16 05:40:34 +01:00
Gabriele Gristina
7eb66e9936 Hardware Monitor: Add support for GPU device utilization readings using iokit on Apple Silicon (OpenCL and Metal) 2022-02-15 22:20:03 +01:00
Gabriele Gristina
3064c63c71 User Options: Change --backend-info/-I option type, from bool to int 2022-02-13 12:33:11 +01:00
Gabriele Gristina
b3d3b31c3e Metal: added support for vectors up to 4 2022-02-10 21:53:08 +01:00
Jens Steube
be75e4b4ea Rename STR() to M2S() to avoid future collisions and move from kernel source to command line parameter 2022-02-07 09:57:08 +01:00
Gabriele Gristina
7ac879f1e4 Fixed unused variable warning on Windows 2022-02-06 02:04:27 +01:00
Gabriele Gristina
829d49c8ba resync src/backend.c 2022-02-06 01:17:19 +01:00
Gabriele Gristina
490702fcfa Backends: added Metal host-code 2022-02-05 22:48:16 +01:00
Jens Steube
8293964097 Fix coding convention 2022-02-04 10:28:45 +01:00
Gabriele Gristina
cd363b32f6
Merge branch 'master' into metal_prepare_kernelIncludes_v2 2022-01-28 19:56:26 +01:00
Gabriele Gristina
01a28f80f7 Updated handling of POCL's known bugs 2022-01-22 22:40:18 +01:00
Gabriele Gristina
a1ced24564 Fixed bug on benchmark engine, add some unstable warnings, updated negative status code 2022-01-22 12:10:09 +01:00
Gabriele Gristina
2e4a136758 Refactored standard kernel includes in order to support Apple Metal runtime, updated backend, test units and status code 2022-01-18 22:52:14 +01:00
Gabriele Gristina
7650894e02 fixed bug in benchmark engine, updated negative status code 2022-01-11 04:58:30 +01:00
Jens Steube
dfd316c653
Merge pull request #3103 from matrix/backend_session_update_mp_rl
Removed hc_clSetKernelArg() call from backend_session_update_mp_rl()
2022-01-09 13:22:00 +01:00
Jens Steube
7a9a1b37d0
Merge pull request #3104 from matrix/backend_session_update_mp
Removed hc_clSetKernelArg() call from backend_session_update_mp()
2022-01-09 13:21:52 +01:00
Jens Steube
56ef2b4bde
Merge pull request #3102 from matrix/backend_cuda_restyle
CUDA Backend: moved functions to ext_cuda.c/ext_nvrtc.c and includes to ext_cuda.h/ext_nvrtc.h
2022-01-06 11:29:56 +01:00
Jens Steube
045ca5cb7a Fixed method how OPTS_TYPE_AUX* kernels are called in association mode, for instance WPA/WPA2 kernels 2022-01-05 10:46:00 +01:00
Jens Steube
668d2179cd Kernels: Refactored standard kernel declaration to use a structure holding u32/u64 attributes to reduce the number of attributes 2022-01-04 18:07:18 +01:00
Gabriele Gristina
994083eaf5 Removed hc_clSetKernelArg() call from backend_session_update_mp() 2022-01-03 18:28:19 +01:00
Gabriele Gristina
0f0cf1fe08 Removed hc_clSetKernelArg() call from backend_session_update_mp_rl() 2022-01-03 17:16:27 +01:00
Gabriele Gristina
f8ceb8785e CUDA Backend: moved functions to ext_cuda.c/ext_nvrtc.c and includes to ext_cuda.h/ext_nvrtc.h 2022-01-03 16:29:15 +01:00
Gabriele Gristina
78c7ee2af6 HIP Backend: moved functions to ext_hip.c/ext_hiprtc.c and includes to ext_hip.h/ext_hiprtc.h 2022-01-02 19:12:41 +01:00
Gabriele Gristina
26b6054cab OpenCL Backend: moved functions to ext_OpenCL.c and includes to ext_OpenCL.h 2021-12-28 21:55:05 +01:00
Gabriele Gristina
861e644057 OpenCL Backend: added workaround to make optimized kernels work on Apple Silicon 2021-12-24 17:30:49 +01:00
Jens Steube
df6e5480ca Print module_extra_tuningdb_block undefined compute device warning only on GPU 2021-12-23 19:23:35 +01:00
Gabriele Gristina
3fd6dac523 Set default device-type to GPU with Apple M1 2021-12-14 00:37:17 +01:00
Gabriele Gristina
0fae3a4394 Added support for Apple Silicon compute devices 2021-12-13 22:42:42 +01:00
Jens Steube
d4a54287b1 Add missing backslash for RUN_INSTRUCTION_CHECKS() on AMD 2021-12-09 14:03:32 +01:00
Jens Steube
3d53188cc3 Tuning Database: Added a warning if a module implements module_extra_tuningdb_block but the installed computing device is not found 2021-12-04 16:56:16 +01:00
Jens Steube
21f91c5bb8 Module Optimizaters: Added OPTS_TYPE_MAXIMUM_THREADS to deactivate the else branch route in the section to find -T before compilation
Set the new flag based on some testings with RX6900XT
2021-11-13 17:27:06 +01:00
Gabriele Gristina
9be7bc71a5 OpenCL Backend: added workaround to support Apple Silicon 2021-11-11 00:57:54 +01:00
Jens Steube
53f6693495 Temporary enable HIP 4.4/ROCM 4.5 on Linux and globally set native thread count 2021-11-10 19:32:54 +01:00
Jens Steube
f84aca82ca Backend types: The default filter for the device types is now set so that only the GPU is used, except for APPLE, where we set CPU 2021-11-01 10:49:20 +01:00
Jens Steube
49a68cd6c1 AMD Driver: Updated requirements for AMD Linux drivers to ROCm 4.5 or later due to new HIP interface 2021-10-21 20:03:01 +02:00
Jens Steube
576a71af5c Update minimum HIP version from 4.4 to upcoming 4.5 2021-10-19 19:26:10 +02:00
Jens Steube
756c29ec57 Add missing cleanup on windows if outdated HIP version is detected 2021-10-13 20:00:28 +02:00
Jens Steube
733f9c2d77 Add better detection future HIP 4.4 2021-10-12 20:01:14 +02:00
Jens Steube
07e58631a5 Backend devices: In non -S mode, limit the number of workitems so that no more than 4GB of host memory is required per backend device 2021-10-04 08:36:56 +02:00
Jens Steube
4b6654b503 Fix unstable plugin to driver warning 2021-09-24 13:35:18 +02:00
Jens Steube
c1fd42fe72 Reduce work item maximum in -S mode even further, tested with NTLM 2021-09-23 12:46:00 +02:00
Jens Steube
bd2cde31ae Back-end devices: In -S mode, limit the number of workitems so that no more than 2GB of host memory is required per backend device 2021-09-22 13:03:25 +02:00
Jens Steube
4ef1509bc7 Backend Devices: Reduce maximum workitems limited derived from available host memory down from to 8GB to 4GB per backend device 2021-09-21 13:01:15 +02:00
Jens Steube
721e1ea54d Fixed division by zero because backend_ctx->hardware_power_all was not re-inserted after refactoring device_param->hardware_power 2021-09-08 17:37:18 +02:00
Jens Steube
8c14fd85ea POCL: Added a workaround for an issue in POCL that uses a quote character as part of the path itself given to a path for the -I option 2021-09-05 10:55:59 +02:00
Jens Steube
b4b2195fa5 OpenCL Runtime: The use of clUnloadPlatformCompiler () was disabled after some users received unexpected return codes 2021-08-24 09:37:49 +02:00
Jens Steube
85854236d1
Merge pull request #2935 from matrix/apple_gpu_workaround
workaround to 'clEnqueueWriteBuffer(): CL_INVALID_VALUE' with apple gpu
2021-08-21 08:04:37 +02:00
Jens Steube
50e28ff306
Merge pull request #2926 from jtojanen/master
Code cleanup and small fixes
2021-08-19 14:59:16 +02:00
Jukka Ojanen
6b4786de84 Make blocking clEnqueueWriteBuffer() non-blocking 2021-08-18 20:19:51 +03:00
Jukka Ojanen
f3cd32bffd Avoid memory copy in rebuild_pws_compressed_append() and assign instead 2021-08-18 17:46:39 +03:00
Jens Steube
76e388ea47 Memory Management: Check in OpenCL that CL_DEVICE_HOST_UNIFIED_MEMORY is true and if so, then half of the available memory
NEO driver: Activate the NEO driver (Intel GPU) after it passed several tests in hashcat using the latest NEO driver version
2021-08-18 16:10:51 +02:00
Jens Steube
9254603960 Fixed out-of-boundary read in PKZIP masterkey kernel if the password candidate has length zero.
Now that kernel threads are no longer fixed over the entire session, hardware_power and hardware_power_all
needs to be updated the same way as kernel_power and kernel_power_all for each call to inner2_loop().
2021-08-17 17:38:45 +02:00
Gabriele Gristina
72735ed7c4 update workaround 2021-08-13 20:17:09 +02:00
Gabriele Gristina
fef18965c3 workaround to 'clEnqueueWriteBuffer(): CL_INVALID_VALUE' with apple gpu 2021-08-13 16:00:32 +02:00
Jukka Ojanen
5c0820b8d3 Assume hashconfig->tmp_size is the element size 2021-08-13 13:13:12 +03:00
Jukka Ojanen
bcb4a8f391 Add clFlush() to backend_session_update_mp() and backend_session_update_mp_rl() 2021-08-10 01:49:55 +03:00
Jukka Ojanen
3b11b51113 Remove unnecessary hc_cuEventSynchronize() call 2021-08-09 18:58:04 +03:00
Jukka Ojanen
1edb649c1f Remove duplicate conditions 2021-08-09 18:48:20 +03:00
Jens Steube
5e1d37c82e Make unsupported AMD HIP runtime version error message a bit more human readable 2021-08-05 18:56:33 +02:00
Jens Steube
cb69e2d413 Added some HIP version checks, fall back to OpenCL automatically
Switched HIP version check from driverVersion to runtimeVersion
Fixed syntax check of HAS_VPERM macro in several kernel includes causing invalid error message for AMD GPUs on Windows
Updated AMD driver requirements
Updated docs/changes.txt with missing changes from previous commits
Fixed invalid vector data type in Murmur Hash in -a 3 mode
Fixed uninitialized variable warning in src/hashes.c
Fixed broken support for --generate-rules-func-min
2021-08-04 20:49:22 +02:00
Jens Steube
b2d1f42905 Fix self-test functionality if FIXED_LOCAL_SIZE_COMP is used
Fix -m 25700 datatype in -a 3 mode and maximum password length in pure kernel mode
Fix -m 12500, 23700 and 23800 if password is exactly length 128
2021-08-02 12:00:17 +02:00
Jens Steube
af5d346244
Merge pull request #2894 from jtojanen/master
Allow async execution
2021-08-02 10:05:20 +02:00
Jens Steube
20a7b9f992 Tuning-Database: Add new module function module_extra_tuningdb_block() to extend hashcat.hctune content from a plugin
See src/modules/module_08900.c as an example
2021-08-01 16:25:37 +02:00
Jukka Ojanen
3d7ce7162b Merge branch 'master' of https://github.com/hashcat/hashcat 2021-08-01 15:36:52 +03:00
Jukka Ojanen
62a06f735f kernel_memset32(): assume offset and size are bytes, not elements 2021-08-01 15:19:15 +03:00
Jukka Ojanen
fdbfae9a28 Modify OpenCL clEnqueueFillBuffer() workaround 2021-08-01 14:47:08 +03:00
Jukka Ojanen
dbe2bad098 Maintain code style 2021-08-01 14:26:33 +03:00
Jukka Ojanen
1ee222d43f Replace free() with hcfree() 2021-08-01 14:21:18 +03:00
Jukka Ojanen
e352a79a05 Extend context in gidd_to_pw_t() 2021-08-01 14:15:03 +03:00
Jens Steube
d4997d1255 Added support for auto-tuning --kernel-threads (-T) on startup 2021-07-31 16:49:39 +02:00
Jukka Ojanen
e154f9e781 Few cleanups 2021-07-30 12:24:21 +03:00
Jukka Ojanen
c3195d0603 Merge branch 'master' of https://github.com/hashcat/hashcat 2021-07-30 11:34:25 +03:00
Jukka Ojanen
1064cce08c Synchronize before hooks 2021-07-29 15:22:25 +03:00
Jukka Ojanen
81c2ec3caf Small cleanup in gidd_to_pw_t() 2021-07-29 14:48:36 +03:00
Jukka Ojanen
7a8065d090 Do not call clWaitForEvents() after spin damper when we know that event status is CL_COMPLETE 2021-07-29 14:39:11 +03:00
Jukka Ojanen
c48e6a25a8 Enqueue several commands before clFlush() 2021-07-29 14:28:01 +03:00
Jens Steube
03ed06849a
Merge branch 'HIP44' into master 2021-07-29 11:00:28 +02:00
Jens Steube
d38d40c8ba Unlock all GPU threads for AMD GPUs if WaveFront size is 32 (basically new models)
Add new hash-modes to tools/benchmark_deep.pl
Fix MINGW issue on 64 bit constant in refactored kernel-accel limiting section
2021-07-29 10:49:44 +02:00
Jukka Ojanen
9ed231c99c Add comment to blocking OpenCL calls 2021-07-29 00:07:10 +03:00
Jens Steube
a4299b74af Memory Management: Refactored the code responsible for limiting kernel accel in order to avoid out of -host- memory situations 2021-07-28 20:50:05 +02:00
Jukka Ojanen
d7cc8d7cd2 Revert due to module_03200.c, module_25600.c and module_25800.c using device_param->kernel_dynamic_local_mem_size_memset 2021-07-28 19:49:02 +03:00
Jukka Ojanen
8b590f651b Remove unused gpu_memset and its references 2021-07-28 19:26:30 +03:00
Jens Steube
9c0a37accf Update driver requirement 2021-07-28 07:56:34 +02:00
Jukka Ojanen
cdf27a1cb3 Implement async run_cuda_kernel_memset() and run_cuda_kernel_memset32() 2021-07-27 18:56:59 +03:00
Jukka Ojanen
d7de3550b1 Add fast event for CUDA and HIP, and use it to synchronize check_hash() 2021-07-27 12:57:26 +03:00
Jens Steube
f6de3e61e0
Merge pull request #2906 from hashcat/master
Backports
2021-07-27 09:48:56 +02:00
Jens Steube
fd2cb59d26 AMD GPUs: On Apple OpenCL platform, we ask for the preferred kernel thread size rather than hard-coding 32
ECC secp256k1: Removed the inline assembly code for AMD GPUs because the latest JIT compilers optimize it with the same efficiency
2021-07-27 09:37:31 +02:00
Jukka Ojanen
a642f7b233 Remove synchronous GPU memory copy functions 2021-07-26 15:36:42 +03:00
Jukka Ojanen
de5200cffc Allow async execution of backend 2021-07-26 15:17:25 +03:00
Jens Steube
72e307fbce
Merge pull request #2901 from hashcat/master
Backport changes
2021-07-25 10:57:39 +02:00
Jens Steube
959a232828
Merge pull request #2885 from neheb/charfixes
const and char fixes
2021-07-25 10:36:40 +02:00
Jens Steube
84a4058edf
Merge pull request #2900 from hashcat/master
Backport changes
2021-07-25 10:34:05 +02:00
Jens Steube
640d95a00f Vendor Detection: Add "Intel" as a valid vendor name for GPU on macOS 2021-07-24 16:01:30 +02:00
Jens Steube
5ffcaa980d HIP Backend: Added support to support HIP 4.4 and later, but added check to rule out older versions because they are incompatible 2021-07-23 16:04:34 +02:00
Rosen Penev
adaf3f293b make const char pointers actually const
const char* is a non const pointer that points to const data. Add
missing const.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-07-22 18:13:46 -07:00
Jukka Ojanen
9f9333f2ef Allow async execution of run_opencl_kernel_bzero(), run_hip_kernel_bzero() and run_opencl_kernel_bzero() 2021-07-22 15:18:10 +03:00