1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-11-23 00:28:11 +00:00
Commit Graph

944 Commits

Author SHA1 Message Date
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
jsteube
a7a15df911 OpenCL Kernels: Improve performance preview accuracy in --benchmark, --speed-only and --progress-only mode 2018-02-10 20:44:13 +01:00
jsteube
088c45040b Remove some redundant constants 2018-02-09 10:48:19 +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
bd9c17e49a Add some missing function declarations 2018-02-06 13:06:10 +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
Jens Steube
fb00b528c4 Improve autotune and synchronize results on same OpenCL devices 2018-02-03 13:49:39 +01:00
jsteube
11b18512c7 Terminal: Add workitem settings to status display (can be handy for debugging) 2018-02-02 23:22:21 +01:00
jsteube
553668bb9f Added hash-mode 16600 = Electrum Wallet (Salt-Type 1-3) 2018-01-25 15:28:21 +01:00
Jens Steube
7062425d2b OpenCL Kernels: Use a special kernel to initialize the password buffer used during autotune measurements to reduce startup time 2018-01-23 20:33:26 +01:00
jsteube
7a8239b4c1 Fixed the maximum password length check in password reassembling function
Fixes #1492
2018-01-22 18:59:46 +01:00
jsteube
ce0cee0ac4 Stick to original JWT format from jwt.io 2018-01-21 19:57:24 +01:00
jsteube
0796c074c3 Added -m 16500 Kernels
Also changed function declaration of parser function from const hashconfig_t to just hashconfig_t
2018-01-21 18:53:55 +01:00
jsteube
ee9ec0f9a7 Add JWT esalt datatype 2018-01-21 15:32:37 +01:00
Jens Steube
bb806d777e
Merge pull request #1493 from mohemiv/master
added -m 16400 = CRAM-MD5 Dovecot
2018-01-19 10:13:46 +01:00
Arseniy Sharoglazov
928cf471fb The hash-mode for "CRAM-MD5 Dovecot" changed from 10201 to 16400 2018-01-17 11:25:21 +03:00
Arseniy Sharoglazov
798f05355f added -m 10201 = CRAM-MD5 Dovecot 2018-01-15 15:52:52 +03:00
Gabriele Gristina
03fab4a345 Fix clock_gettime() on OSX (v2) 2018-01-11 02:41:16 +01:00
Gabriele Gristina
43ce4f6135 Add checks for clock_gettime() support in Makefile 2017-12-26 14:09:30 +01:00
Gabriele Gristina
4f8343b8b1 Fix clock_gettime() on OSX 2017-12-26 13:49:17 +01:00
philsmd
bf656774bb
fixes #1279: added -m 16300 = Ethereum Pre-Sale Wallet, PBKDF2-HMAC-SHA256 2017-12-20 11:41:46 +01:00
jsteube
838a71637a Remove fixed iteration count for apple secure notes 2017-12-17 23:29:02 +01:00
jsteube
458fbcbce4 Merge branch 'master' of https://github.com/hashcat/hashcat 2017-12-13 12:40:31 +01:00
jsteube
d9c5c42966 Rename $SN$ signature to $ASN$ for apple secure notes 2017-12-13 12:36:01 +01:00
jsteube
0d89ddfcd9 Finish adding hash-mode 16200 = Apple Secure Notes 2017-12-13 12:32:38 +01:00
Rosen Penev
aece2cc4be Get rid of hc_ctime too. Also fix some cppcheck confusion with nvapi.
Missed from last pull request.
2017-12-11 13:44:58 -08:00
Jens Steube
c41af948ba
Merge pull request #1471 from neheb/32to64
remove special time handling in hashcat.
2017-12-11 16:27:00 +01:00
jsteube
bbe9b723e1 Timer: Switch from gettimeofday() to clock_gettime() to workaround problems on cygwin 2017-12-10 14:02:43 +01:00
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.
2017-12-09 16:40:45 -08:00
jsteube
494c2724f5 Add some types for later use 2017-12-09 21:39:10 +01:00
jsteube
ea795ef5ab Move out code to check for hashfile or hash on commandline into dedicated function 2017-12-06 16:12:34 +01:00
jsteube
1184ae1cdd Added option --benchmark-all to benchmark all hash-modes not just the default selection 2017-12-05 11:08:59 +01:00
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
2017-12-01 15:19:10 +01:00
jsteube
5847067c96 First working -m 16100 kernel 2017-11-29 17:00:14 +01:00
jsteube
04a30e6071 Show [r]esume in prompt in pause mode only and show [p]ause in prompt in resume mode only
Fixes https://github.com/hashcat/hashcat/issues/1459
2017-11-26 10:50:22 +01:00
philsmd
ef6b20cc30
increase HCBUFSIZ_LARGE and truncate too large strings when copied to old_buf in events 2017-11-18 12:18:56 +01:00
Rosen Penev
353d3c3008 Fix a bunch of cast-qual warnings 2017-11-13 20:46:26 -08:00
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
2017-11-13 12:12:44 -08:00
Jens Steube
5fa91ddbec
Merge pull request #1438 from Duncaen/musl
use fallback qsort implementation on linux systems without glibc
2017-11-13 09:06:34 +01:00
jsteube
1b312d14fd Added hash-mode 16000 = Tripcode 2017-11-11 14:44:56 +01:00
Duncaen
24b8a838d4 use fallback qsort implementation on linux systems without glibc 2017-11-11 04:30:44 +01:00
jsteube
a5c79de43b Update LZMA SDK files to latest (2017-08-28, 17.01 beta) 2017-11-07 12:27:27 +01:00
Jens Steube
b3b5f924dc
Merge pull request #1426 from neheb/patch-4
Fix clang compile under MSYS2
2017-11-05 12:00:16 +01:00
Rosen Penev
1fe16d3ee6
Fix clang compile under MSYS2
Clang does not define __WINNT__ under Windows. _WIN32 is the closest thing.
2017-11-04 23:50:00 -07:00
Rosen Penev
0555613305 Remove else statement after return
Suggested by clang tidy
2017-11-04 23:43:33 -07:00
Rosen Penev
496fc309fe Add const to a few parameters.
Suggested by clang-tidy
2017-11-04 23:37:41 -07:00
Rosen Penev
707f28c723
partially fix compile for musl 2017-10-30 20:16:54 -07:00
philsmd
19504d6286
add missing function prototypes for the binary-search-tree-based pot sorting 2017-10-25 12:31:17 +02:00
Jens Steube
9568837b12 Revert "Replace PRIu64 with ju. Less verbose." 2017-10-20 12:19:33 +02:00
jsteube
980f04a7b6 Rename instances of OSX to MacOS 2017-10-20 11:58:31 +02:00
jsteube
bf112870a3 OpenCL Runtime: Improved detection for AMD and NV devices on OSX 2017-10-20 11:34:36 +02:00
jsteube
2e85972ec5 Add special detection for NVIDIA OpenCL devices on OSX 2017-10-20 08:39:23 +02:00
Rosen Penev
869b5fb522 Replace PRIu64 with ju. Less verbose. 2017-10-19 19:35:18 -07:00
jsteube
635b2bfd50 Do initial OpenCL device thread management a bit different 2017-10-19 14:54:03 +02:00
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 2017-10-18 12:09:32 +02:00
philsmd
433513a47f
get rid of last_node in pot_tree_entry, we update the first node of the list instead of the last one 2017-10-18 08:54:21 +02:00
philsmd
6542331101
show/left: improved the performance by using a tree and linked node structure 2017-10-17 12:08:17 +02:00
jsteube
51aba5517f Update some of the visual indicator of active options when benchmarking 2017-10-14 12:54:34 +02:00
jsteube
5e6d43107e Startup: Check and abort session if outfile and wordlist point to the same file 2017-10-10 11:30:20 +02:00
philsmd
a10a8427cb
fixed the nanosecond access time problem, also working on macos now 2017-10-04 12:23:37 +02:00
jsteube
719f2656b1 Fix empty line check in _old_apply_rule() 2017-10-01 17:03:16 +02:00
philsmd
d8e7f5f05c
fixed problem with cached word lists (dictstat2): nanoseconds must be considered/ignored too 2017-09-29 12:13:29 +02:00
Jens Steube
a037ba0c73 Merge pull request #1375 from neheb/warning
Fix for clang and some cppcheck warnings
2017-09-29 11:20:35 +02:00
Rosen Penev
da621fa3be fix some clang -Weverything warnings 2017-09-27 20:05:04 -07:00
Rosen Penev
ec55209254 remove hc_sleep and _msec.
MinGW defines sleep and usleep so just use those directly.
2017-09-23 13:02:34 -07:00
Fist0urs
e3cb3e9b4c test.pl ready and 0 error. Ready for PR 2017-09-21 16:55:30 +02:00
Fist0urs
a6294537fd Splitted DPAPI kernel in 2 to increase performances 2017-09-21 12:23:33 +02:00
jsteube
036d4874c7 Update version numbers to v4.0.0-RC1 2017-09-20 16:06:27 +02:00
jsteube
f55446b6f3 HCdict File: Renamed file from hashcat.hcdict to hashcat.hcdict2 and add header because versions are incompatible 2017-09-20 10:22:18 +02:00
jsteube
2517292ac1 Removed option --weak-hash-check (zero-length password check) to increase startup time, it also causes many Trap 6 error on OSX 2017-09-19 12:04:05 +02:00
jsteube
617dbb97ba Prepare migration -m 15800 into -m 2500 2017-09-18 13:21:00 +02:00
jsteube
7a278ef035 Fix overflow in out_push() 2017-09-17 12:14:52 +02:00
jsteube
5551337cf6 Show advice to use optimized kernels only if there's actually one for this hash-mode 2017-09-16 22:33:04 +02:00
Jens Steube
fcd20fbacb OpenCL Runtime: Fall back to 64 threads default (from 256) on AMD GPU to prevent creating too many workitems 2017-08-29 17:36:50 +02:00
jsteube
a0be36d7b8 Fix compile error caused by __add3() 2017-08-27 19:46:17 +02:00
jsteube
688a580d6c Fixed an integer overflow in innerloop_step and innerloop_cnt variables 2017-08-25 20:52:13 +02:00
jsteube
1d04de3a8e Limit kernel-loops in straight-mode to 256, therefore allow rules to be stored in constant memory 2017-08-23 12:43:59 +02:00
jsteube
51372438fe Allow OpenCL kernel inline assembly if ROCm drivers was detected 2017-08-22 18:47:53 +02:00
jsteube
12d95fd22c Added option --example-hashes to show an example hash for each hash-mode 2017-08-22 11:09:46 +02:00
jsteube
6907981f08 Backport current state of optimized kernel rule engine to CPU 2017-08-20 12:50:24 +02:00
jsteube
f63df45fca Backport current state of pure kernel rule engine to CPU 2017-08-20 12:27:19 +02:00
jsteube
58d1dedd1e OpenCL Buffers: Do not allocate memory for amplifiers for fast hashes, it's simply not needed 2017-08-19 19:25:37 +02:00
jsteube
319799bbbf Switch the datatypes of the variables responsible for work-item count and work-item size from u32 to u64 2017-08-19 16:39:22 +02:00
philsmd
e33e828bc6
replace all time_t/__time64_t with hc_time_t and all related functions 2017-08-16 19:43:41 +02:00
philsmd
1644ac30b5
use an overflow check instead of a hard coded value for ETA 2017-08-16 17:51:35 +02:00
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 2017-08-16 16:13:28 +02:00
philsmd
4a89172140
reformatting; replaced some tabs with spaces 2017-08-16 13:46:40 +02:00
jsteube
1cf6a078b0 Make tmp_size a real size_t as with latest GPU number can exceed 2^32 2017-08-16 13:03:52 +02:00
philsmd
bc1a101d2b fixes #1321: new option --wordlist-autohex-disable 2017-08-16 12:42:28 +02:00
jsteube
175931575c Fixed the version number used in the restore file header
Fixes https://github.com/hashcat/hashcat/issues/1320
2017-08-14 12:10:42 +02:00
jsteube
0b0abb5c12 Prepare pure kernel rule engine for performance optimization 2017-08-12 13:04:52 +02:00
jsteube
e47506c610 Use pure kernel rule engine for --stdout 2017-08-12 12:11:48 +02:00
jsteube
f5ee3db5a6 Update cpu rule engine to support passwords up to length 256 2017-08-11 11:15:43 +02:00
jsteube
4f72c8bee6 Add pure kernels for SIP digest authentication (MD5) 2017-08-07 13:39:17 +02:00
jsteube
b847bbb274 Fix calculation of device_name_chksum; should be done for each iteration 2017-07-22 18:46:12 +02:00
jsteube
8f2cbb26de Update some salt lengths in interface.h 2017-07-20 18:43:55 +02:00
jsteube
03bb234045 Preparation for WPA/WPA2 AES-CMAC: works till PMK 2017-07-20 12:46:18 +02:00
jsteube
f80d91aa94 Allow the skype parser to accept usernames of length SALT_MAX 2017-07-19 22:14:48 +02:00
jsteube
beb6ee2061 Add OPTI_TYPE_OPTIMIZED_KERNEL
Rename unconverted fast hash kernels to optimized kernels
Finalize some converted fast hashes to default kernels
2017-07-18 14:45:15 +02:00
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
2017-07-18 13:23:42 +02:00
jsteube
f87ac21065 Some small corrections on salt length for MD5-ASA 2017-07-17 20:25:08 +02:00
jsteube
6c932e7ba1 Remove some unused macros 2017-07-14 17:35:53 +02:00
jsteube
967d7b9323 Rename SALT_TYPE_INTERN to SALT_TYPE_GENERIC 2017-07-14 14:57:31 +02:00
jsteube
f70da8a04c Increase salt length for salt of generic hash types
Remove --hex-salt support for non-generic hash types
2017-07-13 11:03:57 +02:00
jsteube
af46a1560b Vectorized Blockchain, My Wallet and added support for long passwords 2017-07-07 23:32:41 +02:00
jsteube
d3e6ae42f0 Added long passwords support for 7-Zip 2017-07-07 16:48:18 +02:00
jsteube
8abd7ae9d1 Fix some old GCC compiler warnings 2017-07-06 10:35:25 +02:00
jsteube
819b53eb1d Added long passwords support for sha256crypt $, SHA256 (Unix) 2017-07-05 13:43:14 +02:00
jsteube
907b065e00 Vectorized TrueCrypt PBKDF2-HMAC-SHA512 and added support for long passwords 2017-07-04 12:19:40 +02:00
jsteube
fc100a852b Added hash-mode 2501 = WPA/WPA2 PMK
Fixes https://github.com/hashcat/hashcat/issues/1287
Limited hash-mode 2500 to max length 63
Fixes https://github.com/hashcat/hashcat/issues/1286
2017-07-03 16:11:57 +02:00
jsteube
b9b2112b64 Add pure kernel for -m 1800 2017-07-02 23:27:54 +02:00
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
2017-06-29 12:19:05 +02:00
jsteube
c918173fcf Get rid of comb_t which can be safely replace with pw_t now 2017-06-25 00:56:25 +02:00
jsteube
a993395f28 Add code to read LZMA compressed hashcat.hcstat2 2017-06-23 14:43:43 +02:00
jsteube
c59432a760 Add hcstat2 support to enable masks of length up to 256, also adds a filetype header 2017-06-23 12:13:51 +02:00
jsteube
83455817a7 Working example of password up to length 256 for mode 2100 2017-06-20 17:30:07 +02:00
jsteube
ad242c2f12 Working example of generic salt up to length 256 for mode 2100 2017-06-20 17:17:13 +02:00
jsteube
4174f06008 PoC using a length-independant MD4 hash processing in -m 2100 2017-06-18 23:31:40 +02:00
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.
2017-06-17 17:57:30 +02:00
jsteube
94a35ae50a Add support for hooks in selftest function 2017-06-14 12:07:33 +02:00
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
2017-06-13 19:07:08 +02:00
Jens Steube
7e5b8d3f25 Added hash-mode 15500 = JKS Java Key Store Private Keys (SHA1) 2017-06-09 09:56:06 +02:00
jsteube
b8ad89c529 Rename function and variables containing 'unicode' to 'utf16le' because that's what's meant actually 2017-06-05 12:15:28 +02:00
jsteube
018bb208d9 Refactor OPTS_TYPE_PT_UNICODE -> OPTS_TYPE_PT_UNICODE_LE and add OPTS_TYPE_PT_UNICODE_BE 2017-06-04 22:46:05 +02:00
Jens Steube
6345fb53f9 Add missing struct names 2017-06-04 21:23:55 +02:00
Jens Steube
2a1fe6962d Move blake2_t and chacha20_t to interface.h 2017-06-04 21:21:18 +02:00
Jens Steube
b23ab71d5c - Added hash-mode 15600 = Ethereum Wallet, PBKDF2-HMAC-SHA256
- Added hash-mode 15700 = Ethereum Wallet, PBKDF2-SCRYPT
Resolves https://github.com/hashcat/hashcat/issues/1227
Resolves https://github.com/hashcat/hashcat/issues/1228
2017-06-03 23:23:03 +02:00
jsteube
b5f149476d Trim OpenCL device name whitespaces 2017-06-02 10:08:19 +02:00
jsteube
0cce17d268 Eventual fix for #1263 2017-05-30 12:15:55 +02:00
jsteube
ef33544bfa Show time spent for dictionary cache building on startup 2017-05-23 10:07:04 +02:00
Jens Steube
5611d7f950 Merge pull request #1256 from 0xbsec/reject_unless_equal
Add support for rejection rule _N
2017-05-20 11:24:38 +02:00
Jens Steube
865d885c59 Merge pull request #1257 from DoZ10/master
Removed unused structure blake2params_t
2017-05-19 14:35:05 +02:00
DoZ10
62df9648d6 Removed unused structure 2017-05-19 08:28:30 -04:00
DoZ10
556e64ffe6 Revert "Removed unused structure"
This reverts commit e7dab5d210.
2017-05-19 08:25:43 -04:00
DoZ10
e7dab5d210 Removed unused structure 2017-05-19 08:22:18 -04:00
mhasbini
1330424079 Add support for rejection rule _N 2017-05-19 15:13:07 +03:00
Christopher Schmitt
d24a6198e8 first pass at free'ing hashcat_status_t 2017-05-18 10:14:25 -04:00
Jens Steube
f2ad095191 Merge pull request #1237 from DoZ10/master
New algorithm: Chacha20
2017-05-18 13:51:47 +02:00
philsmd
af3619f3c5
-m 11600 = 7zip: do not allow truncated hashes anymore, but increase supported data length to ~320KB 2017-05-17 15:07:16 +02:00
philsmd
1f93d2060f
fixes #1239: remove AES padding attack for 7zip since we can't guarantee that the padding is always zero 2017-05-17 13:53:55 +02:00
Jens Steube
974128bdce Merge pull request #1245 from 0xbsec/rule-position-p
Add support for rule position 'p'
2017-05-17 10:55:08 +02:00
DoZ10
5683df2e17 Fixed conflicts 2017-05-16 20:36:55 -04:00
DoZ10
cfc3fa64c0 Implemented offset parameter to reach full ks block of 64 bytes 2017-05-15 08:47:40 -04:00
Fist0urs
a78dce94db All remarks treated:
1) done + got rid of all u8 datatypes in shared struct
	2) cf. previous
	3) necessary as this is computed in _init then used in _comp
	4) done
	5) done
	6) done => switch to 16
	7) done
2017-05-14 19:45:35 +02:00
mhasbini
be0dec621a Add support for rule position 'p' in host mode 2017-05-14 18:50:45 +03:00
DoZ10
9dee1d274d Removed plain_length parameter and copied esalt buffer to salt ofr sorting mechanism. 2017-05-14 07:14:57 -04:00
DoZ10
0d3b5393ef Swapped mode 670 -> 15400 2017-05-14 06:52:14 -04:00
Fist0urs
7ff09c6710 Preparing PR 2017-05-09 20:14:07 +02:00
DoZ10
c50e8bc486 Fixed position parameters. Tested all kernels. Ok. 2017-05-07 14:02:00 -04:00