Tested on Windows 11 23H2 x64
-
Install MSYS2 from the official website and follow steps 1–7.
-
Open the MSYS2 MINGW64 terminal Do not use the plain MSYS or UCRT terminals.
-
Update the base system:
pacman -Syu
If prompted to close the terminal after core updates, do so, then reopen MINGW64 and run:
pacman -Syu
-
Install build dependencies:
export _GW="mingw-w64-x86_64" pacman -S --needed git make gcc libiconv-devel python3 $_GW-clang $_GW-rustup $_GW-toolchain $_GW-llvm $_GW-lld
-
Ensure MinGW toolchain is first on PATH for this session:
export PATH="/mingw64/bin:$PATH"
-
Set up Rust:
rustup default stable && rustup target add x86_64-pc-windows-gnu
-
Fetch the latest hashcat source code from GitHub:
git clone https://github.com/hashcat/hashcat.git ~/hashcat cd $_
-
Compile:
make -j"$(nproc)" WIN_PYTHON=""
Upstream uses
make WIN_PYTHON=""; the-j$(nproc)just speeds things up.To rebuild cleanly later, use:
make clean && make -j"$(nproc)" WIN_PYTHON=""
./hashcat.exeCopy the dependent DLLs next to hashcat.exe. Two common ones are:
msys-iconv-2.dllmsys-2.0.dll
(these can be found in msys64/usr/bin)
To verify which dependencies are missing:
ldd ./hashcat.exepacman -S --needed mingw-w64-x86_64-ntldd
ntldd -R ./hashcat.exentldd -R recursively shows transitive DLLs; copy anything not in C:\Windows\System32 to the same folder as hashcat.exe.
To confirm GPU/OpenCL devices are detected:
./hashcat.exe -IIf your GPUs appear here, your build is good to go.