Statsprocessor is a high-performance word generator based on per-position Markov statistics, provided as a single stand-alone binary.
For a detailed description of how Markov ordering works, see the Markov attack page.
statsprocessor is released as open source software under the MIT license.
The current version is 0.11.
The program is available for Linux and Windows in both 32-bit and 64-bit versions.
statsprocessor does not have a dedicated homepage, but you can download the latest version here:
To avoid irregularities while testing, all output went into /dev/null.
sp by atom, High-Performance word generator based on hashcat markov stats
Usage: ./sp64.bin [options]... hcstat-file [filter-mask]
* Startup:
-V, --version Print version
-h, --help Print help
* Increment:
--pw-min=NUM Start incrementing at NUM
--pw-max=NUM Stop incrementing at NUM
* Markov:
--markov-disable Emulates maskprocessor output
--markov-classic No per-position tables
--threshold=NUM Filter out chars after NUM chars added
Set to 0 to disable
* Misc:
--combinations Calculate number of combinations
--hex-charset Assume charset is given in hex
* Resources:
-s, --skip=NUM skip number of words (for restore)
-l, --limit=NUM limit number of words (for distributed)
* Files:
-o, --output-file=FILE Output-file
* Custom charsets:
-1, --custom-charset1=CS User-definable charsets
-2, --custom-charset2=CS Example:
-3, --custom-charset3=CS --custom-charset1=?dabcdef
-4, --custom-charset4=CS sets charset ?1 to 0123456789abcdef
* Built-in charsets:
?l = abcdefghijklmnopqrstuvwxyz
?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
?d = 0123456789
?s = !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
?a = ?l?u?d?s
?h = 8 bit characters from 0xc0 - 0xff
?D = 8 bit characters from german alphabet
?F = 8 bit characters from french alphabet
?R = 8 bit characters from russian alphabet
The following example shows the output of statsprocessor.
root@sf:~/statsprocessor-0.07# ./sp64.bin --pw-min 5 --pw-max 5 hashcat.hcstat ?l?l?l?l?l | head -9 sange songe serin singe sunge srane shane slane snder
A Markov attack uses statistics about which letters follow others, based on the input dictionary used to generate the .hcstat file. In this example, the most common letter in the first position is “s”. The program looks up “s” in the Markov table to find the most common letter after “s” at position 0. Here, it is “a”. This chain continues to the end of the word and iterates through all letters stored in the Markov table.
There is no known alternative that handles Markov ordering in this way, but the following program can generate wordlists and is partially configurable:
--stdout) http://www.openwall.com/john/