1
0
mirror of https://github.com/hashcat/hashcat.git synced 2025-07-22 22:48:47 +00:00
hashcat/tools
Jens Steube dd02267bf2 Automatic downtune problem:
In the automatic downtune routine, hashcat prepares a fixed 512MiB host
buffer that is known to be allocated by the compute runtimes (CUDA, HIP,
OpenCL, Metal), and over which hashcat has no control.

However, hashcat still divides the maximum available host memory by the
active device count to automatically as a preparation to later downtune
the -n and -T parameters when memory is limited.

Hashcat reserves 512MiB per active device. With bridges, the active
devices become bridge units, which for modes 70000, 70100, and 70200
equals the CPU core count. On a 32-core CPU, this multiplies to 16GiB,
even though the memory is actually shared because of threading.
This leads to an overestimation of memory usage.

A simple fix is to divide the 512MiB buffer by the active device count.
This keeps the full 512MiB for a single GPU but avoids overestimating
memory usage with many virtual devices.

Fix code handling kernel-accel value in argon2_common.c for CPU,
which was accidentally removed during previous refactoring.

Set thread count to 1 for hash-mode 70000. Oversubscribing the CPU isn't
useful here. This allows to keep the wordlist count low, which is very
welcome for slow hashes like Argon2id.

Fix unit test for 20011/20012/20013 (DiskCryptor) by adding setuptools
to install_modules.sh and replacing AES.MODE_XTS with python_AES.MODE_XTS.

Fix false negative for kernel 32800, which only occurred if all
conditions were true: multihash, -a 3, optimized mode, and password
length between 16 and 31.

Fix Python package name in BUILD_WSL.md command line example.
2025-07-16 08:38:02 +02:00
..
2hashcat_tests Update metamask2hashcat to use new format and add test vault JSON 2024-02-24 16:42:08 +10:00
cl_tests cryptoapi opts (2) and test unit 2021-05-08 02:06:05 +02:00
code_generators perl scripts: add license and chmod +x 2020-06-10 12:02:33 +02:00
gpg_tests Move test scripts for 17040 to tools/gpg_tests, similar to what we do with TC/VC. 2023-07-20 20:03:58 +00:00
pdf_tests m25400 can now recover both a owner-password and user-password (when set) based on a pdf's o-value 2021-08-20 10:16:14 +02:00
protobuf Create wallet_pb2.py 2022-09-16 21:41:44 +02:00
tc_tests
test_modules Automatic downtune problem: 2025-07-16 08:38:02 +02:00
vc_tests
aescrypt2hashcat.pl Fix some typos 2023-07-27 23:11:55 +07:00
apfs2hashcat.py Fix detection of argon2 kernel_accel_new. Ensure user-defined -n value does not exceed available memory; reduce it if necessary. On devices with unified memory (iGPU), only half of the memory is made available. 2025-07-14 11:30:21 +02:00
benchmark_deep.pl Added 'next_power_of_two()' and moved both 'next_power_of_two()' and 'previous_power_of_two()' to 'shared.c' 2025-06-25 11:21:51 +02:00
bisq2hashcat.py Fix file permissions for bisq2hashcat.py 2023-07-13 16:32:48 +00:00
bitlocker2hashcat.py Fix detection of argon2 kernel_accel_new. Ensure user-defined -n value does not exceed available memory; reduce it if necessary. On devices with unified memory (iGPU), only half of the memory is made available. 2025-07-14 11:30:21 +02:00
bitwarden2hashcat.py cleanup: remove spaces at the end of lines 2022-06-20 15:19:01 +02:00
cachedata2hashcat.py - Renamed shuffle() in inc_hash_scrypt.cl to avoid name collision with 2025-06-26 19:36:06 +02:00
cryptoloop2hashcat.py 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
exodus2hashcat.py Tool exodus2hashcat.py code cleanup 2022-10-27 18:36:49 +02:00
gitea2hashcat.py Add gitea2hashcat.py 2025-02-15 22:30:05 -05:00
install_modules.sh Automatic downtune problem: 2025-07-16 08:38:02 +02:00
keybag2hashcat.py Fix detection of argon2 kernel_accel_new. Ensure user-defined -n value does not exceed available memory; reduce it if necessary. On devices with unified memory (iGPU), only half of the memory is made available. 2025-07-14 11:30:21 +02:00
kremlin2hashcat.py Fix some file modes 2023-09-18 07:19:23 +00:00
lastpass2hashcat.py Add lastpass2hashcat.py 2022-10-24 09:31:04 +02:00
luks2hashcat.py Extract all active keys 2022-11-02 22:02:46 +01:00
metamask2hashcat.py Fix detection of argon2 kernel_accel_new. Ensure user-defined -n value does not exceed available memory; reduce it if necessary. On devices with unified memory (iGPU), only half of the memory is made available. 2025-07-14 11:30:21 +02:00
mozilla2hashcat.py make our hash extraction scripts executable 2022-05-21 11:45:48 +02:00
package_bin.sh - Handle case where system does not offer any reliable method to query actual free memory 2025-06-10 12:54:15 +02:00
radmin3_to_hashcat.pl Updated radmin3_to_hashcat.pl to support multiple users 2024-09-18 22:07:32 -04:00
recursivefiles2sha256sum.pl Add XML support for keepass keyfile and improve performance by not using chdir() 2022-08-25 20:33:10 +02:00
rules-test-cases.yaml Fix some expected values from tools/rules-test-cases.yaml 2020-06-12 08:55:36 +02:00
securenotes2hashcat.pl perl scripts: add license and chmod +x 2020-06-10 12:02:33 +02:00
shiro1-to-hashcat.py Fix detection of argon2 kernel_accel_new. Ensure user-defined -n value does not exceed available memory; reduce it if necessary. On devices with unified memory (iGPU), only half of the memory is made available. 2025-07-14 11:30:21 +02:00
sqlcipher2hashcat.pl Add additional support for SQLCipher v3 and hashes SHA1 and SHA256 and a unit-test 2021-03-26 11:36:41 +01:00
test_edge.sh Update types, modules, edge 2025-07-15 22:01:50 +02:00
test_rules.pl cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
test.pl Update edge, modules 2025-07-15 10:39:17 +02:00
test.sh Fix test.sh bugs with RC4, a6 and a7 multi 2025-05-27 18:54:35 +02:00
truecrypt2hashcat.py Tool truecrypt2hashcat.py code cleanup 2022-07-25 15:54:14 +02:00
veeamvbk2hashcat.py Added hash-mode: Veeam VBK 2023-03-01 11:35:37 +00:00
veracrypt2hashcat.py Tool veracrypt2hashcat.py code cleanup 2024-02-08 16:07:15 +01:00
virtualbox2hashcat.py make our hash extraction scripts executable 2022-05-21 11:45:48 +02:00
vmwarevmx2hashcat.py This python script presents a syntax error when executed: 2025-05-16 19:54:17 +10:00