Password Attackswordlistgeneratormarkovchainspasswordhashcat

Statsprocessor

Statsprocessor is a word generator based on per-position Markov chains packed into a single stand-alone binary. It generates candidate words based on a Hashcat format .hcstat file using statistical analysis of the original input dictionary.

Description

Statsprocessor generates candidate words for password recovery by analyzing Hashcat .hcstat files, which contain per-position Markov chain statistics from an original dictionary. This allows it to predict likely letter sequences based on positional probabilities, producing realistic password candidates that can be postprocessed and fed into tools like Hashcat.

Use cases include password cracking and recovery, where traditional wordlists are insufficient. By leveraging Markov statistics, it creates targeted word variations more efficiently than brute-force methods, especially when combined with length constraints and filters.

The tool includes 32-bit (sp32) and 64-bit (sp64) binaries, with sp32 providing detailed options for customization, such as custom charsets and increment limits. It is designed for high-performance generation in cybersecurity testing environments like Kali Linux.

How It Works

Statsprocessor uses per-position Markov chains from .hcstat files generated by Hashcat analysis of input dictionaries. It determines the probability of one letter following another at each position, generating words by sampling these chains. Options like --pw-min and --pw-max control length ranges, --markov-disable emulates maskprocessor output, and --threshold filters low-probability characters after a set position. Custom and built-in charsets (?l, ?u, ?d, etc.) allow charset customization, with output suitable for piping into cracking tools.

Installation

bash
sudo apt install statsprocessor

Flags

--pw-min=NUMStart incrementing at NUM
--pw-max=NUMStop incrementing at NUM
--markov-disableEmulates maskprocessor output
--markov-classicNo per-position tables
--threshold=NUMFilter out chars after NUM chars added. Set to 0 to disable
--combinationsCalculate number of combinations
--hex-charsetAssume charset is given in hex
-s, --skip=NUMskip number of words (for restore)
-l, --limit=NUMlimit number of words (for distributed)
-o, --output-file=FILEOutput-file
-1, --custom-charset1=CSUser-defineable charsets
-2, --custom-charset2=CSUser-defineable charsets
-3, --custom-charset3=CSUser-defineable charsets
-4, --custom-charset4=CSUser-defineable charsets

Examples

Generate passwords with a minimum length of 6 and a maximum length of 8 using the stats in the provided file
statsprocessor --pw-min=6 --pw-max=8 /usr/share/oclhashcat/hashcat.hcstat
Print help for sp32 binary
sp32 -h
Generate words using sp32 with length limits 6-8 from hcstat file
sp32 --pw-min=6 --pw-max=8 /usr/share/oclhashcat/hashcat.hcstat
Emulate maskprocessor output using Markov disable mode
sp32 --markov-disable hcstat-file
Set custom charset1 to digits and a-f, then generate from hcstat file
sp32 --custom-charset1=?dabcdef hcstat-file
Calculate number of combinations from hcstat file
sp32 --combinations hcstat-file
Generate words and save to output file
sp32 -o output.txt hcstat-file
Use sp64 binary to generate from hcstat file
sp64 hcstat-file
Updated 2026-04-16kali.org ↗