Revision: 1.7
Author: See docs/credits.txt
- Python 3.12 or higher
Check your Python version:
$ python3 --version
# Expected output: Python 3.13.3If you can't install Python ≥ 3.12 globally, you can use pyenv.
If you're using
pyenv, follow all steps below. Otherwise, follow only steps 3 and 5.
Install required libraries to build Python:
$ sudo apt install libbz2-dev libssl-dev libncurses5-dev libffi-dev libreadline-dev libsqlite3-dev liblzma-devInstall pyenv:
$ curl https://pyenv.run | bashFollow the instructions shown after installation to set up your shell correctly.
Install pyenv via Homebrew:
$ brew install pyenvInstall Python 3.12 (or newer):
$ pyenv install 3.12Check installed versions:
$ pyenv versions
# Example:
# * system
# 3.12.11$ git clone https://github.com/hashcat/hashcat.git
$ cd hashcat$ pyenv local 3.12.11$ make clean && make$ make installHashcat will use the following locations depending on your environment:
| Condition | Session Files | Kernel Cache | Potfiles |
|---|---|---|---|
$HOME/.hashcat exists |
$HOME/.hashcat/sessions/ |
$HOME/.hashcat/kernels/ |
$HOME/.hashcat/ |
$XDG_DATA_HOME and $XDG_CACHE_HOME set |
$XDG_DATA_HOME/hashcat/sessions/ |
$XDG_CACHE_HOME/hashcat/kernels/ |
$XDG_DATA_HOME/hashcat/ |
Only $XDG_DATA_HOME set |
$XDG_DATA_HOME/hashcat/sessions/ |
$HOME/.cache/hashcat/ |
$XDG_DATA_HOME/hashcat/ |
Only $XDG_CACHE_HOME set |
$HOME/.local/share/hashcat/sessions/ |
$XDG_CACHE_HOME/hashcat/kernels/ |
$HOME/.local/share/hashcat/ |
| None of the above | $HOME/.local/share/hashcat/sessions/ |
$HOME/.cache/hashcat/ |
$HOME/.local/share/hashcat/ |
See: BUILD_Android.md
See: BUILD_Docker.md
| Method | Documentation |
|---|---|
| From macOS | BUILD_macOS.md |
| Using Windows Subsystem for Linux (WSL) | BUILD_WSL.md |
| Using Cygwin | BUILD_CYGWIN.md |
| Using MSYS2 | BUILD_MSYS2.md |
| From Linux | Run: make win |
Enjoy your fresh Hashcat binaries! 😎