From d93d208ad8174cded81346a64c9a34340188c0f0 Mon Sep 17 00:00:00 2001 From: Gabriele Gristina Date: Thu, 31 Oct 2024 18:43:35 +0100 Subject: [PATCH 1/2] Modules: Added module_unstable_warning for 22500, update module_unstable_warning for 10700 --- docs/changes.txt | 1 + src/modules/module_10700.c | 7 ++----- src/modules/module_22500.c | 13 ++++++++++++- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/docs/changes.txt b/docs/changes.txt index 283e3c0d4..37d53e24d 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -118,6 +118,7 @@ - Building: Support building windows binaries on macOS using MinGW - Dependencies: Updated OpenCL-Headers to v2023.04.17 - Documents: Updated BUILD.md and added BUILD_macOS.md (containing instructions for building windows binaries on macOS) +- Modules: Added module_unstable_warning for 22500, update module_unstable_warning for 10700 - Modules: Added support for non-zero IVs for -m 6800 (Lastpass). Also added `tools/lastpass2hashcat.py` - Open Document Format: Added support for small documents with content length < 1024 - Status Code: Add specific return code for self-test fail (-11) diff --git a/src/modules/module_10700.c b/src/modules/module_10700.c index 05be37b65..a28e79829 100644 --- a/src/modules/module_10700.c +++ b/src/modules/module_10700.c @@ -84,13 +84,10 @@ static const int ROUNDS_PDF17L8 = 64; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AppleM1, OpenCL, MTLCompilerService, createKernel never-end with pure kernel + // AppleM1, OpenCL, MTLCompilerService, createKernel never-end with pure kernel and newComputePipelineState failed with optimized kernel if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) - { - return true; - } + return true; } return false; diff --git a/src/modules/module_22500.c b/src/modules/module_22500.c index 534539b4e..9f47c6689 100644 --- a/src/modules/module_22500.c +++ b/src/modules/module_22500.c @@ -43,6 +43,17 @@ const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, static const char *SIGNATURE_MULTIBIT = "$multibit$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // AppleM1, OpenCL, MTLCompilerService never-end + if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + return true; + } + + return false; +} + u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const bool optimized_kernel = (hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL); @@ -228,6 +239,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } From 0e4b6894eec2b53cddd15c4aa8b083772d79b093 Mon Sep 17 00:00:00 2001 From: Gabriele Gristina Date: Thu, 26 Jun 2025 22:26:31 +0200 Subject: [PATCH 2/2] module_unstable_warning only for Intel Iris Graphics on Apple Intel --- src/modules/module_10700.c | 6 +++--- src/modules/module_22500.c | 10 ++++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/modules/module_10700.c b/src/modules/module_10700.c index 4a7725e52..e5df902d2 100644 --- a/src/modules/module_10700.c +++ b/src/modules/module_10700.c @@ -109,11 +109,11 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE { if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - if (device_param->is_metal == false) + if (device_param->is_metal == true) { - if (strncmp (device_param->device_name, "Apple M", 7) == 0) + if (strncmp (device_param->device_name, "Intel", 5) == 0) { - // AppleM1, OpenCL, MTLCompilerService, createKernel never-end with pure kernel and newComputePipelineState failed with optimized kernel + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm10700_loop' pipeline, timeout reached (status 49) return true; } } diff --git a/src/modules/module_22500.c b/src/modules/module_22500.c index 3bda523ad..57a70ca64 100644 --- a/src/modules/module_22500.c +++ b/src/modules/module_22500.c @@ -45,10 +45,16 @@ static const char *SIGNATURE_MULTIBIT = "$multibit$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AppleM1, OpenCL, MTLCompilerService never-end if ((device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) { - return true; + if (device_param->is_metal == true) + { + if (strncmp (device_param->device_name, "Intel", 5) == 0) + { + // Intel Iris Graphics, Metal Version 244.303: failed to create 'm22500_s04' pipeline, Compilation failed + return true; + } + } } return false;