jsteube
2e85972ec5
Add special detection for NVIDIA OpenCL devices on OSX
7 years ago
Rosen Penev
869b5fb522
Replace PRIu64 with ju. Less verbose.
7 years ago
jsteube
b99eb92b56
Re-enable amdgpu-pro, do some warm-up in benchmark mode
7 years ago
jsteube
cf1ed8d75c
Update ROCm requirement
7 years ago
jsteube
048b14f6c6
Fix missed set of attribute skipped_temp
7 years ago
jsteube
d7da964a7c
Fix missed set of attribute skipped_temp
7 years ago
jsteube
84312bfae6
Fix missed set of attribute skipped_temp
7 years ago
jsteube
e16e878e59
Update potential trap 6 (apple only) algorithms, user can override with --force
7 years ago
jsteube
583849cd23
Fix missing free() for memory allocated with asprintf()
7 years ago
jsteube
6c251d48a4
Fixed format type in debugging log
7 years ago
Rosen Penev
4ba19fa7c1
replace more snprintf calls with hc_asprintf.
7 years ago
Rosen Penev
ec55209254
remove hc_sleep and _msec.
...
MinGW defines sleep and usleep so just use those directly.
7 years ago
jsteube
81c2ab2ded
OpenCL Runtime: On AMD GPU, recommend AMD ROCm driver for Linux
7 years ago
jsteube
617dbb97ba
Prepare migration -m 15800 into -m 2500
7 years ago
jsteube
2b4be5d093
Move AMD ROCm driver check out of a --force condition
7 years ago
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
7 years ago
Jens Steube
8fb583f0a7
Simplify kernel thread calculation for SCRYPT based algorithms
7 years ago
jsteube
86f67517a0
Allow higher number of kernel_loops for -a 0 mode in case they are slow hashes
7 years ago
jsteube
35a24df55e
Fixed an integer overflow in hash buffer size calculation
7 years ago
jsteube
2bc2137203
Remove some debugging statement
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
18c8de3428
Use zero-copy for main password buffer using CL_MEM_ALLOC_HOST_PTR and hc_clEnqueueMapBuffer()
7 years ago
jsteube
12d95fd22c
Added option --example-hashes to show an example hash for each hash-mode
7 years ago
jsteube
1432446734
Fix initialization of size_pws_amp
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
jsteube
c8da13c3aa
Update default scrypt tmto to be ideal for latest NV and AMD top models
7 years ago
jsteube
9a46442a80
Fix CPU performance for slow hashes with SIMD
7 years ago
jsteube
0dcec01623
Make size_t what size_t is
7 years ago
jsteube
34d882a116
Rename inc_rp.X to inc_rp_optimized.X
7 years ago
jsteube
f5ee3db5a6
Update cpu rule engine to support passwords up to length 256
7 years ago
jsteube
6379e76bc8
No need for handling OPTS_TYPE_PT_ADD80 and OPTS_TYPE_PT_ADD01 in non-optimized combinator mode
7 years ago
jsteube
a0b30dc9a3
Forcing OpenCL 1.2 no longer needed; all OpenCL runtimes updated
7 years ago
jsteube
f6f22f6616
Use a different cache hash for amp and mp kernel
7 years ago
jsteube
b847bbb274
Fix calculation of device_name_chksum; should be done for each iteration
7 years ago
jsteube
03bb234045
Preparation for WPA/WPA2 AES-CMAC: works till PMK
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
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
7 years ago
jsteube
99f58f90a4
Fix some compiler warning on unused variables
7 years ago
jsteube
8fe0a36b30
OpenCL Runtime: Updated AMD ROCm driver version check, warn if version < 1.1
7 years ago
jsteube
a1e3b20902
Add ROCm to the list of supported AMD platforms
7 years ago
jsteube
8abd7ae9d1
Fix some old GCC compiler warnings
7 years ago
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
7 years ago
jsteube
52c1e15f3f
Move kernel-code for -L to standalone files with -pure suffix
7 years ago
jsteube
f97c0d38d7
Allow using -L with -a 7 (other modes need no modification) for fast hashes
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
Jens Steube
8d93b160c4
Combinator mode for slow hashes wasn't set since self-test functionality was added
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
Jens Steube
5be3840d9a
Add some hint for the user to a scrypt error message
7 years ago
Royce Williams
3fc185a66b
tidy changes.txt and name normalizations
7 years ago
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
7 years ago
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
7 years ago
Jens Steube
ab2610d9df
Also add reduced startup time for GPU for scrypt
7 years ago
Jens Steube
872f2b4f8b
Improve scrypt cracking speed on CPU by 20%, preparation for Ethereum KDF
7 years ago
jsteube
b5f149476d
Trim OpenCL device name whitespaces
7 years ago
jsteube
318ba234f8
OpenCL Runtime: Updated AMDGPU-Pro driver version check, do warn if version 17.10 is detected which is known to be broken
8 years ago
Royce Williams
067372f5ce
more event_log_* standardization
8 years ago
jsteube
98cedd9422
Remove unused argument
8 years ago
Royce Williams
68ae2bc791
event_log_: length <80, end logs with '.', grammar
8 years ago
jsteube
368f8b39bc
Add function to distinguish between warning and advice messages
8 years ago
jsteube
2bc65c2c4d
A bit a different _comp kernel iteration for WPA which can have lots of handshakes
8 years ago
jsteube
33a043ec63
Refactored internal use of esalt from sync with number of salts to sync with number of digests
...
This enables a true N esalts per salt feature which is required for WPA/WPA2 handling
In case we need that for a future algorithm, just make sure to have a unique value in digest in hash parser.
Fixes https://github.com/hashcat/hashcat/issues/1158
8 years ago
jsteube
da93d216da
Update for scrypt patch
8 years ago
jsteube
b2684553f0
In scrypt we really need to get all memory we can get, thus we workaround the 1/4 limit by allocating 4 blocks but this can eventually be larger than the total maximum available memory
8 years ago
jsteube
6f33d799c2
Remove temporary 2gb limit testwise
8 years ago
jsteube
fea62b78dc
Fixed cracking of Plaintext (-m 99999) in case MD4 was used in a previous session
8 years ago
jsteube
708adbc54b
Fixed cracking of Plaintext (-m 99999) in case MD4 was used in a previous session
8 years ago
Rosen Penev
4ceb7a1afa
Prefer _WIN to _POSIX for defines.
...
Also miscellaneous fixes here and there.
8 years ago
jsteube
de186ceda5
Fix some typo
8 years ago
jsteube
d6b843901b
In case of multiline error message use only the first line as error and the description as warning
8 years ago
jsteube
aa5ed1ca89
OpenCL Runtime: Added a warning about using Mesa OpenCL runtime
8 years ago
jsteube
c3251cebd8
Hardware Management: Bring back kernel exec timeout detection for NVidia on user request
8 years ago
philsmd
056d1f3da4
minor: use 2 distinct return value to avoid dead code detections
8 years ago
philsmd
f535eb2bd0
always check the input for NULL before the strtok_r () calls
8 years ago
philsmd
a82f6fb77c
our usage of strtok_r () was not totally correct (but almost)
8 years ago
philsmd
f87c65d081
minor: check return value of hc_stat () and use fclose () in case of error
8 years ago
jsteube
906bcf52f9
CID 1402488 ( #1 of 1): Resource leak
8 years ago
jsteube
7f3d107129
Fixed pointer to local outside scope in case -j or -k is used
8 years ago
jsteube
cc223123e9
OpenCL Kernel: Refactored read_kernel_binary to load only a single kernel for a single device
8 years ago
jsteube
5a2e7f2a3a
CID 1402490 ( #1 of 1): Resource leak
8 years ago
jsteube
dcdafdbc08
CID 1402467 ( #1 of 1): Resource leak
8 years ago
jsteube
20ab1af2b3
OpenCL Kernel: Move kernel binary buffer from heap to stack memory
8 years ago
jsteube
302f528796
OpenCL Kernel: Move kernel binary buffer from heap to stack memory
8 years ago
philsmd
5594a6703c
mem problem in OpenCL device management: free () the platforms string
8 years ago
philsmd
f1900686f5
OpenCL kernel run: minor copy-paste error removed
8 years ago
philsmd
6ef802a148
OpenCL platforms/devices: Fixed several memory leaks when a platform/device could not be used/initialized
8 years ago
jsteube
8ebd5188eb
CID 1402518 ( #1 of 1): String not null terminated
8 years ago
jsteube
9c5cfd17ac
Added support for automatic merge of LM halfes when --show and --left is used
...
Fixes https://github.com/hashcat/hashcat/issues/1034
8 years ago
sgroat
113fe102f5
Cleanup zero-length printf format string warnings
8 years ago
Jens Steube
dec6307729
Merge pull request #1031 from neheb/master
...
Add NVML and NVAPI support to Cygwin. Disable file globbing.
8 years ago
Rosen Penev
ee0911c26e
Add NVML and NVAPI support to Cygwin
8 years ago
Jens Steube
9005b66626
Fixed clEnqueueNDRangeKernel(): CL_UNKNOWN_ERROR caused by an invalid work-item count during weak-hash-check
8 years ago
Rosen Penev
2a2bd0e2b1
Restore strerror as %m is unsupported by the BSDs
...
The BSDs just print m instead of the actual error message. Benefit
is not worth the cost.
8 years ago
jsteube
0309afc273
OpenCL Device: Do a check on available constant memory size and abort if it's less than 64kB
8 years ago
jsteube
34aac18faf
OpenCL Runtime: Updated AMDGPU-Pro driver version check, do warn if version 16.60 is detected which is known to be broken
8 years ago
jsteube
351a1f1ffc
Remove some old debugging
8 years ago
jsteube
17548d3ee8
Helper: Added functions to check existence, type, read- and write-permissions and rewrite sources to use them instead of stat()
8 years ago
Jens Steube
07c89833c9
Added hash-mode 14800 = iTunes Backup >= 10.0
8 years ago
philsmd
6fe0173a79
#965 : new hook function to support LZMA1/LZMA2 decompression for -m 11600 = 7-Zip
8 years ago
jsteube
8257883ec1
Added hash-mode 14600 = LUKS
8 years ago
Gabriele Gristina
b66d53bca1
Filter out OpenCL Intel Runtime broken check on Apple
8 years ago
jsteube
78d73e64fe
Workaround added for Intel OpenCL runtime: GPU support is broken, skip the device unless user forces to enable it
8 years ago
jsteube
33aeae6090
For CYGWIN prefer to use "opencl.dll" (installed by drivers) instead of optional "cygOpenCL-1.dll"
8 years ago
jsteube
45479978c4
Fix some warning messages
8 years ago
jsteube
89d0d99bdb
Shader Model version message is confusing users, rename it to CUDA version
8 years ago
jsteube
72af615e8b
WPA cracking: Reuse PBKDF2 intermediate keys if duplicate essid is detected
8 years ago
jsteube
e4ba40dd7e
OpenCL Runtime: Updated AMDGPU-Pro driver version check, do warn if version 16.50 is detected which is known to be broken
8 years ago
jsteube
72599fd109
Fixed kernel loops in leading to slower performance in --increment mode
8 years ago
jsteube
0d31ee3b53
Alternative --progress-only in case of multiple salts cracking
8 years ago
jsteube
367024da3f
Fix --progress-only in case of multiple salts cracking
8 years ago
jsteube
ec5610271a
New option --progress-only: Quickly provides ideal progress step size and time to process it per device based on the user hashes and selected options, then quit
8 years ago
Rosen Penev
5c0bd0a15f
Remove strerror in favor of thread safe %m
8 years ago
jsteube
cc1dca7a2b
Fixed double free (actually, double fclose()) in opencl.c
8 years ago
Rosen Penev
4d09cc10fd
Fix some formats and conversion errors
8 years ago
Rosen Penev
f5f17997b2
Fix cppcheck warnings
8 years ago
Rosen Penev
96783ed7a3
Fix compilation for native Cygwin
8 years ago
jsteube
f6e0f1494a
Add a warning using beignet driver
8 years ago
Gabriele Gristina
49b44da588
Request build log only if size > 1 (v2)
8 years ago
jsteube
e77c029dad
Fixed event_log_warning() format in debug builds
8 years ago
jsteube
ed149fdd52
More benchmark fixes
8 years ago
jsteube
a56aa30754
Fix reported speed for slow hashes which was broken somewhere between hashcat (v3.10-809-g7fe575e) to hashcat (v3.10-820-g899413f)
8 years ago
jsteube
ac8c4d946a
Fix benchmark of extreme slow hashes, updated changes.txt
8 years ago
jsteube
90b9d5c12c
Fix some potential resource leaks in case of an error
8 years ago
jsteube
ea4fd1de50
Remove complicated checks after memory allocation and in case of error print to stderr instead. This makes the memory allocation functions more natural to use.
8 years ago
jsteube
38514895b3
Rewrite some calls to clGetProgramInfo() to make scan-build happy
8 years ago
jsteube
6efe557cdc
Fix cached kernel checksum building on oversized device version or driver version strings
8 years ago
jsteube
0c55626689
Remove kernel exec timeout detection, should no longer occur due to autotune
8 years ago
jsteube
dc2689a996
Move skipped_temp check out of main loop
8 years ago
Gabriele Gristina
6af37ecc10
Prevent exit from benchmark mode if all devices are skipped (OSX)
8 years ago
Jens Steube
1321cbdcf8
Merge pull request #599 from neheb/master
...
Sign fixes
8 years ago
jsteube
105513e307
On OSX, unset device_param->skipped back to true in case skipped_temp is set to true
8 years ago
jsteube
72e39a7ec0
Try to use true and false in case we're handling a bool data-type just as kind of a hint it's a bool
8 years ago
Gabriele Gristina
28ec87aa2b
Skip unstable hash modes (OSX only)
8 years ago
jsteube
888fbdafe7
Using platform vendor name is better than using device vendor name when it comes whatever to use builtin amd_bytealign() or hand-written version because pocl uses its own platform vendor name but uses AMDs device vendor name
8 years ago
jsteube
d62d0d8a71
Fix some error messages
8 years ago
Rosen Penev
c13ef5aacd
Fix formats found by cppcheck
8 years ago
jsteube
c254138c21
Fix some code in opencl.c to make cppcheck happy
8 years ago
jsteube
536dcef7eb
Replaced all calls to strtok() with strtok_r() to ensure thread safety
8 years ago
jsteube
8645571a7c
Improve CPU detection on AMDGPU-Pro
8 years ago
Rosen Penev
22abb22c13
Fix a few printf formats
8 years ago
jsteube
01171a7b3b
Moved OpenCL requirement from v1.1 to v1.2
8 years ago
Gabriele Gristina
dff72bbfb3
Fix clang warning on OSX
8 years ago
jsteube
98b6371cd7
No more branch needed to check cracked after moving check for speed only above
8 years ago