If you have trouble initializing the GPU when using Hashcat, apply the following
solutions:
1) Check and update the graphics driver to the latest recommended version. You
can find the most up-to-date driver on the official Hashcat website. Hashcat
supports the use of OpenCL-compatible GPUs and CPUs for successful
password guessing.
2) Install GPU drivers directly from the official NVIDIA and AMD websites. Using
drivers supplied by original equipment manufacturers (OEM) via Windows
Update or package manager may fail to provide optimal performance and
compatibility with Hashcat.
3) Check if the GPU driver version coincides with the architecture of your system.
Make sure that they match each other: either both are 32-bit or both are 64-bit.
4) Make sure that your driver version matches the one recommended on the
Hashcat website. A later driver version can be used if “or later” is indicated in the
list of recommended drivers on the Hashcat webpage.
5) It is recommended to remove the development tools like CUDA-SDK or
AMD-APP-SDK that may cause conflicts with the installed drivers.
6) If the installed driver is not supported, it is necessary to reinstall it:
● Remove all GPU and OpenCL drivers and manually delete the remaining
OpenCL.dll, OpenCL32.dll and OpenCL64.dll files, which are usually
located in the C:\windows\syswow64 and C:\windows\system32 folders.
After performing these actions, restart the computer;
● Install the recommended GPU drivers. It is recommended to restart the
computer after installing the new drivers;
● Reinstall your Oxygen Forensic software.
7) The Oxygen Forensic KeyDiver module runs on the open-source hashcat engine.
To initialize the GPU, hashcat checks the system for various software solutions that
provide enhanced GPU performance:
● HIP (Heterogeneous-Сomputing Interface for Portability) — a framework and
programming interface (API), developed by AMD to support high-performance
computing on various GPUs;
● CUDA (Compute Unified Device Architecture) — a parallel computing platform
and software model developed by NVIDIA that allows using GPU for general
computations;
● OpenCL (Open Computing Language) — a standard designed for parallel
computations on a variety of heterogeneous platforms including CPUs, GPUs,
FPGAs, and other processors. OpenCL supports a wide range of devices and
architectures, providing high performance;
● hwmon (Hardware Monitoring) — a subsystem used to monitor various
hardware parameters of a computer. hwmon provides an interface to access
temperature, voltage, fan speed sensors and other hardware indicators. This
interface allows users and applications to obtain information about the status
of hardware components and to manage them if needed.
When creating an attack, hashcat checks the system for the above-mentioned
solutions. If one of the key solutions (HIP, CUDA, OpenCL) is missing, the scan
stops without checking other modules, which may lead to a problem with GPU
detection.
To fix this problem, you should disable within hashcat checking for less efficient
solutions responsible for GPU performance (HIP and CUDA) and leave only the
highest performing OpenCL standard.
To disable checking for HIP and CUDA, you should open keydiver.exe through the
console with the following commands:
keydiver.exe --backend-ignore-cuda --backend-ignore-hip
Example:
--backend-ignore-cuda — disables checking for CUDA
--backend-ignore-hip — disables checking for HIP