X-Git-Url: https://www.flypig.org.uk/git/?a=blobdiff_plain;f=src%2Fhashcat.c;h=ab38fe2b2de3a6f3b79b908dd6407ec6a73107eb;hb=217f9e600443c575755244788eaab5b0db758b88;hp=f74ce207cd771667d710a3bbae724164564e029d;hpb=1c695b1185ea8099c6804100836f2f7f10c8156c;p=hashcat.git diff --git a/src/hashcat.c b/src/hashcat.c index f74ce20..ab38fe2 100644 --- a/src/hashcat.c +++ b/src/hashcat.c @@ -150,6 +150,8 @@ double TARGET_MS_PROFILE[4] = { 2, 12, 96, 480 }; #define NUM_DEFAULT_BENCHMARK_ALGORITHMS 143 +#define NVIDIA_100PERCENTCPU_WORKAROUND 100 + #define global_free(attr) \ { \ myfree ((void *) data.attr); \ @@ -3400,7 +3402,10 @@ static void run_cracker (hc_device_param_t *device_param, const uint pws_cnt) * result */ - check_cracked (device_param, salt_pos); + if (data.benchmark == 0) + { + check_cracked (device_param, salt_pos); + } /** * progress @@ -5420,7 +5425,20 @@ static uint generate_bitmaps (const uint digests_cnt, const uint dgst_size, cons * main */ -#ifdef _WIN +#ifdef LINUX +int (*clock_gettime_orig) (clockid_t clk_id, struct timespec *tp); + +int clock_gettime (clockid_t clk_id, struct timespec *tp) +{ + int r = clock_gettime_orig (clk_id, tp); + + usleep (NVIDIA_100PERCENTCPU_WORKAROUND); + + return r; +} +#endif + +#ifdef WIN void SetConsoleWindowSize (const int x) { HANDLE h = GetStdHandle (STD_OUTPUT_HANDLE); @@ -5448,7 +5466,11 @@ void SetConsoleWindowSize (const int x) int main (int argc, char **argv) { - #ifdef _WIN + #ifdef LINUX + clock_gettime_orig = dlsym (RTLD_NEXT, "clock_gettime"); + #endif + + #ifdef WIN SetConsoleWindowSize (132); #endif @@ -6089,6 +6111,9 @@ int main (int argc, char **argv) { log_info ("%s (%s) starting in benchmark-mode...", PROGNAME, VERSION_TAG); log_info (""); + log_info ("Note: Reported benchmark cracking speed = real cracking speed"); + log_info ("To verify, run hashcat like this: only_one_hash.txt -a 3 -w 3 ?b?b?b?b?b?b?b"); + log_info (""); } else { @@ -6947,7 +6972,10 @@ int main (int argc, char **argv) gpu_temp_disable = 1; #ifdef HAVE_HWMON - powertune_enable = 1; + if (powertune_enable == 1) + { + gpu_temp_disable = 0; + } #endif data.status_timer = status_timer; @@ -11278,7 +11306,7 @@ int main (int argc, char **argv) break; case 7400: if (pw_max > 16) pw_max = 16; break; - case 7500: if (pw_max > 8) pw_max = 8; + case 7700: if (pw_max > 8) pw_max = 8; break; case 7900: if (pw_max > 48) pw_max = 48; break; @@ -18274,4 +18302,3 @@ int main (int argc, char **argv) return -1; } -