1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-11-30 03:48:17 +00:00
Commit Graph

3299 Commits

Author SHA1 Message Date
Jens Steube
7bfee268d4 Fixed some heap buffer overflow 2016-01-14 20:30:38 +01:00
Jens Steube
245301c9b4 Started optimizing some of the OpenCL kernel for latest AMD Catalyst 15.12:
- Replaced SBOX for DES:

replaced JtR's * Bitslice DES S-boxes making use of a vector conditional select operation (e.g., vsel on PowerPC with AltiVec).
with     JtR's * Bitslice DES S-boxes for x86 with MMX/SSE2/AVX and for typical RISC architectures.

Performance increased for DEScrypt from 355MH/s to 405MH/s and for LM from 11100MH/s to 12000MH/s

BTW, the same effect can be seen with non-maxwell GPU's

- Remove some volatile keywords no longer needed thanks to fixed catalyst bugs

- Fix weak-hash-check parameter for use with tools/test.sh
2016-01-14 19:44:47 +01:00
Jens Steube
24b5aa6226 Merge pull request #128 from philsmd/pr-set-iter-for-dcc2
set default iteration count for -m 2100 = DCC2 to 10240
2016-01-14 09:02:13 +01:00
philsmd
cbe6be9246 set default iteration count for -m 2100 = DCC2 to 10240 2016-01-14 00:14:43 +01:00
philsmd
88cbb45ca5 add skipped devices to the --benchmark output 2016-01-13 23:38:07 +01:00
philsmd
7b53ccab70 minor: remove quiet_sav, was just intended for debugging 2016-01-13 23:06:03 +01:00
Jens Steube
49d0767aa8 Run weak-hash checks only in straight-attack mode, this greatly reduces code complexity 2016-01-13 22:22:46 +01:00
Jens Steube
cfff6220fc Fix -m 1500 in combination with new weak-hash-check 2016-01-13 21:39:34 +01:00
philsmd
4ed6b2c10a HMS: nvapi does not need a dll (windows + NV) 2016-01-13 21:12:19 +01:00
jsteube
e7e6c4da17 Do not use OpenCL CPU devices by default to avoid slow GPU synchronization, user needs to explicitly enable them using --opencl-device-type
If a platform like pocl is filtered by any of the filter mechanism do not request the user to use --force
2016-01-13 20:27:26 +01:00
Jens Steube
d3dc57896e Merge pull request #123 from philsmd/pr-tab-typo-fix
cosmetic: replace tab by spaces
2016-01-13 19:56:38 +01:00
philsmd
182819af11 cosmetic: replace tab by spaces 2016-01-13 19:05:28 +01:00
philsmd
7081e3cdf6 Makefile: remove kernels/ directory when running make clean 2016-01-13 18:16:56 +01:00
Jens Steube
52d71de0d4 Added support to utilize multiple different OpenCL platforms in parallel, ex: AMD + NV 2016-01-13 17:10:40 +01:00
Jens Steube
0ff49c5b44 Fix segfault in related to weak-hash-check on CPU devices
Move typedef for bool datatype to common.h
2016-01-12 17:18:01 +01:00
Jens Steube
54ed58e28b Merge pull request #119 from philsmd/pr-fix-adl-mapping-CPU
HMS fix: only copy the ADL adapter info for GPU devices
2016-01-12 08:49:25 +01:00
philsmd
b47452e343 HMS fix: only copy the ADL adapter info for GPU devices, for CPU devices we leave it AS-IS (zeroed out) 2016-01-12 01:21:11 +01:00
philsmd
2e1e3318ec fixed % and C (degrees celcius) in status display 2016-01-12 01:02:23 +01:00
Jens Steube
730044e26e Added option --opencl-device-types to filter for specific OpenCL device types 2016-01-12 00:44:28 +01:00
philsmd
02cecce247 fixed hardware monitor: mapping between supported ADL devices and available GPU (and CPUs) fixed 2016-01-12 00:30:28 +01:00
jsteube
93427c073c Prepare for some HSM updates related to device_type 2016-01-11 23:49:10 +01:00
Jens Steube
87dca98a51 Fix segfault if a weak hash is detected for some fast hashes 2016-01-10 21:37:45 +01:00
Jens Steube
1d628ca6e0 The weak-hash-check feature didn't work for algorithms that made use of some automatic optimizer flags
We'll enforce a weak-hash-check on an _a0 kernel for them
2016-01-10 21:02:03 +01:00
jsteube
3cdee2e06e We need an esalt to hold the unused IV otherwise the unique salt count becomes incorrect in multihash sitations 2016-01-09 21:35:29 +01:00
jsteube
f0a84a2410 Added new hash mode -m 13000 = RAR5 2016-01-09 20:34:12 +01:00
jsteube
332b3c35e5 Added new hash mode -m 12900 = Android FDE (Samsung DEK) 2016-01-09 00:49:54 +01:00
jsteube
e8229af09b Fix for -m 1500, -m 3000: Missing "defined" keyword
Fix for -m 1000: MD4_H1 copy/paste error
Fix for -m 8900, -m 9300: Invalid value for device_processor_cores for CPU devices
Fix for -m 9100: Variable salt2 initializer needed some clauses for clearness
Temporary limit gpu_accel for CPU devices to 1 for development phase
Mark pocl as too bleeding edge for production use, recommend native drivers
Remove workarounds for pocl
Rename VENDOR_ID_UNKNOWN to VENDOR_ID_GENERIC in host code
Rename IS_UNKNOWN to IS_GENERIC in kernel code
2016-01-07 20:14:34 +01:00
Jens Steube
6dab39e69c Merge pull request #64 from philsmd/master
added --opencl-platform check, reject numbers > number of OpenCL platforms
2016-01-07 20:09:50 +01:00
philsmd
82ac8cbcfe additional --opencl-platform value check 2016-01-07 17:15:28 +01:00
philsmd
6fcc3f2728 typo 2016-01-07 16:48:50 +01:00
philsmd
7b7caf3842 added additional --opencl-platform check (reject numbers > number of OpenCL platforms) 2016-01-07 16:35:45 +01:00
jsteube
36df3ef329 A CPU is not a GPU 2016-01-05 23:35:06 +01:00
Jens Steube
51a1868903 Shorten some helptext 2016-01-05 12:28:56 +01:00
philsmd
8bf3bdbf1b the parameter --opencl-platform takes a number, not a string 2016-01-05 10:29:05 +01:00
jsteube
16294fe94e Next release version will be v2.10 2016-01-05 08:30:18 +01:00
jsteube
331188167c Replace the substring GPU to a more appropriate "device" or "kernel" substring depending on the context 2016-01-05 08:26:44 +01:00
jsteube
894140b816 Generate a more easy to read filename for cached kernels 2016-01-04 20:56:15 +01:00
jsteube
8baf705f6a Preparation for distinguish between OpenCL device types at runtime (mostly for HMS) 2016-01-04 20:12:34 +01:00
jsteube
8b50b60484 More fixes for general OpenCL platforms 2016-01-04 19:23:21 +01:00
jsteube
c4b1c8e7ca small fix for unknown opencl platforms 2016-01-04 16:13:10 +01:00
jsteube
3b589e3aac Prepare for allow other OpenCL platforms thans AMD and NVidia 2016-01-04 13:17:20 +01:00
philsmd
f2b8f008c0 pr #53 did not copy the example .hash and .dict files to the doc folder 2016-01-03 23:29:39 +01:00
philsmd
d8ac4c3bbc install also the example scripts, place them into the doc folder 2016-01-03 22:01:02 +01:00
jsteube
0428514f61 Extended support from 14 to 255 functions calls per rule on GPU 2016-01-03 19:49:47 +01:00
Jens Steube
0952a4dfd3 Fix CFLAGS_CROSS_LINUX in Makefile 2016-01-03 18:50:02 +01:00
philsmd
d378319ea6 this patch makes it much clearer where the sessions under ~/.hashcat are located 2016-01-03 17:11:36 +01:00
jsteube
11bf28745a Generate folders for cached kernels for the binary distribution in runtime, too 2016-01-03 13:49:07 +01:00
jsteube
79b1f96efe Fix logfile buffer size 2016-01-03 13:31:40 +01:00
Jens Steube
dc13c2fc71 Switched to Khronos OSS OpenCL reference implementation for building
For detailed information see: https://github.com/hashcat/oclHashcat/issues/40
2016-01-03 13:17:14 +01:00
jsteube
5703637721 Fix for windows, shared_dir was not set to install_dir 2016-01-03 02:28:52 +01:00
jsteube
61744662c0 Fix path to includes 2016-01-03 01:56:41 +01:00
jsteube
5f7c47b461 Fix path to includes 2016-01-03 01:48:05 +01:00
jsteube
d008a45f3c Activate reordering or files to help integration into linux distributions
Details can be found here: https://github.com/hashcat/oclHashcat/issues/20
2016-01-03 00:40:31 +01:00
jsteube
2be8f5f982 - Added Makefile target for native compilation
- Moved rules_optimize tool to hashcat-utils
2016-01-02 17:42:47 +01:00
philsmd
fc65b6fd44 issue #38: NVIDIA SDK is not needed anymore, the lib is dynamically loaded on NVidia systems 2016-01-01 17:41:03 +01:00
philsmd
d9f30011f5 fixed minor display problem in usage 2016-01-01 09:50:09 +01:00
jsteube
700ed7dba7 Fix the GPU Platform fix 2015-12-31 15:31:21 +01:00
jsteube
04e5ad2d54 Fix OpenCL platform selection 2015-12-31 15:25:34 +01:00
jsteube
06b1a1e2ae Update 9300 default tmto for NV 2015-12-31 09:32:10 +01:00
jsteube
31292946e2 Fix some scrypt default values 2015-12-30 23:06:45 +01:00
jsteube
7807eb6f2d Fix -m 7800 for NV 2015-12-30 00:29:39 +01:00
jsteube
77df413886 Add allocatable memory location per GPU 2015-12-28 11:29:07 +01:00
jsteube
a78173af7e prepare scrypt tmto value for manual tuning 2015-12-28 09:20:18 +01:00
philsmd
286bde422b limit the salt length of -m 22 = Juniper Netscreen/SSG (ScreenOS) to 10 2015-12-27 09:48:52 +01:00
jsteube
3dc8d526db Update timeout-patch url to wiki 2015-12-24 10:32:22 +01:00
jsteube
f1cdf15540 Added option --gpu-platform to select a single OpenCL platform in case multiple OpenCL platforms are present 2015-12-23 18:02:01 +01:00
jsteube
c17bf5e865 - Fixed PHY memory handling for scrypt based algorithms
- Bring back kernel exec timeout checking for NV
2015-12-23 15:51:55 +01:00
jsteube
19c77034a6 Updated algorithm used to automatically select an ideal --scrypt-tmto value for NV 2015-12-23 11:24:41 +01:00
philsmd
0d905317a6 fix OpenCL memory problem (exhaustion): -4 error should be gone 2015-12-22 19:03:35 +01:00
jsteube
7be2c2fd8d Fixed some speeds:
1800
3200
7100
7200
7400
8200
9300
9000
9600
11300
11600
2015-12-21 14:29:04 +01:00
jsteube
e2412c9b10 We do not depend on CUDA any longer, so get rid of it :) 2015-12-21 12:20:08 +01:00
jsteube
378258d789 Fix caching system for use with AMD and NV, drop BINARY_KERNEL define 2015-12-21 12:01:38 +01:00
jsteube
c8f7b7b5d3 Workaround missing clEnqueueFillBuffer() support in NVidia's OpenCL runtime 2015-12-21 10:17:54 +01:00
jsteube
1d4bece384 Revert "Fix bsdicrypt for NV"
This reverts commit 284990e4d3.

Accidentially changed oclHashcat.c
2015-12-20 22:08:59 +01:00
jsteube
284990e4d3 Fix bsdicrypt for NV 2015-12-20 22:07:44 +01:00
jsteube
52c416ba72 Fixed empty line problem 2015-12-16 17:01:14 +01:00
jsteube
80f86c52a1 Cleanup makefile
Remove unused CUDA library defs
2015-12-15 19:18:45 +01:00
jsteube
4a0c47ca08 It's safe now to use AMD's OpenCL includes, tested on NV 2015-12-15 18:58:02 +01:00
philsmd
cff683eac1 change in library loading: libnvidia-ml now does load dynamically only on NVidia systems 2015-12-15 20:34:07 +01:00
jsteube
2283d5c843 Fix more append_* functions in kernels 2015-12-15 16:50:21 +01:00
philsmd
3ab7a23cd5 fixed hardware monitor for amd/nv (one problem that is still there since last commit: dynamic loading of libnvidia-ml) 2015-12-15 18:41:11 +01:00
jsteube
0bf4e3c34a - Dropped all vector code since new GPU's are all scalar, makes the code much easier
- Some performance on low-end GPU may drop because of that, but only for a few hash-modes
- Dropped scalar code (aka warp) since we do not have any vector datatypes anymore
- Renamed C++ overloading functions memcat32_9 -> memcat_c32_w4x4_a3x4
- Still need to fix kernels to new function names, needs to be done manually
- Temperature Management needs to be rewritten partially because of conflicting datatypes names
- Added code to create different codepaths for NV on AMD in runtime in host (see data.vendor_id)
- Added code to create different codepaths for NV on AMD in runtime in kernels (see IS_NV and IS_AMD)
- First tests working for -m 0, for example
- Great performance increases in general for NV so far
- Tested amp_* and markov_* kernel
- Migrated special NV optimizations for rule processor
2015-12-15 12:04:22 +01:00
Jens Steube
586441fa25 Revert "Fixed a bug where oclHashcat rejected to load a rule which calls 15 functions although it is supported"
This reverts commit f230ed73dc.

Some kernel require too much constant memory and do not compile anymore
2015-12-13 18:46:21 +01:00
Jens Steube
f230ed73dc Fixed a bug where oclHashcat rejected to load a rule which calls 15 functions although it is supported 2015-12-13 14:54:39 +01:00
Jens Steube
1537390fae Prepare reordering or files to help integration into linux distributions as discussed in https://github.com/hashcat/oclHashcat/issues/20
TODOS:
- Let oclHashcat actually use the new paths
- Find a better way for native compilation
- Replace /bin/cp with /usr/bin/install where it has to copy files recursive
2015-12-13 12:21:36 +01:00
Jens Steube
c460b554d0 - Fixed a bug related to --restore if the User
- Updated readme, we actually need catalyst 15.7 (for the binary package) because of OpenCL 2.0
2015-12-11 19:27:07 +01:00
philsmd
c15f0d6146 issue #16: use just "deps" instead of "hashcat-deps" as directory name 2015-12-09 15:55:06 +01:00
philsmd
29547c4f9b issue #14: move /opt/hashcat-deps/ to [git_clone_dir]/hascat-deps/ 2015-12-09 13:33:21 +01:00
philsmd
feeb44882b allow both enabling and disabling of restore point update (implemented with issue #10) 2015-12-07 23:51:51 +01:00
jsteube
968265fffb - Prepared for JIT use of hash-mode 1500, 8900 and 9300, works already on OpenCL (AMD)
- Changed PROMPT
2015-12-07 21:37:12 +01:00
philsmd
946b4a37d0 implements the enhancement mentioned in issue #10 (cancel on next checkpoint) 2015-12-07 18:31:45 +01:00
philsmd
ffcf763b13 typo fixed in Makefile 2015-12-06 18:48:20 +01:00
philsmd
3f79ac5964 Merge remote-tracking branch 'upstream/master' 2015-12-06 16:12:25 +01:00
Jens Steube
ab66fa1772 Revert "Remove NPROCS from Makefile, make is able to automatically detect the optimal number of parallel threads"
Problem here is; This process requires alot of memory. If host memory is too small it will segfault somewhere inside AMD's OpenCL runtime library. Therefore it's better to stick to NPROCS as part of a workaround.

This reverts commit e5adccbf38.
2015-12-06 13:09:17 +01:00
philsmd
ef548d3088 fixes issue #5: formatting problem with tabs vs spaces 2015-12-06 11:29:29 +01:00
Jens Steube
e5adccbf38 Remove NPROCS from Makefile, make is able to automatically detect the optimal number of parallel threads 2015-12-05 14:30:09 +01:00
Jens Steube
490ff03fe1 It's important to release a fixed version of v2.00 because of the issue #1 even if AMD is not affected 2015-12-05 13:42:02 +01:00
philsmd
9684d8793a fixes issue #1: cuMemsetD8() 1 error (nvidia only, problem did not affect mask attacks) 2015-12-05 08:48:00 +01:00
Jens Steube
5065474b4e Initial commit 2015-12-04 15:47:52 +01:00