1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-11-25 01:18:15 +00:00
Commit Graph

1154 Commits

Author SHA1 Message Date
magnum
115d2b6a5a Drop dependencies on non-distributable ADL/NVML headers. The needed glue
is copied into our respective local headers. Should close #120.
2016-01-27 18:48:54 +01:00
Jens Steube
cae457df0c Merge pull request #167 from gm4tr1x/issue84
Issue84
2016-01-27 18:43:18 +01:00
magnum
f5d6f9b6d4 Do not create a kernel cache file if build failed. Also disregard any
existing cache files with size of zero. Should close #164.
2016-01-27 18:39:45 +01:00
Jens Steube
9ec2c86cd0 Merge pull request #165 from gm4tr1x/gcc-warnings
Fixed gcc warnings
2016-01-27 18:19:50 +01:00
Gabriele 'matrix' Gristina
b7d3a7c5bc Fixed gcc warnings 2016-01-27 01:08:35 +01:00
Gabriele 'matrix' Gristina
5bae9de3a3 Implemented OpenCL library loader 2016-01-26 21:40:49 +01:00
Gabriele 'matrix' Gristina
6ba392c0df Modified as @jsteube request 2016-01-26 12:07:19 +01:00
Gabriele 'matrix' Gristina
1124687270 OpenCL runtime environment is no longer required with --keyspace option 2016-01-25 15:44:04 +01:00
Gabriele 'matrix' Gristina
dcc4b5a60f Added custom OSX kernel loops and gpu accel default values
Disabled some not yet worked hash types in OSX
2016-01-24 22:48:01 +01:00
Gabriele 'matrix' Gristina
479327fc20 Re-enable gpu-temp-disable argument for osx build 2016-01-24 17:49:15 +01:00
Gabriele 'matrix' Gristina
58359f3b7e Fixed 'buf' initialization for windows 2016-01-24 17:20:01 +01:00
Jens Steube
0997ae029e Remove NO-BREAK SPACE character (utf8) from sources 2016-01-24 17:08:49 +01:00
Jens Steube
9c89b58f76 Merge pull request #153 from gm4tr1x/missingcheck
Added missing check for in_len in _old_apply_rule function
2016-01-24 16:24:57 +01:00
Jens Steube
d275748c7c Merge pull request #152 from gm4tr1x/buf
Optimized memset calls and also some initializations
2016-01-24 16:24:10 +01:00
Gabriele 'matrix' Gristina
17d885ffa4 Added missing check for in_len in _old_apply_rule function 2016-01-24 15:13:43 +01:00
Gabriele 'matrix' Gristina
8674959a93 @philsmd suggestion (PR #152) 2016-01-24 14:33:19 +01:00
Gabriele 'matrix' Gristina
3abacf515c Optimized memset calls and also some initializations 2016-01-24 13:25:47 +01:00
Gabriele 'matrix' Gristina
8d891ef0ba Avoid sprintf 2016-01-24 13:05:02 +01:00
Jens Steube
20b0c23af1 Merge pull request #146 from gm4tr1x/master
Fixed some memory allocations and other small things
2016-01-23 15:43:47 +01:00
Jens Steube
1d3795a3ab Converted _a3 kernels, use SIMD for CPU and GPU 2016-01-23 15:32:31 +01:00
Gabriele 'matrix' Gristina
076597fe01 Fixed some memory allocations and other small things 2016-01-21 17:20:02 +01:00
Jens Steube
4c0e520fd8 Test convert for -m 1000 with -a 0 for SIMD, speed is now on par or faster than hashcat 2016-01-21 16:47:38 +01:00
Jens Steube
add18eaa6d Fix for last commit 2016-01-21 10:22:57 +01:00
Jens Steube
bfc4495bd3 Expanded version information as discussed in https://github.com/hashcat/oclHashcat/issues/138 2016-01-21 10:17:22 +01:00
Gabriele 'matrix' Gristina
5da79e4411 Added support for build without ADL/NVML/NVAPI (issue #120)
Added support for build OSX native binaries (issue #63)
2016-01-20 20:55:09 +01:00
philsmd
751a364125 #137: fixes padding for base64_encode () and base64_decode() 2016-01-19 22:32:20 +01:00
philsmd
e1ae2538c6 cosmetic fix: some fixed typos e.g. to -> too 2016-01-19 20:47:18 +01:00
philsmd
5e92020180 buffer overflow fix for -m 8900 = scrypt 2016-01-19 19:04:52 +01:00
Jens Steube
a62b7ed06e Upgrade kernel to support dynamic local work sizes 2016-01-19 16:06:03 +01:00
Jens Steube
44b0cb4e65 Merge pull request #135 from gm4tr1x/master
Fixed a buffer overflow in ascii_digest for hash type 8300
2016-01-17 22:29:12 +01:00
jsteube
e3c0c80b6f Prepare new SIMD code for kernel, -m 0, 10, 20, 1000 should work in -a 3 mode and other hopefully stay unaffected 2016-01-17 22:17:50 +01:00
Gabriele 'matrix' Gristina
29636ca0a3 Re-fix ascii_digest 2016-01-17 22:10:19 +01:00
Gabriele 'matrix' Gristina
e9bc4caed3 Fixed a buffer overflow in ascii_digest for hash type 8300 2016-01-17 18:52:25 +01:00
Jens Steube
45431d9201 Fixed a buffer overflow in potfile handling 2016-01-17 02:18:07 +01:00
jsteube
471c10c4f7 Make sure to spawn threads for all devices, even skipped, and then instantly return 2016-01-16 15:12:42 +01:00
jsteube
954be23a12 Fix some code formating 2016-01-16 13:47:43 +01:00
Jens Steube
b9c61eb66f Merge pull request #134 from yhfudev/add-cl-error-messages
human-readable error message for the OpenCL error codes.
2016-01-16 13:42:34 +01:00
jsteube
0524e78617 Enable forced JIT compilation for MD5, if requested 2016-01-16 12:36:56 +01:00
jsteube
09de56b720 Make sure to select an active device for weak_hash_check 2016-01-16 12:24:08 +01:00
Jens Steube
36251e1fe5 Merge pull request #132 from neheb/master
Remove some memsets
2016-01-16 11:47:17 +01:00
yhfudev
edc6c920a9 human-readable error message for the OpenCL error codes. 2016-01-16 00:41:31 -05:00
jsteube
9fb506f15f Fixed out of bounds access in -m 11300 2016-01-15 23:25:24 +01:00
Mangix
54c7c23ad4 Remove some memsets 2016-01-15 10:51:47 -08:00
Jens Steube
bc24e3d79b Add bitness to filename for cached kernels, otherwise a user would load a 32 bit kernel with a 64 bit host binary in case he used the 32 bit binary before which leads to a segfault 2016-01-15 17:48:27 +01:00
Jens Steube
98b1a9370c Fix AMD OpenCL runtime bug in clGetProgramInfo() 2016-01-15 17:32:43 +01:00
Jens Steube
b35d2dd2eb Fix native compiler 2016-01-15 17:24:51 +01:00
Jens Steube
05505030b8 Fix CFLAGS 2016-01-15 17:24:20 +01:00
jsteube
5ae5a4bc25 Reorder device mapping 2016-01-15 17:23:07 +01:00
Jens Steube
63e06f582b Prepare fix for datatypes, not final 2016-01-15 17:16:43 +01:00
Jens Steube
2e61685f48 Fix outputting wrong password for weak-hash-check in case user defined -r or -g 2016-01-14 23:03:23 +01:00
Jens Steube
ed91e69ae3 Fix out of bounds access in -m 7500 2016-01-14 22:13:06 +01:00
Jens Steube
f3b85a6363 Fix some clang compiler warnings 2016-01-14 21:45:11 +01:00
jsteube
76612ac031 Fix more missing casts to uint in rule-engine 2016-01-14 20:54:41 +01:00
jsteube
497b41fee4 Fix more missing casts to uint 2016-01-14 20:44:11 +01:00
jsteube
d3981ee66a Fix missing cast to uint 2016-01-14 20:42:07 +01:00
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