1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-11-23 08:38:09 +00:00
Commit Graph

1532 Commits

Author SHA1 Message Date
jsteube
52a97fee75 Improve rule engine performance by improving append_0x80_xxx() performance by using precomputed values from constant memory 2017-08-27 14:22:20 +02:00
jsteube
3260000357 Fix whirlpool pure kernel in -a 0 mode 2017-08-26 19:51:37 +02:00
jsteube
e3810d054b Fix some use of pw_t tmp variable 2017-08-26 19:48:38 +02:00
jsteube
5e01ff4c53 Refactor some u32x to u32 where u32x is not needed 2017-08-26 18:31:50 +02:00
jsteube
1aa76eac15 Refactor use of __constant to match up with the user selected attack mode 2017-08-25 17:52:55 +02:00
jsteube
938c281ee0 Resurrect some volatile variables in order to correctly compile pure kernels on AMD drivers 2017-08-25 17:06:07 +02:00
jsteube
48fbe81a09 Add more inline assembly for AMD ROCm 2017-08-25 16:33:00 +02:00
jsteube
6c619155c3 Workaround ROCm compiler error in aes256_ExpandKey() 2017-08-25 12:10:36 +02:00
jsteube
8c9c36ee2a Fix out-of-bound access in aesXXX_InvertKey() 2017-08-25 11:52:07 +02:00
jsteube
bed7e8f466 Remove unused truncate_block_xxx_xx() functions and update kernels to use the _S function 2017-08-24 20:07:43 +02:00
jsteube
51dc1c7db3 Use truncate_block_4x4_le_S() instead of truncate_block_4x4_le() in -m 6800 2017-08-24 19:53:29 +02:00
jsteube
9b73c464d2 Fix typo in macro 2017-08-24 17:19:16 +02:00
jsteube
7b443ee7ff Optimize performance of rule_op_mangle_title_sep(), rule_op_mangle_purgechar() and rule_op_mangle_replace() 2017-08-24 17:14:33 +02:00
jsteube
0de41c2716 Some more optimizations for rule engine 2017-08-24 15:09:55 +02:00
jsteube
9f8c5a253d More rule engine performance optimizations 2017-08-24 00:49:46 +02:00
jsteube
0783289e2f Optimized a0 pure kernel for AMD 2017-08-23 13:40:22 +02:00
jsteube
a5659d5619 Also switch optimized kernels rule engine to make use of kernel rules in constant memory 2017-08-23 12:46:14 +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
8853884f2a Fix append_four_byte() in case sm8 is 0 2017-08-21 16:04:43 +02:00
jsteube
f32e113942 Add missing case in append_block() in pure kernel rule engine 2017-08-20 15:08:51 +02:00
jsteube
6907981f08 Backport current state of optimized kernel rule engine to CPU 2017-08-20 12:50:24 +02:00
jsteube
508f1562f2 Fix --stdout kernels, gid_max was still set to u32 2017-08-20 12:13:34 +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
d9c906e134 Move 0x80 to hardcoded position for sha3-256 bit in order to allow ROCm compiler to use registers only 2017-08-18 16:22:25 +02:00
jsteube
694cc0b740 Remove all calls to overwrite_at_* functions 2017-08-17 16:20:01 +02:00
jsteube
e984a829ea Remove no longer needed overwrite_at_* functions 2017-08-17 15:53:09 +02:00
jsteube
bf299fe043 Optimized 3DES for rocm 2017-08-17 14:03:55 +02:00
jsteube
ad1ce462d1 Get rid of ceil() in OpenCL kernels 2017-08-17 13:43:35 +02:00
jsteube
53f53fe014 Reduced number of required registers in SIP based on maximum possible esalt length 2017-08-17 12:16:49 +02:00
jsteube
9ee5da40e0 Workaround rocm compiler error for -m 15300 2017-08-17 11:25:34 +02:00
jsteube
88e995ddcf Replace some SIMD related function calls 2017-08-17 11:18:39 +02:00
jsteube
5b5bdf3889 Replace some SIMD related function calls 2017-08-17 10:18:17 +02:00
jsteube
967e96728d Make all the OpenCL kernel function includes static 2017-08-16 20:27:17 +02:00
jsteube
21e9c63d46 Fix rotl64() the same was as rotr64() 2017-08-16 17:58:33 +02:00
jsteube
58012ada0c Fall back to old rotr64 optimization for AMD 2017-08-16 16:14:46 +02:00
philsmd
4a89172140
reformatting; replaced some tabs with spaces 2017-08-16 13:46:40 +02:00
jsteube
ec874c1d59 Optimized the following pure kernel rule engine functions:
- mangle_lrest()
- mangle_lrest_ufirst()
- mangle_urest()
- mangle_urest_lfirst()
- mangle_trest()
- mangle_toggle_at()
- mangle_reverse()
- mangle_dupeword()
- mangle_reflect()
- mangle_rotate_left()
- mangle_rotate_right()
- mangle_switch_first()
- mangle_switch_last()
- mangle_switch_at()
- mangle_title_sep()
- mangle_title_sep()
Added some helper functions:
- generate_cmask()
- append_four_byte()
- append_three_byte()
- append_two_byte()
- append_one_byte()
- append_block()
- exchange_byte()
Removed some helper functions:
- upper_at()
- lower_at()
- toggle_at()
- mangle_switch()
NOTE: Changes need to be backported to CPU when finished
2017-08-13 16:43:46 +02:00
jsteube
9a57c4b20e Fix missing boundary check in pure kernel rule engine 2017-08-12 13:32:05 +02:00
jsteube
dcaa91a88f Fix rule engine function call in amp_a0 2017-08-12 13:28:31 +02:00
jsteube
0b0abb5c12 Prepare pure kernel rule engine for performance optimization 2017-08-12 13:04:52 +02:00
jsteube
98b4aab9d0 Update inc_rp_optimized to inc_rp for pure kernels 2017-08-11 23:51:17 +02:00
jsteube
cb1fe251de Add missing functions to pure kernel rule engine 2017-08-11 22:58:37 +02:00
jsteube
07b54c1257 Replace code to use pure kernel rule engine for slow hashes 2017-08-11 16:21:19 +02:00
jsteube
8a0d21360b Prepare for pure kernel rule engine support 2017-08-11 16:09:12 +02:00
jsteube
34d882a116 Rename inc_rp.X to inc_rp_optimized.X 2017-08-11 11:25:47 +02:00
jsteube
68a8f70edb Mix in pure kernel functions in various optimized kernels 2017-08-10 13:56:53 +02:00
jsteube
66f7590883 Mix in pure kernel functions in various optimized kernels 2017-08-10 12:38:42 +02:00
jsteube
a228e296da Fix some whirlpool vector function declaration 2017-08-10 12:18:55 +02:00
jsteube
560a786ea7 Mix in pure kernel functions in various optimized kernels 2017-08-10 12:04:07 +02:00
jsteube
4b2f3011e9 Mix in pure kernel functions to PDF 1.7 Level 8 (Acrobat 10 - 11) 2017-08-10 10:43:30 +02:00
jsteube
a956a84edb Fix vector datatype in -m 2810 2017-08-10 09:56:02 +02:00
jsteube
e6cb69e4cb Add pure kernels for JKS Java Key Store Private Keys (SHA1) 2017-08-09 15:16:12 +02:00
jsteube
adacccecdf Add pure kernels for FileZilla Server >= 0.9.55 2017-08-09 14:48:47 +02:00
jsteube
4c7f61e473 Add pure kernels for sha1(CX) 2017-08-09 14:26:39 +02:00
jsteube
b4c9f46205 Prepare sha1(CX) optimized kernel for pure kernel version 2017-08-09 13:21:33 +02:00
jsteube
29e13d6b77 Add pure kernels for OpenCart 2017-08-09 13:17:15 +02:00
jsteube
b6cf3144de Prepare OpenCart optimized kernel for pure kernel version 2017-08-09 12:35:01 +02:00
jsteube
4443ecd861 Add pure kernels for Windows Phone 8+ PIN/password 2017-08-08 15:26:34 +02:00
jsteube
a5c0aa6041 Add pure kernels for PeopleSoft PS_TOKEN 2017-08-08 11:45:22 +02:00
jsteube
24a2fb01aa Fix missing barrier in -m 8500 2017-08-07 18:58:23 +02:00
jsteube
0a676b549f Remove global barrier when not needed to workaround Intel OpenCL runtime bug 2017-08-07 17:25:15 +02:00
jsteube
b9876c100b Add pure kernels for AxCrypt in-memory SHA1 2017-08-07 15:28:23 +02:00
jsteube
5c6b3fa7ab Add pure kernels for Kerberos 5 TGS-REP etype 23 2017-08-07 15:22:18 +02:00
jsteube
51128473bc Add pure kernels for ColdFusion 10+ 2017-08-07 14:22:15 +02:00
jsteube
4f72c8bee6 Add pure kernels for SIP digest authentication (MD5) 2017-08-07 13:39:17 +02:00
jsteube
b1f9ed4a7c Add pure kernels for MySQL CRAM (SHA1) 2017-08-06 15:33:38 +02:00
jsteube
7548e5f85a Add pure kernels for PostgreSQL CRAM (MD5) 2017-08-06 13:54:02 +02:00
jsteube
c5c12f89c1 Rewrite code around amd_bytealign to be of type BE to save a branch afterwards 2017-08-05 19:46:56 +02:00
jsteube
a53d9e09de Fix some issue with offset_minus_4 2017-08-04 14:12:58 +02:00
jsteube
c9cae1f663 Add pure kernels for PrestaShop 2017-08-04 13:03:54 +02:00
jsteube
bc9f721dcd Mix in pure kernel functions to PDF 1.1 - 1.3 (Acrobat 2 - 4) 2017-08-03 20:30:46 +02:00
jsteube
177800d1d0 Add pure kernels for RAdmin2 2017-08-03 15:21:39 +02:00
jsteube
3a042972a4 Mix in pure kernel functions to MS Office <= 2003 $3/$4, SHA1 + RC4 2017-08-03 14:52:09 +02:00
jsteube
a650b0864e Mix in pure kernel functions to MS Office <= 2003 $0/$1, MD5 + RC4 2017-08-03 14:44:09 +02:00
jsteube
37432b19bc Mix in pure kernel functions to MS Office <= 2003 $0/$1, MD5 + RC4 2017-08-03 14:42:11 +02:00
jsteube
14983a7542 Simplify RACF kernel 2017-08-03 14:27:53 +02:00
jsteube
1f42377931 Simplify Lotus Notes/Domino 5 kernel 2017-08-03 14:11:31 +02:00
jsteube
c68191e47a Add pure kernels for DNSSEC (NSEC3) 2017-08-03 13:05:30 +02:00
jsteube
54eb0b158d Prepare DNSSEC (NSEC3) optimized kernel for pure kernel version 2017-08-03 12:35:05 +02:00
jsteube
c2a8ae0207 Add pure kernels for WBB3 (Woltlab Burning Board) 2017-08-03 12:21:53 +02:00
jsteube
7cf3c29ef5 Mix in pure kernel functions to DNSSEC (NSEC3) 2017-08-02 14:34:36 +02:00
jsteube
aafda5fa1b Add pure kernels for Citrix NetScaler 2017-08-02 14:12:27 +02:00
jsteube
5da64a1a43 Mix in pure kernel functions to SAP CODVN F/G (PASSCODE) 2017-08-02 13:24:54 +02:00
jsteube
bc6b8ca1c9 Mix in pure kernel functions to SAP CODVN B (BCODE) 2017-08-02 13:14:01 +02:00
jsteube
89d52f8209 Add pure kernels for Kerberos 5 AS-REQ Pre-Auth etype 23 2017-08-01 17:39:12 +02:00
jsteube
af6052d34b Revert some invalid rename of kernel files 2017-08-01 15:01:16 +02:00
jsteube
2802f1d592 Fix vector function calls and datatypes 2017-08-01 14:56:09 +02:00
jsteube
1eb249c5b4 Add pure kernels for IPMI2 RAKP HMAC-SHA1 2017-08-01 14:42:28 +02:00
jsteube
83d37ebeff Add pure kernels for FortiGate (FortiOS) 2017-08-01 14:16:27 +02:00
jsteube
cbd8f81a1c Add pure kernels for RipeMD160 2017-08-01 09:59:20 +02:00
jsteube
6946329b02 Fix BF pure kernels for NetNTLMv2 2017-07-31 15:37:49 +02:00
jsteube
a9fed50ce0 Add pure kernels for NetNTLMv2 2017-07-31 15:29:28 +02:00
jsteube
443fa960d3 Fix vector function calls 2017-07-31 15:28:22 +02:00
jsteube
50aeade65c Add pure kernels for NetNTLMv1 / NetNTLMv1+ESS 2017-07-31 10:23:04 +02:00
jsteube
5d137ba036 Add pure kernels for IKE-PSK SHA1 2017-07-31 09:36:57 +02:00
jsteube
942b7068be Add pure kernels for IKE-PSK MD5 2017-07-29 23:19:15 +02:00
jsteube
b541e46b9b Add pure kernels for Half MD5 2017-07-29 18:53:08 +02:00
jsteube
e0a565234a Optimized -m 7700 for ROCm 2017-07-28 20:52:53 +02:00
jsteube
332396a003 Fix SCRYPT on ROCm 2017-07-28 02:28:52 +02:00
jsteube
a85be1d0f0 Fix some const keywords in inc_truecrypt_xts.cl 2017-07-24 14:46:58 +02:00
jsteube
02e2279d59 Optimized -m 8500 for ROCm 2017-07-24 14:33:34 +02:00
jsteube
5bcda7d05a Optimized -m 5300 and -m 5400 for ROCm 2017-07-24 13:18:38 +02:00
jsteube
772441448a Optimized -m 8000 for ROCm 2017-07-24 13:13:35 +02:00
jsteube
9562d07264 Replace bitwise swaps with rotate() versions for AMD 2017-07-23 17:01:15 +02:00
jsteube
3125a756d9 Remove some AMD _unroll restrictions no longer required with ROCm 2017-07-23 14:44:20 +02:00
jsteube
4dca908cdf Fix a typo in OpenCL/m01460_a3-optimized.cl 2017-07-23 14:06:32 +02:00
jsteube
4c71bc984e Fix const keywords in -m 8600 2017-07-23 13:01:54 +02:00
jsteube
c255a967df Fix some types in rotate functions 2017-07-22 18:59:01 +02:00
jsteube
c289fcb2b0 Merge branch 'master' of https://github.com/hashcat/hashcat 2017-07-22 18:06:41 +02:00
jsteube
5e34ec348e Optimize kernels for ROCm 1.6
- Remove inline keywords
- Remove volatile keywords where it causes ROCm to slow down
- Replace DES functions (looks like bitselect somehow is no longer mapped to BFI_INT)
2017-07-22 18:05:18 +02:00
jsteube
27edc07c2f Add pure kernels for iSCSI CHAP authentication, MD5(CHAP) 2017-07-21 16:59:10 +02:00
jsteube
e9821a01ba Add pure kernels for sha1($salt.$pass.$salt) 2017-07-21 16:42:55 +02:00
jsteube
9515927cf7 Add pure kernels for sha1(md5()) 2017-07-21 15:44:29 +02:00
jsteube
1fdb9d1d7e Add pure kernels for sha1($salt.sha1($pass)) 2017-07-20 18:06:54 +02:00
jsteube
15d725e6cc Add pure kernels for sha1(sha1($pass)) 2017-07-20 17:50:07 +02:00
jsteube
4e97a4db24 Add pure kernels for md5(sha1($pass)) 2017-07-20 17:38:43 +02:00
jsteube
03bb234045 Preparation for WPA/WPA2 AES-CMAC: works till PMK 2017-07-20 12:46:18 +02:00
jsteube
441434840c Fix broken -m 7900 after migration to pure kernel 2017-07-19 17:45:58 +02:00
jsteube
eae9329761 Workaround some AMD JiT compiler segfault on complex kernels 2017-07-19 13:34:36 +02:00
jsteube
920911b56e Migrate MD5-PIX and MD5-ASA to run as optimized kernels 2017-07-18 15:53:25 +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
jsteube
2616d54794 Add -L kernel for md5(strtoupper(md5($pass))) 2017-07-18 12:01:18 +02:00
jsteube
0e7d40dd3d Add -L kernel for md5($salt.md5($pass.$salt)) 2017-07-18 11:52:14 +02:00
jsteube
ad9ee5c5b1 Add -L kernel for md5($salt.md5($salt.$pass)) 2017-07-18 11:35:38 +02:00
jsteube
80324918e9 Add -L kernel for md5(md5($pass).md5($salt)) 2017-07-17 20:18:56 +02:00
jsteube
945cf9be2f md5($salt.$pass.$salt) 2017-07-17 17:24:32 +02:00
jsteube
50760b57e4 Add -L kernel for md5(.md5()), MediaWiki B type 2017-07-17 15:27:37 +02:00
jsteube
d08c7689bb Add -L kernel for md5(md5(s).md5(p)), MyBB 1.2+, IPB2+ 2017-07-17 10:59:09 +02:00
jsteube
90a8f58459 Add -L kernel for md5(md5()), vBulletin, PHPS 2017-07-17 10:18:26 +02:00
jsteube
e863a12624 Some fixes for inc_hash_sha224.cl and inc_hash_sha384.cl 2017-07-17 08:40:36 +02:00
jsteube
fe38379d0d Add -L kernel for SHA224 2017-07-17 08:29:46 +02:00
jsteube
dbf74b68b2 Add -L kernel for Domain Cached Credentials (DCC), MS Cache 2017-07-16 19:38:38 +02:00
jsteube
cc4ff214d6 Add -L kernel for NTLM 2017-07-16 16:50:36 +02:00
jsteube
b2f3bfb06c Add -L kernel for MD4 2017-07-16 16:44:53 +02:00
Jens Steube
3d9b071e1e Improve CPU cracking speed by replacing vector comparison functions with the more advanced ones available on CPU 2017-07-16 12:30:09 +02:00
jsteube
2dd1833998 Move from ld.global.v4.u32 to ld.const.v4.u32 in _a3 kernels 2017-07-15 13:35:24 +02:00
jsteube
cd313c9c28 Add -L kernel for MySQL4.1/MySQL5 2017-07-14 23:58:47 +02:00
jsteube
757f3a39c2 Accidentially pushed experimental -m 2500 kernel 2017-07-14 23:10:05 +02:00
jsteube
8434e451ef Add -L support for all SHA512 based generic hashes 2017-07-14 17:25:23 +02:00
jsteube
7205f450dd Backport more HMAC functions in inc_hash_xxx.cl from global to private 2017-07-14 16:58:30 +02:00
jsteube
0334cdb277 Fix some datatypes 2017-07-14 16:44:30 +02:00
jsteube
5c75eb84b0 Add -L support for all SHA256 based generic hashes 2017-07-14 15:02:21 +02:00
jsteube
e2371540e0 Add missing kernel in -m m00150_a1-pure.cl and m00160_a1-pure.cl 2017-07-14 14:26:37 +02:00
jsteube
c4098e2230 Fix invalid use of a non-vector function from within a vector function 2017-07-14 14:16:48 +02:00
jsteube
e4683aebb8 Add -L support for all sha1 based generic hashes 2017-07-14 13:40:14 +02:00
jsteube
696afc2a1b Fix selector in switch_buffer_by_offset_1x64_be_S() 2017-07-14 13:37:23 +02:00
jsteube
4e0972ce3a Add xxx_update_vector_swap(), xxx_update_vector_utf16le_swap() and xxx_update_vector_utf16beN() for later use 2017-07-14 13:24:40 +02:00
jsteube
9c6c21490f Add *_hmac_init_swap for later use 2017-07-13 19:22:31 +02:00