1
0
mirror of https://github.com/hashcat/hashcat.git synced 2025-07-28 17:38:43 +00:00
Commit Graph

1405 Commits

Author SHA1 Message Date
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
Jens Steube
c87a87f992 Improvements to SCRYPT autotuning strategy
General:

The logic for calculating the SCRYPT workload has been moved
from module_extra_buffer_size() to module_extra_tuningdb_block().
Previously, this function just returned values from a static
tuning file. Now, it actually computes tuning values on the fly
based on the device's resources and SCRYPT parameters. This
was always possible, it just wasn't used that way until now.

After running the calculation, the calculated kernel_accel value
is injected into the tuning database as if it had come from a
file. The tmto value is stored internally.

Users can still override kernel-threads, kernel-accel, and
scrypt-tmto via the command line or via tuningdb file.

module_extra_tuningdb_block():

This is now where kernel_accel and tmto are automatically
calculated.

The logic for accel and tmto is now separated and more
flexible. Whether the user is using defaults, tuningdb entries, or
manual command line overrides, the code logic will try to make
smart choices based on what's actually available on the device.

First, it tries to find a kernel_accel value that fits into
available memory. It starts with a base value and simulates
tmto=1 or 2 (which is typical good on GPU).

It also leaves room for other buffers (like pws[], tmps[], etc.).
If the result is close to the actual processor count,
it gets clamped.

This value is then added to the tuning database, so hashcat can pick
it up during startup.

Once that's set, it derives tmto using available memory, thread
count, and the actual SCRYPT parameters.

module_extra_buffer_size():

This function now just returns the size of the SCRYPT B[] buffer,
based on the tmto that was already calculated.

kernel_threads:

Defaults are now set to 32 threads in most cases. On AMD GPUs,
64 threads might give a slight performance bump, but 32 is more
consistent and reliable.

For very memory-heavy algorithms (like Ethereum Wallet), it
scales down the thread count.

Here's a rough reference for other SCRYPT-based modes:

- 64 MiB: 16 threads
- 256 MiB: 4 threads

Tuning files:

All built-in tuningdb entries have been removed, because they
shouldn’t be needed anymore. But you can still add custom entries
if needed. There’s even a commented-out example in the tuningdb
file for mode 22700.

Free memory handling:

Getting the actual amount of free GPU memory is critical for
this to work right. Unfortunately, none of the common GPGPU APIs
give reliable numbers. We now query low-level interfaces like
SYSFS (AMD) and NVML (NVIDIA). Support for those APIs is in
place already, except for ADL, which still needs to be added.

Because of this, hwmon support (which handles those low-level
queries) can no longer be disabled.
2025-06-09 11:02:34 +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
ed6e967425 Add experimental SCRYPT N-parameter auto-discovery
Remove existing tuningdb entries due to salsa_r() core
refactor. Update tuningdb engine to prefer file entries,
when available, over automatic discovery.

Improve memory-free detection per device, default
--backend-device-keepfree is now set to 0.

Old brute-force OpenCL behavior can be restored using
--backend-device-keepfree 100.
2025-06-08 07:32:32 +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
Jens Steube
eb685389d4
Merge pull request #4217 from matrix/issue_4216
fix build error on old linux distro
2025-05-28 20:37:41 +02:00
Jens Steube
bce5e1a332
Merge pull request #4188 from matrix/hc_decompress_rar_fp
Modules: Check UnpackSize to raise false positive with hc_decompress_rar
2025-05-27 19:45:49 +02:00
Jens Steube
3dca391770
Merge pull request #4182 from holly-o/blake2s_hmac
Add plugin for HMAC-BLAKE2s
2025-05-26 20:17:59 +02:00
Jens Steube
3517772fb9
Merge pull request #4178 from PenguinKeeper7/20510-kg-recommend
Recommend --keep-guessing on -m 20510
2025-05-25 07:22:50 +02:00
Jens Steube
40365a32d0
Merge pull request #4195 from matrix/issue_4175
Improve ASN.1 check for RSA/DSA/EC/OpenSSH Private Keys modules (22911, 22921, 22931, 22941, 22951)
2025-05-24 16:29:26 +02:00
Gabriele Gristina
15e74c2e57 fix build error on old linux distro 2025-05-24 15:39:06 +02:00
Jens Steube
c9a4609c1f Rename -m 20713 to -m 20730 2025-05-22 07:38:19 +02:00
Jens Steube
1b279abf36
Merge pull request #4184 from vikerup/module_27013
add module 20713 - sha256(sha256(pass+salt))
2025-05-22 07:33:47 +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
Jens Steube
b9938f34d6
Merge pull request #4201 from matrix/RC4_KPA
Added hash-modes: RC4 40-bit DropN, RC4 72-bit DropN, RC4 104-bit DropN
2025-05-18 20:39:24 +02:00
Jens Steube
e69045823b
Merge pull request #4210 from matrix/fix_6100_apple
fix errors with Apple GPU for module 6100
2025-05-15 23:05:29 +02:00
Gabriele Gristina
dd1c06cda6 fix errors with Apple GPU for module 6100 2025-05-15 20:24:40 +02:00
Gabriele Gristina
003579d21b Modules: Updated module_unstable_warning 2025-05-11 15:40:52 +02:00
Gabriele Gristina
6082fc42a9 fix module_unstable_warning for hash-mode 40000, 40001 and 40002 2025-05-10 14:14:26 +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
holly-o
96cadf80c1 Removed local .DS_Store files 2025-04-28 08:29:56 +01:00
Gabriele Gristina
24fa627f2f Added hash-mode: BestCrypt v4 Volume Encryption 2025-04-27 20:57:43 +02:00
Gabriele Gristina
cc9ae09b94 Improve ASN.1 check for RSA/DSA/EC/OpenSSH Private Keys modules (22911, 22921, 22931, 22941, 22951) 2025-04-25 19:13:33 +02:00
Gabriele Gristina
21a471139a avoid processing crc32 if the unpacked size is not the expected 2025-04-24 11:16:54 +02:00
Andreas Vikerup
3268b58e24 add module 20713 - sha256(sha256(pass+salt)) 2025-04-15 16:25:53 +02:00
PenguinKeeper7
9b9a7a519a Recommend --keep-guessing on -m 20510 2025-04-05 19:10:12 +01:00
jsteube
6716447dfc Add support for zero-length salts in Electrum $4 and $5 2024-04-20 17:35:45 +00:00
jsteube
adbcef6909 Refactor optimized_kernel_enable variable to just optimized_kernel, same idea as outfile_autohex variable 2023-10-30 15:09:36 +00:00
jsteube
686bc227cf Allow user to use --keyboard-layout-mapping for VeraCrypt SHA512 plugins.
This plugin doesn't require a dedicated boot hash-mode, because the iteration count is the same for both boot and partition/file hash-mode.
For that reason it should be allowed to use keyboard mapping functionality.
2023-10-26 11:42:01 +00:00
raulperdomo
655cb2a108
Update module_19210.c
Changed Salt Minimum Len to 16
2023-10-02 11:26:35 -04:00
jsteube
302dab6a24 Simplify module_hash_decode() in -m 32700 2023-09-20 07:22:28 +00:00
jsteube
33be14995a Get rid of OPTS_TYPE_HASH_COPY in -m 19210 2023-09-19 07:19:44 +00:00
jsteube
32853374b9 Fix some file modes 2023-09-18 07:19:23 +00:00
Jens Steube
4dd2890b12
Merge pull request #3875 from gorgiaxx/master
Added -m 19210 QNX7 /etc/shadow Hash
2023-09-17 18:39:44 +02:00
Jens Steube
2801527d81
Merge pull request #3873 from piru/master
Raise Flask Session Cookie (-m 29100) max data length to 120 chars.
2023-09-16 15:54:39 +02:00
Jens Steube
bf65e65db0 Normalize module for -m 32700 and remove OPTS_TYPE_MP_MULTI_DISABLE and other not relevant flags 2023-09-15 08:49:13 +00:00
Gorgias
78ccd9783c
remove useless header file 2023-09-14 21:07:23 +08:00
Gorgias
1831101c3a
Merge branch 'hashcat:master' into master 2023-09-14 15:25:32 +08:00
gorgias
241b2aa566 Support QNX 7 SHA512 Hash 2023-09-14 15:24:50 +08:00
jsteube
5def8a3534 Rewrote -m 32700 kernel to use u32 datatype instead of u8 2023-09-14 06:28:19 +00:00
Jens Steube
a74270b120 Remove SHA1_TRANSFORM_SWAP modificaton in inc_hash_sha1.cl and use replacement of sha1_final in -m 32700 sources as replacement 2023-09-13 07:50:20 +00:00
Jens Steube
573423af97 Rewrite -m 32700 to use salt_iter and loop kernel as expected in slow hash modes 2023-09-12 07:10:31 +00:00
Harry Sintonen
8ae46f4487 Raise Flask Session Cookie (-m 29100) max data length to 120 chars. 2023-09-11 13:54:02 +03:00