1
mirror of https://github.com/hashcat/hashcat synced 2025-03-22 21:14:22 +01:00

Merge branch 'master' into metal_prepare_kernelIncludes_v2

This commit is contained in:
Gabriele Gristina 2022-02-02 07:33:45 +01:00 committed by GitHub
commit f21ae3219c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
52 changed files with 173 additions and 137 deletions

@ -44,6 +44,7 @@
- Association Attack: Enable module specific pw_min and pw_max settings to avoid false positives in -a 9 attack-mode
- Autotune: Added error handling. By default skipping device on error, with --force using accel/loops/threads min values instead
- Backend: with kernel build options, switch from -I to -D INCLUDE_PATH, in order to support Apple Metal runtime
- Backend Info: Added generic system info to output (must be completed on Windows side)
- Backend Info: Added local memory size to output
- CUDA Backend: moved functions to ext_cuda.c/ext_nvrtc.c and includes to ext_cuda.h/ext_nvrtc.h
- Hash Info: show more information (Updated Hash-Format. Added Autodetect, Self-Test, Potfile and Plaintext encoding)

@ -21,6 +21,13 @@
#endif // __APPLE__
#endif // _WIN
#if !defined (_WIN) && !defined (__CYGWIN__) && !defined (__MSYS__)
#include <sys/utsname.h>
#if !defined (__linux__)
#include <sys/sysctl.h>
#endif // ! __linux__
#endif // ! _WIN && | __CYGWIN__ && ! __MSYS__
void welcome_screen (hashcat_ctx_t *hashcat_ctx, const char *version_tag);
void goodbye_screen (hashcat_ctx_t *hashcat_ctx, const time_t proc_start, const time_t proc_stop);

@ -801,6 +801,65 @@ void backend_info (hashcat_ctx_t *hashcat_ctx)
{
const backend_ctx_t *backend_ctx = hashcat_ctx->backend_ctx;
event_log_info (hashcat_ctx, "System Info:");
event_log_info (hashcat_ctx, "============");
event_log_info (hashcat_ctx, NULL);
#if defined (_WIN) || defined (__CYGWIN__) || defined (__MSYS__)
// TODO
event_log_info (hashcat_ctx, "OS.Name......: Windows");
event_log_info (hashcat_ctx, "OS.Release...: N/A");
event_log_info (hashcat_ctx, "HW.Platform..: N/A");
event_log_info (hashcat_ctx, "HW.Model.....: N/A");
#else
struct utsname utsbuf;
bool rc_uname = false;
bool rc_sysctl = false;
char *hw_model_buf = NULL;
#if !defined (__linux__)
size_t hw_model_len = 0;
if (sysctlbyname ("hw.model", NULL, &hw_model_len, NULL, 0) == 0 && hw_model_len > 0)
{
hw_model_buf = (char *) hcmalloc (hw_model_len);
if (sysctlbyname ("hw.model", hw_model_buf, &hw_model_len, NULL, 0) != 0)
{
hw_model_buf = NULL;
hw_model_len = 0;
hcfree (hw_model_buf);
}
else
{
rc_sysctl = true;
}
}
#endif // ! __linux__
if (uname (&utsbuf) == 0)
{
rc_uname = true;
}
event_log_info (hashcat_ctx, "OS.Name......: %s", (rc_uname == true) ? utsbuf.sysname : "N/A");
event_log_info (hashcat_ctx, "OS.Release...: %s", (rc_uname == true) ? utsbuf.release : "N/A");
event_log_info (hashcat_ctx, "HW.Model.....: %s", (rc_sysctl == true) ? hw_model_buf : "N/A");
event_log_info (hashcat_ctx, "HW.Platform..: %s", (rc_uname == true) ? utsbuf.machine : "N/A");
if (rc_sysctl == true)
{
hcfree (hw_model_buf);
}
#endif // _WIN || __CYGWIN__ || __MSYS__
event_log_info (hashcat_ctx, NULL);
if (backend_ctx->cuda)
{
event_log_info (hashcat_ctx, "CUDA Info:");

@ -9,7 +9,7 @@ use strict;
use warnings;
use Digest::MD5 qw (md5);
use Digest::HMAC qw (hmac hmac_hex);
use Digest::HMAC qw (hmac_hex);
sub module_constraints { [[0, 256], [0, 256], [0, 55], [0, 55], [-1, -1]] }

@ -9,7 +9,7 @@ use strict;
use warnings;
use Digest::MD5 qw (md5);
use Digest::HMAC qw (hmac hmac_hex);
use Digest::HMAC qw (hmac_hex);
sub module_constraints { [[0, 256], [0, 256], [0, 55], [0, 55], [-1, -1]] }

@ -9,7 +9,7 @@ use strict;
use warnings;
use Digest::SHA1 qw (sha1);
use Digest::HMAC qw (hmac hmac_hex);
use Digest::HMAC qw (hmac_hex);
sub module_constraints { [[0, 256], [0, 256], [0, 55], [0, 55], [-1, -1]] }

@ -9,7 +9,7 @@ use strict;
use warnings;
use Digest::SHA1 qw (sha1);
use Digest::HMAC qw (hmac hmac_hex);
use Digest::HMAC qw (hmac_hex);
sub module_constraints { [[0, 256], [0, 256], [0, 55], [0, 55], [-1, -1]] }

@ -9,7 +9,6 @@ use strict;
use warnings;
use Digest::MD4 qw (md4_hex);
use Encode;
sub module_constraints { [[0, 256], [-1, -1], [0, 27], [-1, -1], [-1, -1]] }

@ -9,7 +9,7 @@ use strict;
use warnings;
use Digest::SHA qw (sha512_hex);
use MIME::Base64 qw (encode_base64);
use MIME::Base64 qw (encode_base64 decode_base64);
sub module_constraints { [[0, 256], [0, 256], [0, 55], [0, 55], [0, 55]] }

@ -8,7 +8,7 @@
use strict;
use warnings;
use Digest::MD4 qw (md4 md4_hex);
use Digest::MD4 qw (md4);
use Crypt::PBKDF2;
use Encode;

@ -9,7 +9,7 @@ use strict;
use warnings;
use Digest::MD5 qw (md5);
use POSIX qw (strftime ceil);
use POSIX qw (ceil);
sub module_constraints { [[-1, -1], [-1, -1], [1, 55], [-1, -1], [-1, -1]] }

@ -9,10 +9,8 @@ use strict;
use warnings;
use Authen::Passphrase::NTHash;
use Digest::HMAC qw (hmac hmac_hex);
use Digest::MD5 qw (md5);
use Encode qw (encode);
use Crypt::ECB qw (encrypt);
use Crypt::ECB;
sub setup_des_key
{

@ -12,7 +12,6 @@ use Encode;
use Crypt::RC4;
use Digest::HMAC_MD5 qw (hmac_md5);
use Digest::MD4 qw (md4);
use Digest::MD5 qw (md5_hex);
use POSIX qw (strftime);
sub get_random_kerberos5_salt

@ -7,8 +7,9 @@
use strict;
use warnings;
use Crypt::PBKDF2;
use MIME::Base64;
use MIME::Base64 qw (encode_base64 decode_base64);
sub module_constraints { [[0, 256], [64, 64], [-1, -1], [-1, -1], [-1, -1]] }

@ -8,7 +8,6 @@
use strict;
use warnings;
use Digest::MD5 qw (md5_hex);
use Digest::SHA qw (sha1);
sub module_constraints { [[0, 256], [40, 40], [0, 55], [40, 40], [-1, -1]] }

@ -12,8 +12,6 @@ use Encode;
use Crypt::RC4;
use Digest::HMAC_MD5 qw (hmac_md5);
use Digest::MD4 qw (md4);
use Digest::MD5 qw (md5_hex);
use POSIX qw (strftime);
sub module_constraints { [[0, 256], [16, 16], [0, 27], [16, 16], [-1, -1]] }

@ -9,7 +9,6 @@ use strict;
use warnings;
use Digest::SHA qw (sha1_hex);
use Encode;
sub module_constraints { [[0, 256], [9, 9], [0, 46], [9, 9], [-1, -1]] }

@ -8,9 +8,9 @@
use strict;
use warnings;
use Crypt::ECB qw (encrypt);
use Digest::MD4 qw (md4);
use Digest::SHA qw (sha1 hmac_sha1);
use Crypt::ECB;
use Encode;
sub module_constraints { [[0, 256], [-1, -1], [-1, -1], [-1, -1], [-1, -1]] }

@ -8,10 +8,10 @@
use strict;
use warnings;
use Crypt::CBC;
use Crypt::ECB qw (encrypt);
use Digest::MD4 qw (md4);
use Digest::SHA qw (sha1 hmac_sha1 hmac_sha512);
use Crypt::CBC;
use Crypt::ECB;
use Encode;
sub module_constraints { [[0, 256], [-1, -1], [-1, -1], [-1, -1], [-1, -1]] }

@ -12,8 +12,6 @@ use Encode;
use Crypt::RC4;
use Digest::HMAC_MD5 qw (hmac_md5);
use Digest::MD4 qw (md4);
use Digest::MD5 qw (md5_hex);
use POSIX qw (strftime);
sub module_constraints { [[0, 256], [16, 16], [0, 27], [16, 16], [-1, -1]] }

@ -11,8 +11,6 @@ use warnings;
use Digest::SHA qw (hmac_sha1);
use Crypt::Mode::CBC;
use Crypt::PBKDF2;
use Encode;
use POSIX qw (strftime);
sub byte2hex
{

@ -11,8 +11,6 @@ use warnings;
use Digest::SHA qw (hmac_sha1);
use Crypt::Mode::CBC;
use Crypt::PBKDF2;
use Encode;
use POSIX qw (strftime);
sub byte2hex
{

@ -11,8 +11,6 @@ use warnings;
use Digest::SHA qw (hmac_sha1);
use Crypt::Mode::CBC;
use Crypt::PBKDF2;
use Encode;
use POSIX qw (strftime);
sub byte2hex
{

@ -11,8 +11,6 @@ use warnings;
use Digest::SHA qw (hmac_sha1);
use Crypt::Mode::CBC;
use Crypt::PBKDF2;
use Encode;
use POSIX qw (strftime);
sub byte2hex
{

@ -9,7 +9,7 @@ use strict;
use warnings;
use Crypt::PBKDF2;
use MIME::Base64 qw (encode_base64 decode_base64);
use MIME::Base64 qw (encode_base64);
use Encode;
sub module_constraints { [[0, 256], [128, 128], [-1, -1], [-1, -1], [-1, -1]] }

@ -9,7 +9,7 @@ use strict;
use warnings;
use Crypt::PBKDF2;
use MIME::Base64 qw (encode_base64 decode_base64);
use MIME::Base64 qw (encode_base64);
use Encode;
sub module_constraints { [[0, 256], [128, 128], [-1, -1], [-1, -1], [-1, -1]] }

@ -9,7 +9,7 @@ use strict;
use warnings;
use Crypt::PBKDF2;
use MIME::Base64 qw (encode_base64 decode_base64);
use MIME::Base64 qw (encode_base64);
use Encode;
sub module_constraints { [[0, 256], [128, 128], [-1, -1], [-1, -1], [-1, -1]] }

@ -9,7 +9,7 @@ use strict;
use warnings;
use Digest::SHA qw (sha256);
use MIME::Base64;
use MIME::Base64 qw (encode_base64);
sub module_constraints { [[0, 256], [0, 16], [-1, -1], [-1, -1], [-1, -1]] }

@ -8,9 +8,9 @@
use strict;
use warnings;
use MIME::Base64 qw (encode_base64 decode_base64);
use Crypt::PBKDF2;
use MIME::Base64 qw (encode_base64);
use Digest::SHA qw (sha512);
use Crypt::PBKDF2;
use Encode;
sub module_constraints { [[0, 256], [0, 256], [-1, -1], [-1, -1], [-1, -1]] }

@ -8,9 +8,9 @@
use strict;
use warnings;
use MIME::Base64 qw (encode_base64 decode_base64);
use Crypt::PBKDF2;
use MIME::Base64 qw (encode_base64);
use Digest::SHA qw (sha512);
use Crypt::PBKDF2;
use Encode;
sub module_constraints { [[0, 256], [16, 16], [-1, -1], [-1, -1], [-1, -1]] }

@ -8,13 +8,10 @@
use strict;
use warnings;
use MIME::Base64 qw (encode_base64 decode_base64);
use Crypt::PBKDF2;
sub module_constraints { [[0, 256], [1, 15], [-1, -1], [-1, -1], [-1, -1]] }
#pbkdf2(1000,20,sha512)$a2a2ca127df6bc19$77bb5a3d129e2ce710daaefeefef8356c4c827ff";
sub module_generate_hash
{
my $word = shift;
@ -37,8 +34,6 @@ sub module_generate_hash
return $hash;
}
#pbkdf2(1000,20,sha512)$a2a2ca127df6bc19$77bb5a3d129e2ce710daaefeefef8356c4c827ff";
sub module_verify_hash
{
my $line = shift;

@ -8,7 +8,6 @@
use strict;
use warnings;
use Digest::MD5 qw (md5_hex);
use Digest::MD5 qw (md5);
sub module_constraints { [[0, 256], [-1, -1], [0, 55], [-1, -1], [-1, -1]] }

@ -9,9 +9,9 @@ use strict;
use warnings;
use Digest::SHA1 qw (sha1);
use Digest::HMAC qw (hmac hmac_hex);
use Encode qw (encode decode);
use MIME::Base64;
use Digest::HMAC qw (hmac);
use Encode qw (encode);
use MIME::Base64 qw (encode_base64);
sub module_constraints { [[0, 256], [0, 256], [0, 27], [0, 27], [0, 27]] }

@ -7,7 +7,6 @@
use strict;
use warnings;
use MIME::Base64 qw (encode_base64 decode_base64);
use Digest::MD5 qw (md5);

@ -10,7 +10,7 @@ use warnings;
use Digest::MD5 qw (md5 md5_hex);
use Digest::SHA qw (sha1 sha1_hex);
use Digest::HMAC qw (hmac hmac_hex);
use Digest::HMAC qw (hmac_hex);
sub module_constraints { [[8, 256], [24, 3000], [-1, -1], [-1, -1], [-1, -1]] }

@ -9,7 +9,7 @@ use strict;
use warnings;
use Digest::MD5 qw (md5 md5_hex);
use Digest::HMAC qw (hmac hmac_hex);
use Digest::HMAC qw (hmac_hex);
sub module_constraints { [[8, 256], [24, 3000], [-1, -1], [-1, -1], [-1, -1]] }

@ -9,7 +9,7 @@ use strict;
use warnings;
use Digest::SHA qw (sha1 sha1_hex);
use Digest::HMAC qw (hmac hmac_hex);
use Digest::HMAC qw (hmac_hex);
sub module_constraints { [[8, 256], [24, 3000], [-1, -1], [-1, -1], [-1, -1]] }

@ -8,7 +8,7 @@
use strict;
use warnings;
use MIME::Base64 qw (encode_base64 decode_base64);
use MIME::Base64 qw (encode_base64);
use Digest::SHA qw (sha512);
use Encode;

@ -290,7 +290,8 @@ sub module_verify_hash
my $o = shift @data;
my $u_pass = "";
if($i_data == 12) {
if ($i_data == 12)
{
$u_pass = shift @data;
}

@ -145,4 +145,3 @@ sub module_verify_hash
}
1;

@ -9,7 +9,7 @@ use strict;
use warnings;
use Digest::SHA qw (sha224 sha224_hex);
use Digest::HMAC qw (hmac hmac_hex);
use Digest::HMAC qw (hmac_hex);
sub module_constraints { [[8, 256], [32, 3000], [-1, -1], [-1, -1], [-1, -1]] }

@ -9,7 +9,7 @@ use strict;
use warnings;
use Digest::SHA qw (sha256 sha256_hex);
use Digest::HMAC qw (hmac hmac_hex);
use Digest::HMAC qw (hmac_hex);
sub module_constraints { [[8, 256], [48, 3000], [-1, -1], [-1, -1], [-1, -1]] }

@ -9,7 +9,6 @@ use strict;
use warnings;
use Digest::SHA qw (sha384 sha384_hex hmac_sha384_hex);
#use Digest::HMAC qw (hmac hmac_hex);
sub module_constraints { [[8, 256], [64, 3000], [-1, -1], [-1, -1], [-1, -1]] }

@ -8,10 +8,8 @@
use strict;
use warnings;
use Digest::HMAC qw (hmac hmac_hex);
use Digest::MD5 qw (md5);
use Encode qw (encode);
use Crypt::ECB qw (encrypt);
use Crypt::ECB;
sub setup_des_key
{

@ -87,4 +87,3 @@ sub random_client_challenge
}
1;

@ -9,8 +9,7 @@ use strict;
use warnings;
use Crypt::PBKDF2;
use MIME::Base64 qw (encode_base64 decode_base64);
use Encode;
use MIME::Base64 qw (encode_base64);
sub module_constraints { [[0, 256], [64, 64], [-1, -1], [-1, -1], [-1, -1]] }

@ -9,8 +9,7 @@ use strict;
use warnings;
use Crypt::PBKDF2;
use MIME::Base64 qw (encode_base64 decode_base64);
use Encode;
use MIME::Base64 qw (encode_base64);
sub module_constraints { [[0, 256], [64, 64], [-1, -1], [-1, -1], [-1, -1]] }

@ -8,9 +8,8 @@
use strict;
use warnings;
use Digest::SHA1 qw (sha1 sha1_hex);
use Encode qw (encode decode);
use MIME::Base64;
use Digest::SHA1 qw (sha1);
use MIME::Base64 qw (encode_base64 decode_base64);
sub module_constraints { [[0, 256], [224, 224], [-1, -1], [-1, -1], [-1, -1]] }