1
0
mirror of https://github.com/hashcat/hashcat.git synced 2025-02-10 14:43:22 +00:00
Commit Graph

351 Commits

Author SHA1 Message Date
Jens Steube
fa379074b6 Fixed a logic error in storing temporary progress for slow hashes,leading to invalid speeds in status view 2018-02-09 18:30:53 +01:00
Jens Steube
b0ff625844 OpenCL Kernels: Thread-count is switched from native to maximum - as a consequence we assume host memory pool of 2GB per GPU 2018-02-09 16:42:28 +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
98abea9a0f Fix one more technical teething trouble with compressor kernels 2018-02-08 15:41:19 +01:00
jsteube
3dcacb5f55 Fix hc_clEnqueueReadBuffer buffer size in gidd_to_pw_t() 2018-02-08 08:26:24 +01:00
jsteube
bd9c17e49a Add some missing function declarations 2018-02-06 13:06:10 +01:00
jsteube
e59d5fd25e sometimes device_global_mem and device_maxmem_alloc reportedback from the opencl runtime are a bit inaccurate.
let's add some extra space just to be sure.
2018-02-06 10:11:06 +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
76a3e3f7af OpenCL Runtime: Add current timestamp to OpenCL kernel source in order to force OpenCL JiT compiler to recompile and not use the cache 2018-02-01 16:57:59 +01:00
jsteube
a8ca6862bf OpenCL Runtime: Enforce to use OpenCL version 1.2 to restrain OpenCL runtimes to make use of the __generic address space qualifier 2018-02-01 10:48:24 +01:00
jsteube
c34670c567 OpenCL Devices: Fixed several memory leaks in shutdown phase 2018-01-31 16:38:55 +01:00
jsteube
5b527f6aa6 Removed debugging code 2018-01-28 20:15:19 +01:00
jsteube
68b1ea4b68 OpenCL Runtime: Updated rocm detection 2018-01-28 20:14:25 +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
77f7ea52a5 Fix missing defined keyword 2017-12-13 12:56:00 +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
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
Jens Steube
f2ce04e912 Allow relative use of -I in build_opts 2017-12-05 14:14:36 +01:00
jsteube
8ec2af97ed Eventual fix for unicode folder name issue on windows 2017-12-02 15:24:10 +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
philsmd
9d58ddd9f6
fixed strtok_r () calls, could prevent memory crashes 2017-11-18 14:23:02 +01: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
ea5425b344
Merge pull request #1439 from neheb/master
Change atoi family to strtol family
2017-11-13 09:10:57 +01:00
philsmd
227a5aa092
fix #1435: --show/--left hash parsing fixed for hashes with long salts 2017-11-09 11:36:01 +01:00
jsteube
f8c687f529 Fixed compile of kernels on AMD systems on windows due to invalid detection of ROCm 2017-11-06 10:22:23 +01:00
Rosen Penev
1109017a53 Change atoi family to strtol family
Suggested by clang tidy
2017-11-05 12:33:41 -08:00
Rosen Penev
3ba84f17f1 More clang tidy fixes 2017-11-05 01:52:29 -07:00
jsteube
28b76bd387 Do not use run_kernel_memset() for password candidate initialization in autotune 2017-10-27 11:48:24 +02:00
jsteube
c6390deeb1 Remove temporary warmup for benchmark 2017-10-27 11:39:07 +02:00
jsteube
d0f5c9f2b3 Rename MacOS to macOS 2017-10-20 13:36:47 +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
b99eb92b56 Re-enable amdgpu-pro, do some warm-up in benchmark mode 2017-10-19 20:56:14 +02:00
jsteube
cf1ed8d75c Update ROCm requirement 2017-10-19 16:23:44 +02:00
jsteube
048b14f6c6 Fix missed set of attribute skipped_temp 2017-10-18 12:57:48 +02:00
jsteube
d7da964a7c Fix missed set of attribute skipped_temp 2017-10-18 12:57:15 +02:00
jsteube
84312bfae6 Fix missed set of attribute skipped_temp 2017-10-18 12:54:22 +02:00
jsteube
e16e878e59 Update potential trap 6 (apple only) algorithms, user can override with --force 2017-10-17 19:10:29 +02:00
jsteube
583849cd23 Fix missing free() for memory allocated with asprintf() 2017-10-04 13:04:58 +02:00
jsteube
6c251d48a4 Fixed format type in debugging log 2017-10-04 12:59:57 +02:00
Rosen Penev
4ba19fa7c1 replace more snprintf calls with hc_asprintf. 2017-10-02 22:10:10 -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
jsteube
81c2ab2ded OpenCL Runtime: On AMD GPU, recommend AMD ROCm driver for Linux 2017-09-21 16:27:27 +02:00
jsteube
617dbb97ba Prepare migration -m 15800 into -m 2500 2017-09-18 13:21:00 +02:00
jsteube
2b4be5d093 Move AMD ROCm driver check out of a --force condition 2017-09-08 12:44:06 +02:00
Jens Steube
3e597f4c7b Revert use of zero-copy for main password buffer using CL_MEM_ALLOC_HOST_PTR and hc_clEnqueueMapBuffer()
Caused problems with WPA cracking performance on NVidia when not using rules
2017-09-05 17:19:49 +02:00
Jens Steube
8fb583f0a7 Simplify kernel thread calculation for SCRYPT based algorithms 2017-08-29 22:43:26 +02:00
jsteube
86f67517a0 Allow higher number of kernel_loops for -a 0 mode in case they are slow hashes 2017-08-29 10:28:42 +02:00
jsteube
35a24df55e Fixed an integer overflow in hash buffer size calculation 2017-08-26 16:29:59 +02:00
jsteube
2bc2137203 Remove some debugging statement 2017-08-25 20:54:21 +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
18c8de3428 Use zero-copy for main password buffer using CL_MEM_ALLOC_HOST_PTR and hc_clEnqueueMapBuffer() 2017-08-22 15:19:25 +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
1432446734 Fix initialization of size_pws_amp 2017-08-20 12:04:56 +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
jsteube
c8da13c3aa Update default scrypt tmto to be ideal for latest NV and AMD top models 2017-08-17 17:46:54 +02:00
jsteube
9a46442a80 Fix CPU performance for slow hashes with SIMD 2017-08-17 09:42:42 +02:00
jsteube
0dcec01623 Make size_t what size_t is 2017-08-16 16:14:08 +02:00
jsteube
34d882a116 Rename inc_rp.X to inc_rp_optimized.X 2017-08-11 11:25:47 +02:00
jsteube
f5ee3db5a6 Update cpu rule engine to support passwords up to length 256 2017-08-11 11:15:43 +02:00
jsteube
6379e76bc8 No need for handling OPTS_TYPE_PT_ADD80 and OPTS_TYPE_PT_ADD01 in non-optimized combinator mode 2017-08-01 12:12:24 +02:00
jsteube
a0b30dc9a3 Forcing OpenCL 1.2 no longer needed; all OpenCL runtimes updated 2017-07-28 01:33:29 +02:00
jsteube
f6f22f6616 Use a different cache hash for amp and mp kernel 2017-07-23 13:55:25 +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
03bb234045 Preparation for WPA/WPA2 AES-CMAC: works till PMK 2017-07-20 12:46:18 +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
Jens Steube
04bb6a46ef There's a problem with Intels OpenCL runtime. The JiT hangs while trying to compile, for example mode 1700 in -L mode.
Disabling the OpenCL optimization using -cl-opt-disable helped.
While doing so, it turned out that there's many algorithms that _benefit_ from disabling the compiler optimizations.
Other are not.
Full list: https://docs.google.com/spreadsheets/d/1w0wZtHsP8ql4JLDRnm3zqi8JyMSBk9zzpXXjQz84Fwc/edit?usp=sharing
2017-07-11 17:15:16 +02:00
jsteube
99f58f90a4 Fix some compiler warning on unused variables 2017-07-07 00:30:42 +02:00
jsteube
8fe0a36b30 OpenCL Runtime: Updated AMD ROCm driver version check, warn if version < 1.1 2017-07-06 21:54:28 +02:00
jsteube
a1e3b20902 Add ROCm to the list of supported AMD platforms 2017-07-06 19:11:56 +02:00
jsteube
8abd7ae9d1 Fix some old GCC compiler warnings 2017-07-06 10:35:25 +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
52c1e15f3f Move kernel-code for -L to standalone files with -pure suffix 2017-07-01 13:02:07 +02:00
jsteube
f97c0d38d7 Allow using -L with -a 7 (other modes need no modification) for fast hashes 2017-06-30 16:51:57 +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
Jens Steube
8d93b160c4 Combinator mode for slow hashes wasn't set since self-test functionality was added 2017-06-22 10:49:57 +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
5be3840d9a Add some hint for the user to a scrypt error message 2017-06-09 10:20:05 +02:00
Royce Williams
3fc185a66b tidy changes.txt and name normalizations 2017-06-04 13:54:41 -08:00
Jens Steube
3d888b6b2d it's possible to crack scrypt on GPU even with higher scrypt setting
the trick is to intentionally under-utilize the GPU warps
120H/s on my 4*1080: https://pastebin.com/z124G2cN
2017-06-04 15:49:09 +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
Jens Steube
ab2610d9df Also add reduced startup time for GPU for scrypt 2017-06-03 19:36:19 +02:00
Jens Steube
872f2b4f8b Improve scrypt cracking speed on CPU by 20%, preparation for Ethereum KDF 2017-06-03 19:19:03 +02:00
jsteube
b5f149476d Trim OpenCL device name whitespaces 2017-06-02 10:08:19 +02:00
jsteube
318ba234f8 OpenCL Runtime: Updated AMDGPU-Pro driver version check, do warn if version 17.10 is detected which is known to be broken 2017-04-11 13:33:25 +02:00
Royce Williams
067372f5ce more event_log_* standardization 2017-04-01 23:50:06 -08:00
jsteube
98cedd9422 Remove unused argument 2017-03-27 10:35:31 +02:00