mirror of
https://github.com/hashcat/hashcat.git
synced 2024-11-26 01:50:10 +00:00
Merge branch 'master' of https://github.com/hashcat/hashcat
This commit is contained in:
commit
e3e31adec3
@ -512,6 +512,9 @@ DECLSPEC void mod_512 (u32 *n)
|
|||||||
|
|
||||||
// substract (a -= r):
|
// substract (a -= r):
|
||||||
|
|
||||||
|
if ((r[ 0] | r[ 1] | r[ 2] | r[ 3] | r[ 4] | r[ 5] | r[ 6] | r[ 7] |
|
||||||
|
r[ 8] | r[ 9] | r[10] | r[11] | r[12] | r[13] | r[14] | r[15]) == 0) break;
|
||||||
|
|
||||||
r[ 0] = a[ 0] - r[ 0];
|
r[ 0] = a[ 0] - r[ 0];
|
||||||
r[ 1] = a[ 1] - r[ 1];
|
r[ 1] = a[ 1] - r[ 1];
|
||||||
r[ 2] = a[ 2] - r[ 2];
|
r[ 2] = a[ 2] - r[ 2];
|
||||||
|
@ -99,6 +99,11 @@
|
|||||||
#define REAL_SHM
|
#define REAL_SHM
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// So far, only used by -m 22100 and only affects NVIDIA on OpenCL. CUDA seems to work fine.
|
||||||
|
#ifdef FORCE_DISABLE_SHM
|
||||||
|
#undef REAL_SHM
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef REAL_SHM
|
#ifdef REAL_SHM
|
||||||
#define SHM_TYPE LOCAL_AS
|
#define SHM_TYPE LOCAL_AS
|
||||||
#else
|
#else
|
||||||
|
@ -29,7 +29,7 @@ static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE
|
|||||||
| OPTS_TYPE_PT_ADD80
|
| OPTS_TYPE_PT_ADD80
|
||||||
| OPTS_TYPE_PT_ADDBITS14
|
| OPTS_TYPE_PT_ADDBITS14
|
||||||
| OPTS_TYPE_PT_UTF16LE;
|
| OPTS_TYPE_PT_UTF16LE;
|
||||||
static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED;
|
static const u32 SALT_TYPE = SALT_TYPE_GENERIC;
|
||||||
static const char *ST_PASS = "hashcat";
|
static const char *ST_PASS = "hashcat";
|
||||||
static const char *ST_HASH = "23a8a90599fc5d0d15265d4d3b565f6e:58802707";
|
static const char *ST_HASH = "23a8a90599fc5d0d15265d4d3b565f6e:58802707";
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE
|
|||||||
static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE
|
static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE
|
||||||
| OPTS_TYPE_PT_ADD80
|
| OPTS_TYPE_PT_ADD80
|
||||||
| OPTS_TYPE_PT_ADDBITS14;
|
| OPTS_TYPE_PT_ADDBITS14;
|
||||||
static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED;
|
static const u32 SALT_TYPE = SALT_TYPE_GENERIC;
|
||||||
static const char *ST_PASS = "hashcat";
|
static const char *ST_PASS = "hashcat";
|
||||||
static const char *ST_HASH = "53c724b7f34f09787ed3f1b316215fc35c789504:hashcat1";
|
static const char *ST_HASH = "53c724b7f34f09787ed3f1b316215fc35c789504:hashcat1";
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE
|
|||||||
static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_BE
|
static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_BE
|
||||||
| OPTS_TYPE_PT_ADD80
|
| OPTS_TYPE_PT_ADD80
|
||||||
| OPTS_TYPE_PT_ADDBITS15;
|
| OPTS_TYPE_PT_ADDBITS15;
|
||||||
static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED;
|
static const u32 SALT_TYPE = SALT_TYPE_GENERIC;
|
||||||
static const char *ST_PASS = "hashcat";
|
static const char *ST_PASS = "hashcat";
|
||||||
static const char *ST_HASH = "bfede293ecf6539211a7305ea218b9f3f608953130405cda9eaba6fb6250f824:7218532375810603";
|
static const char *ST_HASH = "bfede293ecf6539211a7305ea218b9f3f608953130405cda9eaba6fb6250f824:7218532375810603";
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE
|
|||||||
static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE
|
static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE
|
||||||
| OPTS_TYPE_PT_ADD80
|
| OPTS_TYPE_PT_ADD80
|
||||||
| OPTS_TYPE_PT_ADDBITS14;
|
| OPTS_TYPE_PT_ADDBITS14;
|
||||||
static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED;
|
static const u32 SALT_TYPE = SALT_TYPE_GENERIC;
|
||||||
static const char *ST_PASS = "hashcat";
|
static const char *ST_PASS = "hashcat";
|
||||||
static const char *ST_HASH = "e69b7a7fe1bf2ad9ef116f79551ee919:baa038987e582431a6d";
|
static const char *ST_HASH = "e69b7a7fe1bf2ad9ef116f79551ee919:baa038987e582431a6d";
|
||||||
|
|
||||||
@ -60,8 +60,8 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
|
|||||||
token.attr[0] = TOKEN_ATTR_VERIFY_LENGTH
|
token.attr[0] = TOKEN_ATTR_VERIFY_LENGTH
|
||||||
| TOKEN_ATTR_VERIFY_HEX;
|
| TOKEN_ATTR_VERIFY_HEX;
|
||||||
|
|
||||||
token.len_min[1] = 19;
|
token.len_min[1] = SALT_MIN;
|
||||||
token.len_max[1] = 19;
|
token.len_max[1] = SALT_MAX;
|
||||||
token.attr[1] = TOKEN_ATTR_VERIFY_LENGTH;
|
token.attr[1] = TOKEN_ATTR_VERIFY_LENGTH;
|
||||||
|
|
||||||
if (hashconfig->opts_type & OPTS_TYPE_ST_HEX)
|
if (hashconfig->opts_type & OPTS_TYPE_ST_HEX)
|
||||||
|
@ -27,7 +27,7 @@ static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE
|
|||||||
static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE
|
static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE
|
||||||
| OPTS_TYPE_PT_ADD80
|
| OPTS_TYPE_PT_ADD80
|
||||||
| OPTS_TYPE_PT_ADDBITS14;
|
| OPTS_TYPE_PT_ADDBITS14;
|
||||||
static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED;
|
static const u32 SALT_TYPE = SALT_TYPE_GENERIC;
|
||||||
static const char *ST_PASS = "hashcat";
|
static const char *ST_PASS = "hashcat";
|
||||||
static const char *ST_HASH = "799dc7d9aa4d3f404cc21a4936dbdcde:68617368636174"; //6d455b6e8945bebfd0a5878eaa201523:hashcat"; //c8f4f1202e7aaebb14e49903ca973d39:943038186";
|
static const char *ST_HASH = "799dc7d9aa4d3f404cc21a4936dbdcde:68617368636174"; //6d455b6e8945bebfd0a5878eaa201523:hashcat"; //c8f4f1202e7aaebb14e49903ca973d39:943038186";
|
||||||
|
|
||||||
|
@ -77,7 +77,7 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY
|
|||||||
// NVIDIA GPU
|
// NVIDIA GPU
|
||||||
if (device_param->opencl_device_vendor_id == VENDOR_ID_NV)
|
if (device_param->opencl_device_vendor_id == VENDOR_ID_NV)
|
||||||
{
|
{
|
||||||
hc_asprintf (&jit_build_options, "-D _unroll");
|
hc_asprintf (&jit_build_options, "-D _unroll -D FORCE_DISABLE_SHM");
|
||||||
}
|
}
|
||||||
|
|
||||||
// AMD-GPU-PRO
|
// AMD-GPU-PRO
|
||||||
|
@ -11,12 +11,12 @@ use warnings;
|
|||||||
use Digest::MD5 qw (md5_hex);
|
use Digest::MD5 qw (md5_hex);
|
||||||
use Digest::SHA qw (sha1_hex);
|
use Digest::SHA qw (sha1_hex);
|
||||||
|
|
||||||
sub module_constraints { [[0, 256], [19, 19], [0, 55], [-1, -1], [-1, -1]] }
|
sub module_constraints { [[0, 256], [0, 256], [0, 55], [-1, -1], [-1, -1]] }
|
||||||
|
|
||||||
sub module_generate_hash
|
sub module_generate_hash
|
||||||
{
|
{
|
||||||
my $word = shift;
|
my $word = shift;
|
||||||
my $salt = random_hex_string (19, 19);
|
my $salt = shift;
|
||||||
|
|
||||||
my $digest = md5_hex (sha1_hex ($salt) . md5_hex ($word));
|
my $digest = md5_hex (sha1_hex ($salt) . md5_hex ($word));
|
||||||
|
|
||||||
|
@ -11,18 +11,13 @@ use warnings;
|
|||||||
use Digest::MD5 qw (md5_hex);
|
use Digest::MD5 qw (md5_hex);
|
||||||
use Digest::SHA qw (sha1_hex);
|
use Digest::SHA qw (sha1_hex);
|
||||||
|
|
||||||
sub module_constraints { [[0, 256], [1, 256], [0, 55], [-1, -1], [-1, -1]] }
|
sub module_constraints { [[0, 256], [0, 256], [0, 55], [0, 55], [0, 55]] }
|
||||||
|
|
||||||
sub module_generate_hash
|
sub module_generate_hash
|
||||||
{
|
{
|
||||||
my $word = shift;
|
my $word = shift;
|
||||||
my $salt = shift;
|
my $salt = shift;
|
||||||
|
|
||||||
if (length $salt == 0)
|
|
||||||
{
|
|
||||||
$salt = random_hex_string (1, 256);
|
|
||||||
}
|
|
||||||
|
|
||||||
my $digest = md5_hex ($salt . sha1_hex ($salt . $word));
|
my $digest = md5_hex ($salt . sha1_hex ($salt . $word));
|
||||||
|
|
||||||
my $hash = sprintf ("%s:%s", $digest, $salt);
|
my $hash = sprintf ("%s:%s", $digest, $salt);
|
||||||
|
Loading…
Reference in New Issue
Block a user