Commit Graph

310 Commits (cab0bd423c999e2d8966928f0b18deea167b056e)

Author SHA1 Message Date
Jens Steube c990e252d3 Added option --multiply-accel-disable (short: -M) to disable multiply the kernel-accel with the multiprocessor count automatism
3 years ago
Jens Steube a7a899e5a4 Backport changes from #2888 to HIP backend
3 years ago
Jukka Ojanen cb923d6e46 Replace CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK with CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN
3 years ago
Jukka Ojanen d23f2d6c2f Calculation kernel dynamic memory size based on CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK
3 years ago
Jukka Ojanen 8674e23d79 Add async HIP memcpy functions: hc_hipMemcpyDtoDAsync(), hc_hipMemcpyDtoHAsync() and hc_hipMemcpyHtoDAsync(). Implement partially async HIP memset and bzero kernels.
3 years ago
Jukka Ojanen 4263cafdcf Add async CUDA memcpy functions: hc_cuMemcpyDtoDAsync(), hc_cuMemcpyDtoHAsync() and hc_cuMemcpyHtoDAsync(). Implement partially async CUDA memset and bzero kernels.
3 years ago
Jukka Ojanen 4c0f6dd263
Merge branch 'hashcat:master' into master
3 years ago
Jukka Ojanen ea5180ac46 Include missing bzero kernel parameters
3 years ago
Jens Steube 257098a301 Get rid of hip/hip_runtime.h dependancy
3 years ago
Jukka Ojanen a2a1d04bcf Implement gpu_bzero
3 years ago
Jens Steube 45e65dd05a Backport more ROCm based optimizations to HIP
3 years ago
Jens Steube cf512faa53 Update large switch() cases in inc_common.cl and some inline assembly common functions for devices managed with HIP backend
3 years ago
Jens Steube f3bd936971 Add hardware monitor mapping for HIP devices
3 years ago
Jens Steube 219bed457f Fix use of --gpu-max-threads-per-block
3 years ago
Jens Steube 674ca7d88f Add GPU threads to kernel cache checksum because it has an influence on HIP offline compile options
3 years ago
Jens Steube 23c3c178bf Limit max threads per block to 64 to enable offline compiler to make better use if available registers
3 years ago
Jens Steube ca3beacd93 Disable dynamic shared memory on HIP, because hipFuncSetAttribute() maps to cudaFuncSetAttribute() and not to cuFuncSetAttribute()
3 years ago
Jens Steube 1b84a9e53b Add missing backports from code base v6.2.2
3 years ago
Jens Steube bfe83ec138 Added temperature watchdog for CPU on linux using sysfs
3 years ago
Jens Steube 979f9e9868 Rename hardware monitor interface sysfs to sysfs_amdgpu
3 years ago
Jukka Ojanen a0eaefa0c2 Missing whitespaces
3 years ago
Jukka Ojanen e133bd4ec4 Change rc_board_name_amd initial value to CL_INVALID_VALUE. If CHECK_BOARD_NAME_AMD is changed to 0, there is a problem with CL_SUCCESS which equals to 0, device will be skipped.
3 years ago
Jukka Ojanen b3d18f86e2 Fix early return leaks in backend_session_begin
3 years ago
Jukka Ojanen b976e52bc7 Fix early return leaks in load_kernel; nvrtc_options, nvrtc_options_string, build_log. Ensure build log NULL termination.
3 years ago
Jukka Ojanen 2f7eec2fd7 Fix early return leaks in backend_ctx_init and backend_ctx_devices_init
3 years ago
Jukka Ojanen bcbb9b0d2c Fix skipped device param leak in backend_ctx_devices_destroy
3 years ago
Jukka Ojanen 5f109b5862 Fix iconv_ctx and iconv_tmp leaks in backend.c
3 years ago
Jens Steube 8a3eee3fe5 OpenCL Runtime: Workaround JiT crash (SC failed. No reason given.) on macOS by limiting local memory allocations to 32k
3 years ago
Jens Steube 909d5e64a5 Added hash-mode: AES-128/192/256-ECB NOKDF
3 years ago
Jens Steube 28c08de9ef Folders: Do not escape the variable cpath_real to prevent certain OpenCL runtimes from running into an error which do not support escape characters
3 years ago
Jens Steube 90f0e78b5b Add event about autodetection process start
3 years ago
Jens Steube 7e267b9b37
Merge pull request #2825 from matrix/hwmon_osx_v2
3 years ago
Jens Steube 2d7f67fd23 Alias Devices: Show a warning in case the user specifically listed a device to use which in a later step is skipped because it is an alias of another active device
3 years ago
Gabriele Gristina bc4ce4cbeb Add support for CPU/GPU device temperature and fanspeed using iokit (Apple)
3 years ago
Jens Steube ee7fca82f5 Scrypt Kernels: Re-enable scrypt based kernels to use kernel cache
3 years ago
Jens Steube 7fc0ac4ef1 Do not initialize backend devices in case --id is used and some bug fixes
3 years ago
Jens Steube 65d81c0f7b Hashrate: Innerloop hashrate prediction requires update because of the new salt_repeats feature and also respect _loop2 kernel runtime
3 years ago
Jens Steube fdccc8287d Fixed free memory size output for skipped GPU (both automatic and manual) of --backend-info information screen
3 years ago
Royce Williams 7bea7ca177 tighten output to be physical-terminal friendly
3 years ago
nycex 470e844e5d
use XDG_CACHE_HOME for kernels
3 years ago
Jens Steube ce8c121b50 BCRYPT Kernels: Improved bcrypt performance by 6.5% for high-end NVIDIA GPU devices using CUDA backend
3 years ago
Jens Steube 9f5a22a3ab OpenCL Backend: Use CL_DEVICE_BOARD_NAME_AMD instead of CL_DEVICE_NAME for device name in case OpenCL runtime supports this query
3 years ago
Jens Steube 5c6501444a Kernels: Add standalone true UTF8 to UTF16 converter kernel that runs after amplifier. Use OPTS_TYPE_POST_AMP_UTF16LE from plugin
3 years ago
Jens Steube fe91f6276d CUDA Backend: Do not warn about missing CUDA SDK installation if --stdout is used
3 years ago
Jens Steube a2fcb03fe3 Update AMD GPU check on macOS warning message
3 years ago
Jens Steube 282eb75fe9 Update module_unstable_warning for benchmark long selection on macOS for CPU and GPU; Allow use of GPU without --force testwise
3 years ago
Jens Steube bbd6e55968 Add missing null pointer to cuda_module_shared and opencl_program_shared in backend cleanup function
3 years ago
Jens Steube 0c2afde83b Add support for clUnloadPlatformCompiler()
3 years ago
Jens Steube 59459d0e5b Fixed memory leak causing problems in sessions with many iterations. for instance, --benchmark-all or large mask files
3 years ago
Jens Steube 9a87d5aa01 Fixed out-of-boundary reads in case user activates -S for fast but pure hashes in -a 1 or -a 3 mode
3 years ago
Jens Steube 0ba77fe761 Kernel Development: Kernel cache is disabled automatically in casehashcat is compiled with DEBUG=1
3 years ago
Jens Steube 1dac869cb7 Removed unnecessary swaps in SCRYPT based algorithms
3 years ago
Jens Steube 15f35fa68c Scrypt Kernels: Reduced kernel wait times by making it a true split kernel where iteration count = N value
3 years ago
Jens Steube 8e47fdf8f5 Add 4 times single workitem extra buffer size to total extra buffer size to workaround single workitem buffer overflows
3 years ago
Jens Steube 57a8923b81 Update complete SCRYPT workload tuning logic.
3 years ago
Jens Steube ff96015f53 Add OPTS_TYPE_NATIVE_THREADS for use by plugin developer to enforce native thread count (useful for scrypt)
3 years ago
Jens Steube 67d189e10a Update calculation of EXTRA_SPACE in backend.c and add upper and lower hard limit
3 years ago
Jens Steube 51e8661070 Update calculation of EXTRA_SPACE in backend.c to make it depending from kernel-accel
3 years ago
Jens Steube 9033975efd Allow plugins to disable the multiplication of the kernel-accel value with the multiprocessor count of the compute device. Will be used later.
3 years ago
Jens Steube a0eae9050c OpenCL Runtime: Workaround JiT compiler deadlock on NVIDIA driver >= 465.89
3 years ago
Jens Steube 3c199bfa1b
Merge pull request #2693 from matrix/out_of_host_memory
3 years ago
Jens Steube d53913f444
Merge pull request #2672 from matrix/example2info
3 years ago
Chick3nman 9b6235a5fc
Downgrade Kernel Exec Timeout Warning
3 years ago
Gabriele Gristina fda0d668e5 use skip also with first checks of backend_session_begin()
3 years ago
Gabriele Gristina 4c2605f7f2 switch to skip instead return -1 for all checks, moved cuda counter update to the end of loop
3 years ago
Gabriele Gristina f4dbd46b71 trying skip devices instead of return -1
3 years ago
Gabriele Gristina 77e328d659 Removed option --example-hashes, now is an alias of --hash-info
3 years ago
Gabriele Gristina 3ed1f0d840 Added new option: --hash-info
3 years ago
Jens Steube 04d5e5a119 New Attack-Mode: Association Attack. Like JtR's single mode. Very early
4 years ago
Jens Steube 57bef8abc9 Display possible NVIDIA CUDA/RTC library loading error message only in case a NVIDIA device was found using OpenCL
4 years ago
Jens Steube 111f39eeb2 OpenCL Runtime: Switched default OpenCL device type on macOS from GPU to CPU. Use -D 2 to enable GPU devices.
4 years ago
Jens Steube 343d3bc0aa CUDA Backend: Give detailed warning if either the NVIDIA CUDA or the NVIDIA RTC library cannot be initialized
4 years ago
Jens Steube 6a419d068c CUDA Backend: Use blocking events to avoid 100% CPU core usage (per GPU)
4 years ago
Jens Steube 62a7ae4075 Increase EXTRA_SPACE to leave some room for free device memory
4 years ago
Jens Steube 3ebf4c5f9f Merge branch 'master' of https://github.com/hashcat/hashcat
4 years ago
Jens Steube 98aef2ae92 Module Structure: Add 3rd party library hook management functions. This also requires an update to all existing module_init()
4 years ago
philsmd ee5bce1c3e
fixes #2518: call clear_prompt () more often to avoid misaligned prompt
4 years ago
Jens Steube a72ba6faab Add OPTI_TYPE_SLOW_HASH_SIMD_INIT2 and OPTI_TYPE_SLOW_HASH_SIMD_LOOP2
4 years ago
Jens Steube e21463da4b Fixed race condition resulting in out of memory error on startup if multiple hashcat instances are started at the same time
4 years ago
Jens Steube 0ff2f8c5e1 OpenCL Devices: Utilize PCI domain to improve alias device detection
4 years ago
philsmd 3e822e97b9
fixes #2460: better alias detection esp. for macOS
4 years ago
Jens Steube 5628317de8 OpenCL Runtime: Reinterpret return code CL_DEVICE_NOT_FOUND from clGetDeviceIDs() as non-fatal
4 years ago
philsmd e59f61e8cf
cosmetic: minor code style fixes
4 years ago
Jens Steube a6a6bb200a Mark NV 441.x as fixed
4 years ago
Jens Steube 1e469a96a4 Add missing branch in automatic alias device selection
4 years ago
Jens Steube 34f71aaea3 Re-enable POCL is version detected is >= 1.5 and LLVM is >= 9.x and also remove performance warning. Still prefers native OpenCL runtime in alias detection, but this default can be overriden using -d parameter.
4 years ago
Matt Palmer 240d35976a Fix build warning in DEBUG mode
4 years ago
Jens Steube 008072eb65 OpenCL Runtime: Added a warning if OpenCL runtime NEO, Beignet, POCL or MESA is detected and skip associated devices (override with --force)
4 years ago
Jens Steube 434ad76381 Improve alias device detection to distinguish between Intel CPU and embedded GPU
4 years ago
Jens Steube ba7163062d Do not set -cl-std=XXX to workaround NEO driver bug causing to hang while compiling -m 22000
4 years ago
Jens Steube 2b2a7ede66 OpenCL Options: Set --spin-damp to 0 (disabled) by default. With the CUDA backend this workaround became deprecated
4 years ago
Jens Steube 8c3808bad5 Fix NUL filename on windows
4 years ago
Jens Steube 3e4d110fd2 Add stderr redirection the regular way
4 years ago
Jens Steube 125e9ec863 Do not redirect stderr to /dev/null to prevent rocm 3.1 from crashing on debian
4 years ago
Jens Steube f381e1bbf8 Remove force_recompile functionality, doesn't work with cubin anymore
4 years ago
Jens Steube f96e35649d Change bitsliced kernels from 3d to 2d invocation mode for slightly better performance
4 years ago
Jens Steube d9473358ef Add support for OPTS_TYPE_LOOP_EXTENDED kernel for special cases like VeraCrypt
4 years ago
Jens Steube c90d83c3eb Prepare for UNROLL whitelisting
4 years ago
Jens Steube 4788c61dd2 Add OPTI_TYPE_REGISTER_LIMIT flag to enable register limiting in CUDA
4 years ago
Jens Steube 17a64f5019 Set a fixed register count maximumfor CUDA kernel. This prevents kernels going out of control and to have negative effects on other kernels from the same source code (For instance 16600)
4 years ago
Jens Steube c40f474c2e Add special module option to indicate the kernel is using dynamic shared memory
4 years ago
Jens Steube fb7bb04587 Do not use dynamic shared memory if dynamic_local_mem_size is a multiple of local_mem_size
4 years ago
Jens Steube 96a2c36f53 Reduce CUDA Toolkit minimum version to 9.0 (even 8.0 should be sufficient)
4 years ago
Jens Steube aef53f7e10 OpenCL Runtime: Allow the kernel to access post-48k shared memory region on CUDA. Requires both module and kernel preparation
4 years ago
Jens Steube 1fc37c25f9 OpenCL Kernels: Moved "gpu_decompress", "gpu_memset" and "gpu_atinit" into new OpenCL/shared.cl in order to reduce compile time
4 years ago
Jens Steube 08163501cf Add option to disable cubin cache binaries and moved some redundant kernel load code into specific function
4 years ago
Jens Steube 01085cdab2 Move cujit_opts allocation closer to the calling functions because CUDA library needs it reinitialized after each use
4 years ago
Jens Steube 346637ec43 Improve cujit logging
4 years ago
Jens Steube 66ae5125ce Cache cubin instead of PTX to decrease startup time
4 years ago
Jens Steube cc4fd48ace Optimize hook buffer size to be copied
4 years ago
Jens Steube 041a777025 OpenCL Runtime: Unlocked maximum thread count for NVIDIA GPU
4 years ago
Jens Steube ccacc508cb Reenabled support for Intel GPU OpenCL runtime (Beignet and NEO) because a workaround was found (force -cl-std=CL2.0)
4 years ago
Jens Steube fe372dffb7 Add RDNA ISA instructions test for ADD/ADDC/SUB/SUBB
4 years ago
Jens Steube df5e2361d3 Disable inline assembly instruction tests for CUDA and refer to documented requirements
4 years ago
Jens Steube d0fb171da9 Added new options --backend-ignore-cuda and --backend-ingore-opencl, to ignore CUDA and/or OpenCL interface from being load on startup
4 years ago
Jens Steube b3690fcd05 Backport instruction test cache from CUDA to OpenCL
4 years ago
Jens Steube 2b4d0656d5 Cache inline assembly instruction check results for same devices types
4 years ago
Jens Steube 5d1d48f5d7 Do not check for COPY_PW limits in outside kernels
4 years ago
Jens Steube 53254b45aa Backport inc_ecc_secp256k1 inline assembly code for AMD ISA
5 years ago
Jens Steube bfd95d42f6 - OpenCL Runtime: Reenabled support for Intel GPU OpenCL runtime
5 years ago
Jens Steube 2884bded32 Initialize some variable to make scan-build happy
5 years ago
Jens Steube 00b9f4c557 Add kernel accel minimum limit check
5 years ago
Jens Steube 424777ae28 Add kernel accel limiter based on kernel threads to reduce host memory requirements
5 years ago
Jens Steube f7c3ced548 Fix use of calloc() in backend.c
5 years ago
Jens Steube c4dd020685 Add support for NVIDIA Jetson AGX Xavier developer kit
5 years ago
Jens Steube 53e96a12a0 Improve automatic calculation of hook threads value
5 years ago
Jens Steube fe8c17f4c7 Support pause/abort in hooks
5 years ago
Jens Steube 9c2c73c6cc Clear hook buffers after full kernel chain is finished
5 years ago
Jens Steube 7458e4f487 Add per-device available memory test of static data (hashlist, ruleset) before test of dynamic data (-n based)
5 years ago
Rosen Penev a6edb84157
Fix extra semicolon warnings
5 years ago
Jens Steube c12470b978
Merge pull request #2188 from neheb/cast
5 years ago
Jens Steube a8555fa048 Support use of all available CPU cores for hash-mode specific hooks
5 years ago
Rosen Penev fd8150769d Add casts where needed in C++ mode
5 years ago
Jens Steube 57a149276c Do alias check only in case both CUDA and OpenCL devices were detected
5 years ago
Jens Steube 97c9e86d15 Filehandling: Print a truncation warning in case an oversized line was detected
5 years ago
Rosen Penev dca1a86315
Run through Clang's bugprone-macro-parentheses
5 years ago
Rosen Penev 6dc72ebcc5
Run through Clang's readability-else-after-return
5 years ago
Rosen Penev fb75164126
Run through Clang's google-readability-casting
5 years ago
Rosen Penev 2f76326c37
Run through Clang's android-cloexec checkers
5 years ago
Rosen Penev 98e17d5774
Run through clang-tidy's readability-uppercase-literal-suffix
5 years ago
Gabriele Gristina ae62e597ce (backend) remove unused *rc* vars and cleanup
5 years ago
Jens Steube a7fd1e40f8
Merge pull request #2075 from matrix/zlib_support_2
5 years ago
Gabriele Gristina 2db6dfcd4e fix HCFILE with potfile BUG and something else related to HCFILE wrong usage
5 years ago
Gabriele Gristina ea786f715f avoid logical negation operator
5 years ago
Gabriele Gristina 3161aec3da fix the comments :)
5 years ago
Gabriele Gristina 5679ca3344 Rewrite hc_fopen to better handling file descriptor locking/unlocking functions, saving kernels binary from plain to gzip format
5 years ago
Gabriele Gristina caf34e0e83 Fix some *print* format arguments
5 years ago
Gabriele Gristina 5d3ed3e754 Remove union from HCFILE, using std file ops in ocl_check_dri, remove debug comments
5 years ago
Gabriele Gristina c2e634c426 switch is_gzip from short to bool
5 years ago
Gabriele Gristina 481c752456 No more compress functions, update example.dict.gz, remove some comments
5 years ago