jsteube
5633d6808f
Move hash_mode specific code which enforce the use of the JiT compiler to modules
6 years ago
jsteube
e537197184
Add module_build_plain_postprocess()
6 years ago
jsteube
0421cc6782
Add OPTS_TYPE_PT_ALWAYS_HEXIFY
6 years ago
jsteube
cfc9772e0e
Add module_hash_decode_zero_hash()
6 years ago
jsteube
3ad6fab63e
Add module_potfile_disable()
6 years ago
jsteube
da30151b70
Get rid of hash_mode in outfile_check.c
6 years ago
jsteube
6928e5bfbe
Get rid of hash_mode in outfile_check.c
6 years ago
jsteube
4028bae578
Use dynloader.c instead of dlopen() directly
6 years ago
jsteube
7e1e1d34f8
Use real dlopen() to load the module
6 years ago
jsteube
fa0b8e643d
Fix pwdump column names
6 years ago
jsteube
ac55386553
Get rid of hash_mode in selftest.c
6 years ago
jsteube
ea22065b9c
Get rid of hash_mode in user_options.c
6 years ago
jsteube
e56c5035aa
Get rid of hash_mode in wordlist.c
6 years ago
jsteube
abbfc3d10b
Get rid of hash_mode in hlfmt.c
6 years ago
jsteube
4993a85b27
Get rid of hash_mode in dictstat.c
6 years ago
jsteube
3c37daf94b
Get rid of hash_mode in autotune.c
6 years ago
jsteube
074947c6db
Get rid of hashconfig_get_kernel_threads() and hashconfig_get_kernel_loops()
6 years ago
jsteube
af22a9d1d9
Remove hashconfig_forced_kernel_threads()
6 years ago
jsteube
6e794841e3
Add default_benchmark_esalt(), default_benchmark_hook_salt(), default_benchmark_salt()
6 years ago
jsteube
e79fa9c22f
Simplify use of default functions
6 years ago
jsteube
ca169a890c
Add more global default value functions
6 years ago
jsteube
1d8c31a7e2
Add more global default value functions
6 years ago
jsteube
a4fb31e8f7
Add more global default value functions
6 years ago
jsteube
3848c73f80
Add decoder_apply_optimizer ()
...
Add encoder_apply_optimizer ()
Add decoder_apply_options ()
Add encoder_apply_options ()
6 years ago
Jens Steube
bd37903131
Add hook_size, tmp_size, hook_salt_size
6 years ago
Jens Steube
3aecd150f9
Call module_hash_encode() in ascii_digest()
6 years ago
Jens Steube
222d76f01e
Replace parse_func() with module_hash_decode()
6 years ago
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.
6 years ago
Jens Steube
0b2ffec379
Fixed selection of OpenCL devices (-d) if there's more than 32 OpenCL devices installed
6 years ago
Jens Steube
fca4f7e8a6
Prepare to use --keyboard-layout-mapping for algorithms other than TC/VC
6 years ago
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)
6 years ago
Jens Steube
ae577410d0
OpenCL Device: Do a real query on OpenCL local memory type instead of just assuming it
6 years ago
Jens Steube
5d5ac1c935
Prepare for on-the-fly keyboard layout substituations required to crack booting TrueCrypt/VeraCrypt volumes
6 years ago
Jens Steube
06b39dc3d5
Startup: Show OpenCL runtime initialization message (per device)
6 years ago
Jens Steube
a5818facf2
Brain: Set --brain-client-features default from 3 to 2
6 years ago
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
6 years ago
Jens Steube
2a366741a5
Added new option --kernel-threads to manually override the automatically calculated number of threads
6 years ago
Jens Steube
344ea5b36d
Memory: Reduced default maximum bitmap size from 24 to 18 and give a notice to use --bitmap-max to restore
6 years ago
Jens Steube
83632a83e4
Memory: Limit maximum host memory to allocate depending on bitness
6 years ago
philsmd
dbb81fb48e
fixes #1744 : added --stdin-timeout-abort to allow a custom time (in seconds) to wait before abort (use 0 to disabled it)
6 years ago
Jens Steube
d6fe2c7cd4
The hashcat brain
6 years ago
jsteube
d96b649751
Add support for -a 1 in -S mode
6 years ago
Jens Steube
a4ac370496
Test fix for plain_t in 32 bit mode
6 years ago
philsmd
73ed017daf
stdin: add read timeout checks (abort if no input for a long time)
6 years ago
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)
6 years ago
jsteube
52c52836e3
Add new option --slow-candidates which allows hashcat to generate passwords on-host
6 years ago
philsmd
0f449b6440
hcstat2: allow to use option --markov-hcstat2 instead of just --markov-hcstat
6 years ago
jsteube
067ffa9d64
Add more tracker for amplifier and iterations to status screen
6 years ago
jsteube
27db8ced7e
Add a tracker for salts, amplifier and iterations to status screen
6 years ago
jsteube
6092308324
Add sempaphore macros for later use
...
Switch from CriticalSection to regular Mutex on windows
6 years ago
jsteube
e67195aa11
Try to evaluate available OpenCL device memory and use this information instead of total available OpenCL device memory for autotune
6 years ago
jsteube
bdec457951
TrueCrypt/VeraCrypt cracking: Do an entropy check on the TC/VC header on start
6 years ago
jsteube
c1ebfe486f
Refactor --progress-only and --speed-only calculation
6 years ago
jsteube
cc8fa3ee80
Remove TOKEN_ATTR_TERMINATE_STRING from input_tokenizer() and replace with equalivalent code where it's needed
6 years ago
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()
6 years ago
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
6 years ago
jsteube
82457d2904
Fixed a missing check for errors on OpenCL device leading to invalid removal of restore file
6 years ago
jsteube
384fe1ba15
Add support for multiple valid signatures in input_tokenizer()
6 years ago
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()
6 years ago
jsteube
f574cbc88a
the following parser functions have been rewritten to make use of
...
input_tokenizer()
dcc2_parse_hash()
dpapimk_parse_hash()
6 years ago
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()
6 years ago
jsteube
5f83dd8620
Convert cisco4_parse_hash() to make use of input_tokenizer()
...
Convert lm_parse_hash() to make use of input_tokenizer()
6 years ago
jsteube
2abe8caf24
Convert bcrypt_parse_hash() to make use of input_tokenizer()
...
Add more code to input_tokenizer()
6 years ago
jsteube
26dea37c9d
TEST CODE: tokenizer function in order to simplify parsing functions
6 years ago
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
6 years ago
jsteube
469fece141
OpenCL Kernels: Abort session if kernel self-test failed
6 years ago
Jens Steube
1361651730
Add OPTS_TYPE_PREFERED_THREAD marker
7 years ago
jsteube
fe4413797e
OpenCL Kernels: Use three separate comparison kernels (depending on keyver) for WPA instead of one
7 years ago
jsteube
91e522d094
Add special marker for speed only mode
7 years ago
jsteube
c4f30220a0
OpenCL Kernels: Refactored kernel thread management from native to maximum per kernel
7 years ago
Jens Steube
d38608b9bc
Add get_kernel_preferred_wgs_multiple() for future use
7 years ago
Jens Steube
1f442b5b0c
Add get_kernel_local_mem_size() for future use
7 years ago
Jens Steube
d656e9c3a4
OpenCL Kernels: Use the kernel local buffer size as additional reference in order to limit the thread-count
7 years ago
Jens Steube
9b1e66d87c
Fixed a race condition in combinator- and hybrid-mode where the same scratch buffer was used by multiple threads
7 years ago
jsteube
05a01d3843
fix some datatypes
7 years ago
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
7 years ago
jsteube
11b18512c7
Terminal: Add workitem settings to status display (can be handy for debugging)
7 years ago
Jens Steube
7062425d2b
OpenCL Kernels: Use a special kernel to initialize the password buffer used during autotune measurements to reduce startup time
7 years ago
jsteube
0796c074c3
Added -m 16500 Kernels
...
Also changed function declaration of parser function from const hashconfig_t to just hashconfig_t
7 years ago
Gabriele Gristina
03fab4a345
Fix clock_gettime() on OSX (v2)
7 years ago
Jens Steube
c41af948ba
Merge pull request #1471 from neheb/32to64
...
remove special time handling in hashcat.
7 years ago
jsteube
bbe9b723e1
Timer: Switch from gettimeofday() to clock_gettime() to workaround problems on cygwin
7 years ago
Rosen Penev
1c5915cae3
remove special time handling in hashcat.
...
There's a way to get 64-bit time_t and 64-bit stat in MinGW, so use that.
7 years ago
jsteube
494c2724f5
Add some types for later use
7 years ago
jsteube
ea795ef5ab
Move out code to check for hashfile or hash on commandline into dedicated function
7 years ago
jsteube
1184ae1cdd
Added option --benchmark-all to benchmark all hash-modes not just the default selection
7 years ago
jsteube
b864fa5ba7
Removed option --gpu-temp-retain that tried to retain GPU temperature at X degrees celsius, please use driver specific tools
...
Removed option --powertune-enable to enable power tuning, please use driver specific tools
7 years ago
Rosen Penev
353d3c3008
Fix a bunch of cast-qual warnings
7 years ago
Rosen Penev
8458f07a57
Replace char[] with *char
...
The latter is more correct. The side effect is that filesize becomes smaller.
gcc clang
before
O2
756112 762120
Os
674192 680216
after
O2
748456 760728
Os
666536 674728
7 years ago
jsteube
635b2bfd50
Do initial OpenCL device thread management a bit different
7 years ago
philsmd
276879b1ea
show/left: improve speed of --show/--left again by using a single malloc/free for all nodes and reduce RAM by using the first nodes hash information
7 years ago
philsmd
433513a47f
get rid of last_node in pot_tree_entry, we update the first node of the list instead of the last one
7 years ago
philsmd
6542331101
show/left: improved the performance by using a tree and linked node structure
7 years ago
jsteube
2517292ac1
Removed option --weak-hash-check (zero-length password check) to increase startup time, it also causes many Trap 6 error on OSX
7 years ago
jsteube
7a278ef035
Fix overflow in out_push()
7 years ago
jsteube
5551337cf6
Show advice to use optimized kernels only if there's actually one for this hash-mode
7 years ago
Jens Steube
fcd20fbacb
OpenCL Runtime: Fall back to 64 threads default (from 256) on AMD GPU to prevent creating too many workitems
7 years ago
jsteube
688a580d6c
Fixed an integer overflow in innerloop_step and innerloop_cnt variables
7 years ago
jsteube
1d04de3a8e
Limit kernel-loops in straight-mode to 256, therefore allow rules to be stored in constant memory
7 years ago
jsteube
51372438fe
Allow OpenCL kernel inline assembly if ROCm drivers was detected
7 years ago
jsteube
12d95fd22c
Added option --example-hashes to show an example hash for each hash-mode
7 years ago
jsteube
58d1dedd1e
OpenCL Buffers: Do not allocate memory for amplifiers for fast hashes, it's simply not needed
7 years ago
jsteube
319799bbbf
Switch the datatypes of the variables responsible for work-item count and work-item size from u32 to u64
7 years ago
philsmd
e33e828bc6
replace all time_t/__time64_t with hc_time_t and all related functions
7 years ago
philsmd
1644ac30b5
use an overflow check instead of a hard coded value for ETA
7 years ago
jsteube
ac9bc55c9e
Fall back to 64 threads default (from 256) because modern GPU create too many workitems which then results in too less GPU memory available
7 years ago
jsteube
1cf6a078b0
Make tmp_size a real size_t as with latest GPU number can exceed 2^32
7 years ago
philsmd
bc1a101d2b
fixes #1321 : new option --wordlist-autohex-disable
7 years ago
jsteube
b847bbb274
Fix calculation of device_name_chksum; should be done for each iteration
7 years ago
jsteube
beb6ee2061
Add OPTI_TYPE_OPTIMIZED_KERNEL
...
Rename unconverted fast hash kernels to optimized kernels
Finalize some converted fast hashes to default kernels
7 years ago
jsteube
fbea72ebd6
Renamed default kernels to optimized kernels
...
Renamed pure kernels to default kernels
Replaced long option --length-limit-disable with --optimized-kernel-enable
Replaced short option -L with -O
Set --optimized-kernel-enable to unset by default
7 years ago
jsteube
967d7b9323
Rename SALT_TYPE_INTERN to SALT_TYPE_GENERIC
7 years ago
jsteube
f70da8a04c
Increase salt length for salt of generic hash types
...
Remove --hex-salt support for non-generic hash types
7 years ago
jsteube
f7a8e7c54b
Multiple changes:
...
* Added more preparations to support to crack passwords and salts up to length 256
* Added option --length-limit-disable to disable optimization based on password- and salt-length
* Added option --self-test-disable to disable self-test functionality on startup
7 years ago
jsteube
c918173fcf
Get rid of comb_t which can be safely replace with pw_t now
7 years ago
jsteube
4174f06008
PoC using a length-independant MD4 hash processing in -m 2100
7 years ago
jsteube
a673aee037
Very hot commit, continue reading here:
...
This is a test commit using buffers large enough to handle both passwords and salts up to length 256.
It requires changes to the kernel code, which is not included in here.
It also requires some of the host code to be modified. Before we're going to modify kernel code to support the larger lengths I want to be
sure of:
1. Host code modification is ok (no overflows or underflows)
2. Passwords and Salts are printed correctly to status, outfile, show, left, etc.
3. Performance does not change (or only very minimal)
This is not a patch that supports actual cracking both passwords and salts up to length 256, but it can not fail anyway.
If if it does, there's no reason to continue to add support for both passwords and salts up to length 256.
7 years ago
jsteube
94a35ae50a
Add support for hooks in selftest function
7 years ago
Jens Steube
08fc0ec1fb
Added self-test funcionality for OpenCL kernels on startup
...
Fixed a parser error for mode -m 9820 = MS Office <= 2003 $3, SHA1 + RC4, collider #2
7 years ago
jsteube
b8ad89c529
Rename function and variables containing 'unicode' to 'utf16le' because that's what's meant actually
7 years ago
jsteube
018bb208d9
Refactor OPTS_TYPE_PT_UNICODE -> OPTS_TYPE_PT_UNICODE_LE and add OPTS_TYPE_PT_UNICODE_BE
7 years ago
Jens Steube
6345fb53f9
Add missing struct names
7 years ago
Jens Steube
2a1fe6962d
Move blake2_t and chacha20_t to interface.h
7 years ago
jsteube
ef33544bfa
Show time spent for dictionary cache building on startup
7 years ago
Jens Steube
5611d7f950
Merge pull request #1256 from 0xbsec/reject_unless_equal
...
Add support for rejection rule _N
7 years ago
DoZ10
62df9648d6
Removed unused structure
7 years ago
DoZ10
556e64ffe6
Revert "Removed unused structure"
...
This reverts commit e7dab5d210
.
7 years ago
DoZ10
e7dab5d210
Removed unused structure
7 years ago
mhasbini
1330424079
Add support for rejection rule _N
7 years ago
Jens Steube
f2ad095191
Merge pull request #1237 from DoZ10/master
...
New algorithm: Chacha20
7 years ago
DoZ10
cfc3fa64c0
Implemented offset parameter to reach full ks block of 64 bytes
7 years ago
mhasbini
be0dec621a
Add support for rule position 'p' in host mode
7 years ago
DoZ10
9dee1d274d
Removed plain_length parameter and copied esalt buffer to salt ofr sorting mechanism.
7 years ago
DoZ10
c50e8bc486
Fixed position parameters. Tested all kernels. Ok.
7 years ago
DoZ10
f6cd42352d
CPU parsing mostly done. Kernel showing good values.
7 years ago
DoZ10
152f0b5152
Init work on Chacha20
7 years ago
Jens Steube
b924901bb0
Merge pull request #1226 from DoZ10/master
...
Blake2b raw hash implementation
7 years ago
DoZ10
9d0855c02f
Fixed interface.c to remove XORing madness and blake2_t naming convention
7 years ago
DoZ10
87e0281237
Moved init params in CPU (interface.c). Fixed vector-type problem in kernel a0.
7 years ago
mhasbini
5734741392
Add support for rule: eX
7 years ago
Jens Steube
086a07264a
Switch from libiconv to win-iconv
7 years ago
Jens Steube
7cabb848d2
Wordlist encoding: Support added for internal convert from and to user-defined encoding during runtime
...
Wordlist encoding: Added parameters --encoding-from and --encoding-to to configure wordlist encoding handling
Dictstat: Structure for dictstat file changed as it has to include --encoding-from and --encoding-to parameter now
8 years ago
sgroat
21efc80975
fix string
8 years ago
jsteube
26949a4fce
WPA cracking: Improved nonce-error-corrections mode to fix corrupt nonce generated on Big-Endian devices
...
WPA cracking: Reduced --nonce-error-corrections default from 16 to 8 to compensate speed drop caused due to Big-Endian fixes
Fixes https://github.com/hashcat/hashcat/issues/1221
8 years ago
jsteube
368f8b39bc
Add function to distinguish between warning and advice messages
8 years ago
jsteube
e933d12838
Rename Input.Mode, Input.Base, ... to Guess.Mode, Guess.Base, ...
8 years ago
jsteube
d1b2fa0b31
Added hash-mode 15100 = Juniper/NetBSD sha1crypt
8 years ago
jsteube
c04dd5c8b1
WPA cracking: Added support for WPA/WPA2 handshake AP nonce automatic error correction
...
WPA cracking: Added parameter --nonce-error-corrections to configure range of error correction
8 years ago
Jens Steube
e82ce9243d
Added support for filtering hccapx message pairs using --hccapx-message-pair
8 years ago
Rosen Penev
4ceb7a1afa
Prefer _WIN to _POSIX for defines.
...
Also miscellaneous fixes here and there.
8 years ago