hashcat ships its reference documentation in the docs/ folder of the release. The same files are also on GitHub. This page lists them all in one place.
Where the wiki has an article on the same subject, it is listed in the third column. The article is the short version and the document is the long one.
| Document | What it covers | Wiki |
|---|---|---|
| hashcat-hash-recipe.md | describe a hashing scheme on the command line and crack it at kernel speed, -m 4000 | Hash recipes |
| hashcat-pcfg.md | the PCFG attack, its settings, and what merging rulesets does | PCFG attack |
| hashcat-table.md | the table attack, where a table defines what each character may become | Table attack |
| hashcat-association.md | the association attack, which derives guesses per hash from the data stored with it | Association attack |
| hashcat-generic-attack-mode.md | attack mode 8 and the feeds that supply its candidates | Generic attack |
| hashcat-brain.md | the brain, which keeps an attack from repeating candidate work | Brain |
| slow-candidates-mode.md | -S, which builds whole candidates on the host instead of expanding them on the device | Slow candidates mode |
| keyboard-layout-mapping.md | a pre-boot password typed on a non-US keyboard | Keyboard layout mapping |
| hashcat-encrypted-plains.md | --encrypt-with-pubkey, for cracking a hash on someone else's behalf | Encrypted plains |
| hashcat-compression-libraries.md | reading wordlists, hash lists and rule files compressed | Compressed wordlists |
| Document | What it covers | Wiki |
|---|---|---|
| hashcat-fpga-setup.md | running bcrypt on an FPGA board, per board, including the bitstreams | FPGA support |
| hashcat-assimilation-bridge.md | how a hash-mode sends work somewhere other than the GPU | Assimilation bridge |
| hashcat-tuningdb.md | the tuning database, which overrides what autotune picks for a device | Tuning database |
| hashcat-task-time-breakdown.md | where a run's wall clock went, when cracking was not what took the time | Task time breakdown |
| hashcat-requirements.md | the runtime versions hashcat refuses to work below, and why those floors were chosen | FAQ |
| Document | What it covers | Wiki |
|---|---|---|
| hashcat-plugin-development-guide.md | writing a hash-mode plugin, the module and kernel interfaces in full | Writing a hash-mode |
| hashcat-python-plugin-quickstart.md | the shortest route to a hash-mode written in Python, -m 73000 | Writing a hash-mode |
| hashcat-python-plugin-development-guide.md | the same in detail | Writing a hash-mode |
| hashcat-python-plugin-requirements.md | what the Python path needs installed | Writing a hash-mode |
| hashcat-rust-plugin-quickstart.md | the shortest route to a hash-mode written in Rust, -m 74000 | Writing a hash-mode |
| hashcat-rust-plugin-requirements.md | building and using the Rust plugin on Linux, Windows and macOS | Writing a hash-mode |
| hashcat-generic-attack-mode-development-guide.md | writing a feed, the candidate generator behind -a 8 | Generic attack |
| hashcat-assimilation-bridge-development.md | writing a bridge, to put part of a hash somewhere other than the GPU | Assimilation bridge |
| Document | What it covers | Wiki |
|---|---|---|
| hashcat-help.md | the -hh output, generated from the source | hashcat options |
| hashcat-example-hashes.md | an example hash for every hash-mode, generated from the source | Example hashes |
| packages.md | guidance for people installing hashcat from a distribution, and for the people packaging it | |
| releases_notes_v8.0.0.md | what changed in 8.0.0, including the section to read before upgrading | |
| releases_notes_v7.1.0.md | what changed in 7.1.0 | |
| releases_notes_v7.0.0.md | what changed in 7.0.0 |