1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-12-28 01:18:35 +00:00
Commit Graph

3807 Commits

Author SHA1 Message Date
Rosen Penev
2f3171fd98
Fix signed overflow warnings 2017-06-23 21:44:50 -07:00
jsteube
f9b7f1f758 Fix package_bin.sh script to use hashcat.hcstat2 2017-06-23 14:53:02 +02:00
jsteube
7ca8ca241b Use hc_lzma2_decompress() instead of Lzma2Decode() directly 2017-06-23 14:50:44 +02:00
jsteube
a993395f28 Add code to read LZMA compressed hashcat.hcstat2 2017-06-23 14:43:43 +02:00
jsteube
d1f57fd3f7 LZMA compress version of hashcat.hcstat2 2017-06-23 14:37:45 +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
120cf1d1ba Removed some unused functions, added -m 500 kernel with length 256 support but not activated because too slow 2017-06-23 09:24:50 +02:00
jsteube
71d4926afa Converted -m 400 to password length 256 support
Something weird happend here, read on!

I've expected some performance drop because this algorithm is using the password data itself inside the iteration loop.
That is different to PBKDF2, which I've converted in mode 2100 before and which did not show any performance as expected.

So after I've finished converting this kernel and testing everything works using the unit test, I did some benchmarks to see how much the
performance drop is.

On my 750ti, the speed dropped (minimal) from 981kH/s -> 948kH/s, that's mostly because of the SIMD support i had to drop.
If I'd turn off the SIMD support in the original, the drop would be even less, that us 967kH/s -> 948kH/s which is a bit of a more reasable
comparison in case we just want to rate the drop that is actually caused by the code change itself.

The drop was acceptable for me, so I've decided to check on my GTX1080.Now the weird thing: The performance increased from 6619kH/s to
7134kH/s!!

When I gave it a second thought, it turned out that:

1. The GTX1080 is a scalar GPU so it wont suffer from the drop of the SIMD code as the 750ti did
2. There's a change in how the global data (password) is read into the registers, it reads only that amount of data it actually needs by using
the pw_len information
3. I've added a barrier for CLK_GLOBAL_MEM_FENCE as it turned out to increase the performance in the 750ti

Note that this kernel is now branched into password length < 40 and larger.

There's a large drop on performance where SIMD is really important, for example CPU.

We could workaround this issue by sticking to SIMD inside the length < 40 branch, but I don't know yet how this can be done efficiently.
2017-06-22 13:49:15 +02:00
Jens Steube
0787b91327 Merge branch 'master' of https://github.com/hashcat/hashcat 2017-06-22 10:50:20 +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
Jens Steube
45b14ebf1c While not required now, it's better to use scalar functions in amplifier kernel in case it get's changed in the future 2017-06-22 10:28:35 +02:00
jsteube
cea78024bf Fix -m 2100 cracking if (password length & 31) == 0 2017-06-21 16:21:12 +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
2c92465036 Add HMAC functionality to inc_hash_md4.cl and make DCC2 use it, resulting in support for longer domain names 2017-06-19 16:42:21 +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
7905d79a28 Limit -m 2100 password length to 27 because if utf16 2017-06-16 23:17:56 +02:00
jsteube
c9caca2b0c Increase max password length for DCC2 to 32 2017-06-16 19:28:55 +02:00
jsteube
2c95be5c87 Do not modify a specific thread count if a kernel forces it to run on a specific thread count 2017-06-16 14:02:15 +02:00
Jens Steube
bd01228ad5 Get rid of reqd_work_group_size(), no longer needed 2017-06-16 13:33:00 +02:00
Jens Steube
1ef4abae70 Set self-test kernel-thread always to 1 except it's a bitsliced algorithm in BF, this helps algorithms that set a fixed thread count on kernel function declaration 2017-06-16 13:28:56 +02:00
jsteube
8a3ed7fe75 Small WPA improvement, do not check the same candidate twice for LE and BE 2017-06-16 11:33:49 +02:00
jsteube
cf57365e7c Check hashes_shown[] whenever calling mark_hash directly.
Not really needed right now (because those algorithms to have a single digest per salt), but this can change in the future
2017-06-16 10:48:10 +02:00
jsteube
4b2d9f0f29 Fix for https://github.com/hashcat/hashcat/issues/1276 2017-06-16 10:26:15 +02:00
jsteube
e9c010115d Fix some spacing 2017-06-16 10:25:36 +02:00
jsteube
d7e66996c9 Add support for self-test modes that use a binary hashfile (wpa, tc, vc, etc) 2017-06-14 14:05:50 +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
e87fb31d3f WPA cracking: Improved nonce-error-corrections mode to use a both positive and negative corrections 2017-06-12 09:59:15 +02:00
jsteube
3b3e3ae8df Fix README, update C standard 2017-06-10 14:50:03 +02:00
jsteube
9a8f4036ec Set github master back into development mode 2017-06-10 13:02:20 +02:00
Jens Steube
acd93cf780 Mark release for production 2017-06-09 17:37:01 +02:00
Jens Steube
c5c2760a2e Final v3.6.0 commit 2017-06-09 17:27:07 +02:00
Jens Steube
5be3840d9a Add some hint for the user to a scrypt error message 2017-06-09 10:20:05 +02:00
Jens Steube
7e5b8d3f25 Added hash-mode 15500 = JKS Java Key Store Private Keys (SHA1) 2017-06-09 09:56:06 +02:00
Jens Steube
9d49ae547b Merge pull request #1271 from DoZ10/chacha20
Chacha20: Fixed error in format parser separator validation
2017-06-08 19:15:25 +02:00
DoZ10
e6c549e4a0 Complied with other parsers coding style 2017-06-07 08:28:13 -04:00
Jens Steube
1a2018ace9 Merge pull request #1272 from philsmd/master
test: added missing verify part for -m 15400 = chacha
2017-06-07 13:50:37 +02:00
philsmd
c5f88f1a60 test: added missing verify part for -m 15400 = chacha 2017-06-07 13:48:05 +02:00
DoZ10
531473cc72 Fix. Added undef INVALID_SEPARATOR_POINTER 2017-06-06 13:29:50 -04:00
DoZ10
990a72affe Fixed error in separator check 2017-06-06 13:26:10 -04:00
Jens Steube
47c4ce58d3 Merge pull request #1270 from roycewilliams/master
$chacha20$ (all lower case) per @magnumripper
2017-06-06 15:45:36 +02:00
Royce Williams
b9d68d2377 $chacha20$ (all lower case) per @magnumripper 2017-06-06 04:51:32 -08:00
Jens Steube
827afc407b Merge pull request #1269 from Chick3nman/master
Cosmetic change to modes 9810/9820
2017-06-06 11:13:54 +02:00
Chick3nman
e7c36bc97f Cosmetic change
Fixed column spacing for modes 9810/9820
2017-06-06 03:21:31 -05:00
Chick3nman
6a38f3c477 Fixed mode 9810/9820 labeling
Removed $4 from label to avoid confusion.
2017-06-06 03:16:29 -05:00
Chick3nman
a973d4b94b Fixed mode 9810/9820 labeling
Removed $4 from label to avoid confusion.
2017-06-06 03:09:50 -05:00
jsteube
e4727fad87 Prepare for next release v3.6.0 2017-06-06 09:13:34 +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