Jens Steube
55add7c60e
The goal of this branch to develop a plugin like interface for hashcat kernels.
...
The modification of existing core source files to add new hashcat kernels conflicts with the idea of having private hashcat kernel repositories especially when backporting latest hashcat core changes and new features.
The final outcome of this should be a plugin format that does not require modifications on the core soruce files.
Also convert all existing hash-modes to hashcat modules.
We'll start with dynamic loading the modules at runtime rather than linking them at compile time.
This will require some extra code for different OS types but should beneficial on a long term.
This commit add some first ideas of how such modules could look like, however there's no dynamic loading interface yet.
Next steps will be removing all hash-mode depending special code from source files and move them to the modules.
Finally merge with master.
2018-12-06 14:02:10 +01:00
Jens Steube
0b2ffec379
Fixed selection of OpenCL devices (-d) if there's more than 32 OpenCL devices installed
2018-11-30 22:59:43 +01:00
Jens Steube
fca4f7e8a6
Prepare to use --keyboard-layout-mapping for algorithms other than TC/VC
2018-11-25 18:21:07 +01:00
Jens Steube
e770449702
OpenCL Runtime: Use our own yielding technique for synchronizing rather than vendor specific
...
Parameter: Rename --nvidia-spin-damp to --spin-damp (now accessible for all devices)
2018-11-20 12:32:24 +01:00
Jens Steube
ae577410d0
OpenCL Device: Do a real query on OpenCL local memory type instead of just assuming it
2018-11-20 10:06:34 +01:00
Jens Steube
5d5ac1c935
Prepare for on-the-fly keyboard layout substituations required to crack booting TrueCrypt/VeraCrypt volumes
2018-11-15 14:35:51 +01:00
Jens Steube
06b39dc3d5
Startup: Show OpenCL runtime initialization message (per device)
2018-11-12 20:45:05 +01:00
Jens Steube
a5818facf2
Brain: Set --brain-client-features default from 3 to 2
2018-11-11 10:13:38 +01:00
Jens Steube
2aff01b20e
Hardware Monitor: Renamed --gpu-temp-abort to --hwmon-temp-abort
...
Hardware Monitor: Renamed --gpu-temp-disable to --hwmon-disable
Fixed invalid warnings about throttling in case --hwmon-disable was used
Fixes https://github.com/hashcat/hashcat/issues/1757
2018-11-09 12:48:27 +01:00
Jens Steube
2a366741a5
Added new option --kernel-threads to manually override the automatically calculated number of threads
2018-11-06 16:06:06 +01:00
Jens Steube
344ea5b36d
Memory: Reduced default maximum bitmap size from 24 to 18 and give a notice to use --bitmap-max to restore
2018-11-04 10:07:45 +01:00
Jens Steube
83632a83e4
Memory: Limit maximum host memory to allocate depending on bitness
2018-11-03 18:16:49 +01:00
philsmd
dbb81fb48e
fixes #1744 : added --stdin-timeout-abort to allow a custom time (in seconds) to wait before abort (use 0 to disabled it)
2018-10-31 11:37:06 +01:00
Jens Steube
d6fe2c7cd4
The hashcat brain
2018-10-28 16:47:13 +01:00
jsteube
d96b649751
Add support for -a 1 in -S mode
2018-10-20 18:00:42 +02:00
Jens Steube
a4ac370496
Test fix for plain_t in 32 bit mode
2018-10-20 09:46:24 +02:00
philsmd
73ed017daf
stdin: add read timeout checks (abort if no input for a long time)
2018-10-17 10:55:47 +02:00
R. Yushaev
5c87720acc
Add SHA3 and Keccak
...
The previous hash-mode 5000 covered Keccak-256 only. FIPS changed one
padding byte while adopting Keccak as the SHA3 standard, which gives us
different digests. Now we have separate kernels for SHA3 and Keccak.
- Added hash-mode 17300 = SHA3-224
- Added hash-mode 17400 = SHA3-256
- Added hash-mode 17500 = SHA3-384
- Added hash-mode 17600 = SHA3-512
- Added hash-mode 17700 = Keccak-224
- Added hash-mode 17800 = Keccak-256
- Added hash-mode 17900 = Keccak-384
- Added hash-mode 18000 = Keccak-512
- Removed hash-mode 5000 = SHA-3 (Keccak)
2018-10-15 16:06:31 +02:00
jsteube
52c52836e3
Add new option --slow-candidates which allows hashcat to generate passwords on-host
2018-09-01 12:31:17 +02:00
philsmd
0f449b6440
hcstat2: allow to use option --markov-hcstat2 instead of just --markov-hcstat
2018-08-23 09:10:54 +02:00
jsteube
067ffa9d64
Add more tracker for amplifier and iterations to status screen
2018-08-18 02:17:42 +02:00
jsteube
27db8ced7e
Add a tracker for salts, amplifier and iterations to status screen
2018-08-18 01:41:07 +02:00
jsteube
6092308324
Add sempaphore macros for later use
...
Switch from CriticalSection to regular Mutex on windows
2018-08-16 14:57:10 +02:00
jsteube
e67195aa11
Try to evaluate available OpenCL device memory and use this information instead of total available OpenCL device memory for autotune
2018-08-05 23:29:54 +02:00
jsteube
bdec457951
TrueCrypt/VeraCrypt cracking: Do an entropy check on the TC/VC header on start
2018-07-31 16:18:45 +02:00
jsteube
c1ebfe486f
Refactor --progress-only and --speed-only calculation
2018-07-31 14:41:25 +02:00
jsteube
cc8fa3ee80
Remove TOKEN_ATTR_TERMINATE_STRING from input_tokenizer() and replace with equalivalent code where it's needed
2018-07-24 13:55:23 +02:00
jsteube
048298020e
All remaining parser functions have been rewritten to make use of input_tokenizer():
...
chacha20_parse_hash
crammd5_dovecot_parse_hash
electrum_wallet13_parse_hash
ethereum_pbkdf2_parse_hash
ethereum_presale_parse_hash
ethereum_scrypt_parse_hash
filevault2_parse_hash
filezilla_server_parse_hash
jks_sha1_parse_hash
jwt_parse_hash
mywalletv2_parse_hash
netbsd_sha1crypt_parse_hash
plaintext_parse_hash
tacacs_plus_parse_hash
tripcode_parse_hash
Removed old generic salt parser function parse_and_store_salt()
2018-07-20 11:00:39 +02:00
jsteube
230ec5e004
Add TOKEN_ATTR_TERMINATE_STRING feature to input_tokenizer()
...
The following parser functions have been rewritten to make use of input_tokenizer():
bitcoin_wallet_parse_hash
sip_auth_parse_hash
crc32_parse_hash
oraclet_parse_hash
seven_zip_parse_hash
2018-07-15 18:10:04 +02:00
jsteube
82457d2904
Fixed a missing check for errors on OpenCL device leading to invalid removal of restore file
2018-07-10 13:17:07 +02:00
jsteube
384fe1ba15
Add support for multiple valid signatures in input_tokenizer()
2018-06-30 10:39:28 +02:00
jsteube
9196f1ba55
Added rounds_count_length() function to detect optional rounds=
...
substring in *crypt hashes
The following parser functions have been rewritten to make use of
input_tokenizer():
phpass_parse_hash()
md5crypt_parse_hash()
md5apr1_parse_hash()
episerver_parse_hash()
2018-06-27 11:12:35 +02:00
jsteube
f574cbc88a
the following parser functions have been rewritten to make use of
...
input_tokenizer()
dcc2_parse_hash()
dpapimk_parse_hash()
2018-06-26 12:32:58 +02:00
jsteube
50824a24c6
Rewrite parse_and_store_salt from scratch and rename original to parse_and_store_salt_legacy() for migration phase
...
Rewrite several *_parse_hash() functions to use parse_and_store_generic_salt()
2018-06-25 11:36:09 +02:00
jsteube
5f83dd8620
Convert cisco4_parse_hash() to make use of input_tokenizer()
...
Convert lm_parse_hash() to make use of input_tokenizer()
2018-06-24 14:04:05 +02:00
jsteube
2abe8caf24
Convert bcrypt_parse_hash() to make use of input_tokenizer()
...
Add more code to input_tokenizer()
2018-06-23 22:32:49 +02:00
jsteube
26dea37c9d
TEST CODE: tokenizer function in order to simplify parsing functions
2018-06-23 16:00:49 +02:00
jsteube
547025ec47
HCCAPX management: Use advanced hints in message_pair stored by hcxtools about endian bitness of replay counter
...
Fixed missing code section in -m 2500 and -m 2501 to crack corrupted handshakes with a LE endian bitness base
2018-06-15 17:00:41 +02:00
jsteube
469fece141
OpenCL Kernels: Abort session if kernel self-test failed
2018-06-13 12:22:54 +02:00
Jens Steube
1361651730
Add OPTS_TYPE_PREFERED_THREAD marker
2018-02-13 10:27:43 +01:00
jsteube
fe4413797e
OpenCL Kernels: Use three separate comparison kernels (depending on keyver) for WPA instead of one
2018-02-13 09:13:35 +01:00
jsteube
91e522d094
Add special marker for speed only mode
2018-02-12 09:41:46 +01:00
jsteube
c4f30220a0
OpenCL Kernels: Refactored kernel thread management from native to maximum per kernel
2018-02-11 21:29:57 +01:00
Jens Steube
d38608b9bc
Add get_kernel_preferred_wgs_multiple() for future use
2018-02-11 16:22:24 +01:00
Jens Steube
1f442b5b0c
Add get_kernel_local_mem_size() for future use
2018-02-11 16:09:50 +01:00
Jens Steube
d656e9c3a4
OpenCL Kernels: Use the kernel local buffer size as additional reference in order to limit the thread-count
2018-02-11 10:56:08 +01:00
Jens Steube
9b1e66d87c
Fixed a race condition in combinator- and hybrid-mode where the same scratch buffer was used by multiple threads
2018-02-09 09:50:13 +01:00
jsteube
05a01d3843
fix some datatypes
2018-02-08 19:13:29 +01:00
jsteube
a3a16f676f
OpenCL Kernels: Add a decompressing kernel and a compressing host code in order to reduce PCIe transfer time
...
For details see https://hashcat.net/forum/thread-7267.html
2018-02-05 17:18:58 +01:00
jsteube
11b18512c7
Terminal: Add workitem settings to status display (can be handy for debugging)
2018-02-02 23:22:21 +01:00