1
0
mirror of https://github.com/hashcat/hashcat.git synced 2025-07-30 10:28:41 +00:00
Commit Graph

45 Commits

Author SHA1 Message Date
Jens Steube
d7fb2ffa06 Fixed both a false positive and a false negative in -m 21800. Previously,
only the first hash in a multihash list was marked as cracked, regardless
of which hash was actually cracked. For example, if the second hash was
cracked, it incorrectly marked the first as cracked and left the second
uncracked. This issue only affected beta versions and only in multihash
cracking mode.

Added deep-comp kernel support for Kerberos modes 28800 and 28900,
enabling multihash cracking for the same user in the same domain, even if
the password was changed or the recording was bad.

Added a rule ensuring that device buffer sizes for password candidates,
hooks, and transport (tmps) must be smaller than 1/4 of the maximum
allocatable memory. If not, hashcat now automatically reduces kernel-accel
down to 1, then halves the number of threads and restores kernel-accel up
to its maximum, repeating until the size requirement is met.

Fixed salt length limit verification for -m 20712.

Fixed password length limit for -m 14400.

Fixed unit test salt generator for -m 21100, which could produce duplicate
hashes under certain conditions.

Added the OPTS_TYPE_NATIVE_THREADS flag to the following hash modes
(after benchmarking): 7700, 7701, 9000, 1375x, 1376x, 14800, 19500, 23900.
2025-07-11 15:02:58 +02:00
Jens Steube
9457c62ef0 Removed redundant casts in inc_hash_blake2b.cl and inc_hash_blake2s.cl.
Fixed parameter types in inc_hash_blake2b.cl and inc_hash_blake2s.cl for FINAL value.
Added kernel code for -m 15400 to s04/s08/m04/m08, even if not needed, to help autotune find optimal workitem settings.
Fixed a rare autotune case (e.g. in mode 18600) where threads_min was not a multiple of kernel_preferred_wgs_multiple, and changes it so that as long as it only threads_min is affected and not threads_max, we now ensure at least kernel_preferred_wgs_multiple.
Improved autotune logic for best thread count: double thread count until reaching the device's preferred multiple, then increase in steps of that multiple while comparing efficiency vs. runtime, and select the configuration with best efficiency, not highest thread count.
Always set funnelshift support to true for HIP devices, as it always reports false.
Set minimum loop count to 250 for all VeraCrypt modes with PIM brute-force support.
2025-07-05 19:44:31 +02:00
Jens Steube
0c2ed0d199 Update plugins that benefit from an artificially limited register count (NVIDIA).
Update default hash settings to 64MiB:3:4 for Argon2 in -m 70000, following RFC 9106 recommendations.
Add option OPTS_TYPE_THREAD_MULTI_DISABLE: allows plugin developers to disable scaling the password candidate batch size based on device thread count. This can be useful for super slow hash algorithms that utilize threads differently, e.g., when the algorithm allows parallelization. Note: thread count for the device can still be set normally.
Add options OPTI_TYPE_SLOW_HASH_DIMY_INIT/LOOP/COMP: enable 2D launches for slow hash init/loop/comp kernel with dimensions X and Y. The Y value must be set via salt->salt_dimy attribute.
Change autotune kernel-loops start value to the lowest multiple of the target hash iteration count, if kernel_loops_min permits.
Fixed a bug in autotune where kernel_threads_max was not respected during initial init and loop-prepare kernel runs.
2025-06-29 14:39:14 +02:00
Jens Steube
ceb5ff5641 The Assimilation Bridge (Framework) 2025-05-29 15:38:13 +02:00
Gabriele Gristina
003579d21b Modules: Updated module_unstable_warning 2025-05-11 15:40:52 +02:00
Rosen Penev
795674c939 fix some const-qual warnings
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-08-20 20:55:54 -07:00
Jens Steube
8a82c75a99 macOS 13.0 fixed many issues in the OpenCL API. The module_unstable_warning() functions in many hash modes can then be removed 2022-11-20 12:21:41 +01:00
philsmd
d9749e8799
change interface, add module_benchmark_charset () 2022-07-15 17:17:57 +02:00
Konrad Goławski
b00ea483af New VeraCrypt modules 2022-06-07 23:01:03 +02:00
Konrad Goławski
fa78439181 VeraCrypt modules changes 2022-06-07 22:27:26 +02:00
Jens Steube
6fce6fb3ff Update all existing modules to use the stock module marker 2022-04-08 14:11:50 +02:00
Gabriele Gristina
490702fcfa Backends: added Metal host-code 2022-02-05 22:48:16 +01:00
Jens Steube
5b4ac09e91 User Options: Add new module function module_hash_decode_postprocess() to override hash specific configurations from command line 2021-11-28 13:58:27 +01:00
Jens Steube
01738fafa0 Deprecated Plugins: Add new module function module_deprecated_notice() to mark a plugin as deprecated and to return a free text user notice
Added option --deprecated-check-disable to enable deprecated plugins
2021-08-10 17:59:52 +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
Jens Steube
7c5fe5e233 Slow Kernels: Set some of the slowest kernels to OPTS_TYPE_MP_MULTI_DISABLE 2021-07-20 12:47:40 +02:00
Jens Steube
62397283c1 VeraCrypt: Increase password length support for non-boot volumes from 64 to 128.
See https://github.com/hashcat/hashcat/issues/2616 for details.
2021-06-17 09:45:30 +02:00
Jens Steube
282eb75fe9 Update module_unstable_warning for benchmark long selection on macOS for CPU and GPU; Allow use of GPU without --force testwise 2021-05-10 19:57:56 +02:00
Jens Steube
98aef2ae92 Module Structure: Add 3rd party library hook management functions. This also requires an update to all existing module_init() 2020-08-29 16:12:15 +02:00
Jens Steube
4aaec30ada
Merge pull request #2404 from philsmd/master
use our safe free () wrapper hcfree whenever possible
2020-06-02 12:34:19 +02:00
Jens Steube
84d3981e7b Add returncode PARSER_HAVE_ERRNO as a valid returncode from module_hash_binary_count() and module_hash_binary_parse() module hooks. You can use this in case fopen() fails and you want to transport back the original error from the OS 2020-05-27 15:23:02 +02:00
philsmd
d1c3274965
use our safe free () wrapper hcfree whenever possible 2020-05-14 19:21:59 +02:00
Jens Steube
3ce3ecedd9 Reenable VeraCrypt on ROCM 2020-02-20 16:09:41 +01:00
Jens Steube
d9473358ef Add support for OPTS_TYPE_LOOP_EXTENDED kernel for special cases like VeraCrypt 2020-02-20 16:00:21 +01:00
Jens Steube
f946e321a9 Update unroll and unstable configuration for NVIDIA CUDA/OpenCL runtime after unroll whitelisting change 2020-02-15 16:17:05 +01:00
Jens Steube
c90d83c3eb Prepare for UNROLL whitelisting 2020-02-15 12:44:12 +01:00
Jens Steube
4ed18af14c Make VeraCrypt PIM configuration mechanism easier to read 2020-02-08 12:24:47 +01:00
Jens Steube
42b3ef7b90 Mark -m 137xx as unstable on rocm 2020-01-25 11:26:34 +01:00
Gabriele Gristina
3161aec3da fix the comments :) 2019-07-01 17:27:08 +02:00
Gabriele Gristina
5679ca3344 Rewrite hc_fopen to better handling file descriptor locking/unlocking functions, saving kernels binary from plain to gzip format 2019-07-01 01:30:24 +02:00
Gabriele Gristina
481c752456 No more compress functions, update example.dict.gz, remove some comments 2019-06-27 20:18:47 +02:00
Gabriele Gristina
398c89c75c switch almost all FILE ops, potfile is the only missing 2019-06-26 19:06:46 +02:00
Gabriele Gristina
b2529af172 remove original commented code 2019-06-22 15:00:50 +02:00
Gabriele Gristina
6cb4abd526 Add zlib support v2 2019-06-21 21:56:38 +02:00
Jens Steube
1abdecfa6c Some more ROCm performance tuning 2019-06-20 09:27:00 +02:00
Jens Steube
f1632b933e Add support to configure hash-mode specific range of number of hashes supported 2019-05-19 14:46:05 +02:00
jsteube
b8d609ba16 WPA/WPA2 cracking: In the potfile, replace password with PMK in order to detect already cracked networks across all WPA modes 2019-04-02 11:24:22 +02:00
jsteube
c0a31b3239 Prepare potfile specific module_hash_decode and module_hash_encode hooks 2019-04-01 12:32:11 +02:00
jsteube
f9110c6863 Fix calculation of brute forced PIM 2019-03-30 17:03:06 +01:00
jsteube
d80603648e Replace plain_t with void in module_build_plain_postprocess() enables some options 2019-03-30 16:32:11 +01:00
jsteube
218322f630 Support for inline VeraCrypt PIM Brute-Force 2019-03-15 21:48:49 +01:00
jsteube
88a051629c Support module specific JiT compiler build options 2019-03-02 11:12:13 +01:00
jsteube
b01038b8f4 Allow module_hash_encode() to be set to MODULE_DEFAULT if OPTS_TYPE_BINARY_HASHFILE is set. In that case return hashfile name 2019-02-22 07:00:34 +01:00
jsteube
bab735b367 Get rid of hash_type variable. This hopefully reduces some confusion for new hashcat kernel developers 2019-02-12 16:02:27 +01:00
jsteube
c9e796fcf0 Add some more modules converted 2019-02-08 13:00:40 +01:00