From 7f8aaf74302816d03fbff62dab5c987d498acdde Mon Sep 17 00:00:00 2001 From: anthraxx Date: Mon, 4 Jul 2016 21:01:51 +0200 Subject: [PATCH 1/3] extend global CFLAGS and LDFLAGS to aid distro packaging This preserves globally defined CFLAGS and LDFLAGS and simply extends those variables to aid distro based packaging toolchains and predefined distro wide defaults like SSP, relro etc. --- src/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Makefile b/src/Makefile index 9f11325da..cf445900f 100644 --- a/src/Makefile +++ b/src/Makefile @@ -90,7 +90,7 @@ VERSION_TAG := $(shell test -d .git && git describe --tags --dirty= ## Compiler flags ## -CFLAGS := -pipe -W -Wall -std=c99 -Iinclude/ -IOpenCL/ -I$(OPENCL_HEADERS_KHRONOS)/ +CFLAGS += -pipe -W -Wall -std=c99 -Iinclude/ -IOpenCL/ -I$(OPENCL_HEADERS_KHRONOS)/ ifndef DEBUG CFLAGS += -O2 @@ -112,6 +112,7 @@ export MACOSX_DEPLOYMENT_TARGET=10.9 CFLAGS_NATIVE := -D_POSIX -DDARWIN CFLAGS_NATIVE += $(CFLAGS) LFLAGS_NATIVE := -lpthread +LFLAGS_NATIVE += $(LDFLAGS) endif # darwin ifeq ($(UNAME),Linux) @@ -122,6 +123,7 @@ endif CFLAGS_NATIVE += $(CFLAGS) LFLAGS_NATIVE := -lpthread -ldl CFLAGS_NATIVE += -DHAVE_HWMON +LFLAGS_NATIVE += $(LDFLAGS) endif # linux ## From fc2b20b273ebf7345456888038bd3f954cccb716 Mon Sep 17 00:00:00 2001 From: jsteube Date: Mon, 4 Jul 2016 21:13:23 +0200 Subject: [PATCH 2/3] Fixed a bug where hashcat crashes in case of a scrypt P setting > 1 --- docs/changes.txt | 1 + src/hashcat.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/changes.txt b/docs/changes.txt index d44d6e772..9e8c1a338 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -14,6 +14,7 @@ - Fixed a bug where hashcat is suppressing --machine-readable output in the final status update - Fixed a bug where hashcat did not check the return of realpath() and crashes uncontrolled if the path does not exist - Fixed a bug where hashcat crashes for accessing deallocated buffer if user spams "s" shortly before hashcat shuts down +- Fixed a bug where hashcat crashes in case of a scrypt P setting > 1 * changes v2.01 -> v3.00: diff --git a/src/hashcat.c b/src/hashcat.c index e50808210..3400ee2b9 100644 --- a/src/hashcat.c +++ b/src/hashcat.c @@ -15168,7 +15168,7 @@ int main (int argc, char **argv) } } - data.scrypt_tmp_size = (128 * scrypt_r); + data.scrypt_tmp_size = (128 * scrypt_r * scrypt_p); device_param->kernel_accel_min = 1; device_param->kernel_accel_max = 8; @@ -15212,7 +15212,7 @@ int main (int argc, char **argv) return -1; } - if (quiet == 0) log_info ("SCRYPT tmto optimizer value set to: %u, mem: %u\n", data.scrypt_tmto_final, size_scrypt); + if (quiet == 0) log_info ("SCRYPT tmto optimizer value set to: %u, mem: %llu\n", data.scrypt_tmto_final, (unsigned long long int) size_scrypt); } size_t size_scrypt4 = size_scrypt / 4; From dc9696bc3f3243dcdeb7ce9cf4d743c64178fa8f Mon Sep 17 00:00:00 2001 From: jsteube Date: Mon, 4 Jul 2016 21:41:20 +0200 Subject: [PATCH 3/3] Make scrypt thread count fixed only for non-CPU OpenCL devices --- src/hashcat.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/hashcat.c b/src/hashcat.c index 3400ee2b9..ede23260d 100644 --- a/src/hashcat.c +++ b/src/hashcat.c @@ -86,7 +86,7 @@ double TARGET_MS_PROFILE[4] = { 2, 12, 96, 480 }; #define KERNEL_COMBS 1024 #define KERNEL_BFS 1024 #define KERNEL_THREADS_MAX 256 -#define KERNEL_THREADS_MAX_CPU 16 +#define KERNEL_THREADS_MAX_CPU 1 #define POWERTUNE_ENABLE 0 #define LOGFILE_DISABLE 0 #define SCRYPT_TMTO 0 @@ -15053,6 +15053,9 @@ int main (int argc, char **argv) uint kernel_threads = MIN (KERNEL_THREADS_MAX, device_param->device_maxworkgroup_size); + if (hash_mode == 8900) kernel_threads = 64; // Scrypt + if (hash_mode == 9300) kernel_threads = 64; // Scrypt + if (device_param->device_type & CL_DEVICE_TYPE_CPU) { kernel_threads = KERNEL_THREADS_MAX_CPU; @@ -15062,9 +15065,7 @@ int main (int argc, char **argv) if (hash_mode == 3000) kernel_threads = 64; // DES if (hash_mode == 3200) kernel_threads = 8; // Blowfish if (hash_mode == 7500) kernel_threads = 64; // RC4 - if (hash_mode == 8900) kernel_threads = 64; // Scrypt if (hash_mode == 9000) kernel_threads = 8; // Blowfish - if (hash_mode == 9300) kernel_threads = 64; // Scrypt if (hash_mode == 9700) kernel_threads = 64; // RC4 if (hash_mode == 9710) kernel_threads = 64; // RC4 if (hash_mode == 9800) kernel_threads = 64; // RC4