1
0
mirror of https://github.com/hashcat/hashcat.git synced 2025-07-23 15:08:37 +00:00
Commit Graph

1147 Commits

Author SHA1 Message Date
Jens Steube
13a7b56feb Improve the logic for when to use funnelshift and when not to. Some algorithms, such as SHA1-HMAC and DCC1, do not work well with it, so it has been disabled for them.
Fix the automatic reduction of the kernel-accel maximum based on available memory per device by accounting for the additional size needed to handle register spilling.
Fix the tools/benchmark_deep.pl script to recognize benchmark masks more reliably.
2025-06-23 12:30:12 +02:00
Jens Steube
b7c8fcf27c Removed shared-memory based optimization for SCRYPT on HIP, because the shared-memory buffer is incompatible with TMTO, which is limiting SCRYPT-R to a maximum of 8. This change also simplifies the code, allowing removal of large sections of duplicated code. Removed the section in scrypt_module_extra_tuningdb_block() that increased TMTO when there was insufficient shared memory, as this is no longer applicable.
Refactored inc_hash_scrypt.cl almost completely and improved macro names in inc_hash_scrypt.h. Adapted all existing SCRYPT-based plugins to the new standard. If you have custom SCRYPT based plugins use hash-mode 8900 as reference.
Fixed some compiler warnings in inc_platform.cl.
Cleaned up code paths in inc_vendor.h for finding values for HC_ATTR_SEQ and DECLSPEC.
Removed option --device-as-default-execution-space from nvrtc for hiprtc compatibility. As a result, added __device__ back to DECLSPEC.
Removed option --restrict from nvrtc compile options since we actually alias some buffers.
Added --gpu-max-threads-per-block to hiprtc options.
Added -D MAX_THREADS_PER_BLOCK to OpenCL options (currently unused).
Removed all OPTS_TYPE_MP_MULTI_DISABLE entries for SNMPv3-based plugins.
These plugins consume large amounts of memory and for this reason,limited kernel_accel max to 256. This may still be high, but hashcat will automatically tune down kernel_accel if insufficient memory is detected.
Removed command `rocm-smi --resetprofile --resetclocks --resetfans` from benchmark_deep.pl, since some AMD GPUs become artificially slow for a while after running these commands.
Replaced load_source() with file_to_buffer() from shared.c, which does the exact same operations.
Moved suppress_stderr() and restore_stderr() to shared.c and reused them in both Python bridges and opencl_test_instruction(), where the same type of code existed.
2025-06-21 07:09:20 +02:00
Jens Steube
13245b5563 Add HC_ATTR_SEQ macro to CUDA kernels. It is left empty so that users can optionally add __launch_bounds__ or other launch attributes if needed.
Add MAX_THREADS_PER_BLOCK macro to CUDA kernels. It defaults to 1024 or a lower value if limited by the plugin module or specified via the -T command line option.
For CUDA, lower the C++ dialect from C++17 to C++14 to reduce JIT compile time. Also add support for --split-compile and --minimal flags to further improve NVRTC compile performance.
Remove power-hungry NVIDIA settings and fix missing sudo calls in tools/benchmark_deep.pl.
Remove NEW_SIMD_CODE macro from kernels that do not support SIMD (no u32x).
2025-06-18 10:08:56 +02:00
Jens Steube
e134564a73 Increase default iteration count per kernel invocation from 1024 to 2048
Add support for lower iteration counts per kernel invocation than the default, enabling TMTO for low scrypt configurations, such as N=1024
Use TMTO 2 if it reaches 4 times the device processor count, instead of TMTO 1 always
Improve performance for low scrypt configurations (hash-mode 9300)
Fix unit test for 15700 with correct scrypt configurations
Disable CPU over subscription for SCRYPT based algorithms
2025-06-15 21:14:40 +02:00
Jens Steube
07395626fa Introduce hashes_init_stage5() and call module_extra_tmp_size() there. At this stage, the self-test hash is initialized and its values can be used.
Remove hard-coded SCRYPT N, R, and P values in modules, except where they are intentionally hardcoded.
Fix a bug that always caused a TMTO value of 1, even when it was not needed.
Respect device_available_mem and device_maxmem_alloc values even if a reliable low-level free memory API is present, and always select the lowest of all available limits.
Fix benchmark_deep.pl mask to avoid UTF-8 rejects.
Improve error messages when the check verifying that all SCRYPT configuration settings across all hashes are identical is triggered.
Also improve the error message shown when the SCRYPT configuration of the self-test hash does not match that of the target hash.
Fix a bug where a low-tuned SCRYPT hash combined with a TMTO could result in fewer than 1024 iterations, which breaks the hard-coded minimum of 1024 iterations in the SCRYPT kernel.
2025-06-15 14:13:48 +02:00
Jens Steube
8494116ded Added support for WBB4 (Woltlab Burning Board) Plugin [bcrypt(bcrypt($pass))]
Thanks for the contribution! You know who you are.
2025-06-13 12:38:06 +02:00
Jens Steube
2e640c4e9f Speed improvements for all QNX /etc/shadow
Speed improvements for all OpenSSH private key (by reducing max upported password length from 256 to 128)
2025-06-12 21:18:24 +02:00
Jens Steube
6aeb188b48 - Handle case where system does not offer any reliable method to query actual free memory
- Change package script source folder from $HOME/hashcat to .
- Revisited Apple OpenCL 2GiB Bug (still present)
2025-06-10 12:54:15 +02:00
Jens Steube
5ce7e9ec2a
Merge pull request #4248 from matrix/MSONLINEACCOUNT_v2
Module 33700: limit data len to 32 bytes, based on the extraction tool
2025-06-10 09:23:07 +02:00
Gabriele Gristina
2485c1fcb5 Module 33700: limit data len to 32 bytes, based on the extraction tool 2025-06-10 00:35:35 +02:00
Banaanhangwagen
ffa3626c60
Create cachedata2hashcat.py 2025-06-09 16:26:13 +02:00
Gabriele Gristina
86c8323ae2 Added hash-mode: Microsoft Online Account (PBKDF2-HMAC-SHA256 + AES256) 2025-06-08 21:39:29 +02:00
Jens Steube
ac2ed9f402 - Remove old iconv patches (replaced by cmake)
- Replace Queues in hcmp/hcsp and make code more pythonic
- Synchronize python thread in hcmp count with detected cores
- Move setting PYTHON_GIL to shared.c
- Fix allocating and freeing aligned memory
- Update BUILD guides for WSL and macOS
- Fix python plugin documentation for macOS
2025-06-05 06:56:38 +02:00
Jens Steube
73d817e74f The Assimilation Bridge (Python plugins -m 72000 and -m 73000) 2025-06-02 10:15:34 +02:00
Jens Steube
b02b1b5033 - Add code to recognize Microsofts OpenCL D3D12 platform
- Skip memory-free detection on MS OpenCL platform to avoid crashes
- Improve salt usage of 70100/70200, use decoder/kernels from 8900
- Add REPLACE bridge type support (eg. BRIDGE_TYPE_REPLACE_LOOP)
- Switch 70000, 70100 and 70200 to BRIDGE_TYPE_REPLACE_LOOP
- Add synchronization barriers on d2h copy when using bridges
- Improve speed status display updates when using bridges
- Set AMD_DIRECT_DISPATCH=0 to reduce CPU burning loop on AMD backends
- Set benchmark/selftest hash on 70100/70200 to 16:8:1
2025-06-02 06:59:36 +02:00
Jens Steube
ed71e41ae1 The Assimilation Bridge (Scrypt-Yescrypt GPU-CPU hybrid plugin -m 70200) 2025-06-01 07:10:00 +02:00
Jens Steube
a2a9941475 The Assimilation Bridge (Scrypt-Jane GPU-CPU hybrid plugin -m 70100) 2025-05-31 12:24:44 +02:00
Jens Steube
dc50bdbc72 The Assimilation Bridge (Argon2id plugin -m 70000) 2025-05-30 11:21:40 +02:00
Jens Steube
ceb5ff5641 The Assimilation Bridge (Framework) 2025-05-29 15:38:13 +02:00
Gabriele Gristina
5abef56ba8 Fix test.sh bugs with RC4, a6 and a7 multi 2025-05-27 18:54:35 +02:00
Jens Steube
b293b47ad7
Merge pull request #4196 from matrix/test_unit_33300
add test unit for 33300 (HMAC-BLAKE2s-256)
2025-05-26 20:18:17 +02:00
Jens Steube
f70022b898
Merge pull request #4197 from matrix/test_unit_20730
add test unit for 20730 (sha256(sha256($pass.$salt)))
2025-05-22 07:38:57 +02:00
Jens Steube
686c2ac078
Merge pull request #4199 from matrix/resurrect_PR_2561
Added hash-mode: BestCrypt v4 Volume Encryption
2025-05-19 13:57:14 +02:00
Jens Steube
6782d78898 Rename -m 4500x to -m 3350x 2025-05-18 21:07:44 +02:00
Gabriele Gristina
ff6185e9b4 Added hash-modes: RC4 40-bit DropN, RC4 72-bit DropN, RC4 104-bit DropN 2025-05-06 20:44:50 +02:00
Gabriele Gristina
24fa627f2f Added hash-mode: BestCrypt v4 Volume Encryption 2025-04-27 20:57:43 +02:00
Gabriele Gristina
af6afc06ea add test unit for 20730 (sha256(sha256($pass.$salt))) 2025-04-26 13:15:28 +02:00
Gabriele Gristina
12bc11482b add test unit for 33300 (HMAC-BLAKE2s-256) 2025-04-26 13:07:08 +02:00
jsteube
32853374b9 Fix some file modes 2023-09-18 07:19:23 +00:00
Jens Steube
42f2286d16
Merge pull request #3742 from hans-vh/kremlin
Add support for Kremlin Encrypt (-m 32700)
2023-09-08 15:28:20 +02:00
Jens Steube
cc9ed0e24b
Merge pull request #3845 from philsmd/26610_verify_fix
verify test fix for -m 26610 = MetaMask Wallet (short)
2023-09-05 08:19:08 +02:00
Jens Steube
4d31e4d6ce
Merge pull request #3846 from philsmd/31900_verify_fix
verify test fix for -m 31900 = MetaMask Mobile Wallet
2023-09-04 15:31:33 +02:00
Jens Steube
8a3fa5c7d9
Merge pull request #3847 from philsmd/32100_verify_fix
verify fix for -m 32100=Kerberos 5,etype 17,AS-REP
2023-09-03 20:18:42 +02:00
Jens Steube
0dcd2a757b
Merge pull request #3848 from philsmd/32200_verify_fix
verify fix for -m 32200=Kerberos 5, etype 18, AS-REP
2023-09-02 20:00:25 +02:00
Jens Steube
9842041dd4
Merge pull request #3849 from philsmd/tests_module_deps
unit tests Crypt::Digest::BLAKE2s_256 dependency
2023-09-01 20:56:51 +02:00
red
61944481b9
Update m31900.pm
adapt mode's unit-test for longer CT sections
2023-08-29 21:50:12 +02:00
red
2cc49d2e87
Update metamask2hashcat.py
increase CT-length
2023-08-29 21:43:11 +02:00
Jens Steube
c2de4961a3
Merge pull request #3843 from philsmd/30700_verify_fix
verify test fix for -m 30700 = Anope IRC Services
2023-08-29 13:45:46 +02:00
Jens Steube
5752ad9ab6
Merge pull request #3842 from philsmd/3730_verify_fix
verify test fix for -m 3730 = md5($s1.uc(md5($s2.$p)))
2023-08-28 11:05:24 +02:00
Jens Steube
20682e55b1
Merge pull request #3841 from philsmd/6800_verify_fix
verify test fix for -m 6800 = LastPass sniffed
2023-08-26 22:06:08 +02:00
philsmd
212a7f3c6e
unit tests update perl module dependencies 2023-08-19 12:13:11 +02:00
philsmd
d462e61e55
verify fix for -m 32200=Kerberos 5,etype 18,AS-REP 2023-08-19 12:09:59 +02:00
philsmd
5b6eecd253
verify fix for -m 32100=Kerberos 5,etype 17,AS-REP 2023-08-19 12:05:49 +02:00
philsmd
b2fc157624
verify test fix for -m 31900 = MetaMask Mobile Wallet 2023-08-19 12:00:29 +02:00
philsmd
dd77925cdd
verify test fix for -m 2661- = MetaMask Wallet (short) 2023-08-19 11:54:49 +02:00
philsmd
9807494f46
verify test fix for -m 30700 = Anope IRC Services 2023-08-19 11:50:10 +02:00
philsmd
1dcc0e2868
verify test fix for -m 3730 = md5($s1.uc(md5($s2.$p))) 2023-08-19 11:45:58 +02:00
philsmd
b71a2d09f2
verify test fix for -m 6800 = LastPass sniffed 2023-08-19 11:40:05 +02:00
philsmd
8743246641
verify test fix for -m 13400/-m 29700 2023-08-19 11:34:57 +02:00
jsteube
c2065d158c Renamed hash-mode 6150 to 32600 2023-08-03 20:55:47 +00:00