Statsprocessor is a high-performance word-generator based on per-position markov-attack packed into a single stand-alone binary.

For a detailed description of how markov-attack work, see the Markov attack page.

statsprocessor is released as open source software under the MIT license.

Current Version

Current Version is 0.11.


The program is available for Linux and Windows on both 32 bit and 64 bit.

As long as statsprocessor does not have a dedicated homepage, here is a download link to the latest version:


  • AMD FX™-8120 Eight-Core Processor: 74.80 M/s (per core)

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-defineable 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
  ?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 was made just to see what comes out of statsprocessor.

root@sf:~/statsprocessor-0.07# ./sp64.bin --pw-min 5 --pw-max 5 hashcat.hcstat ?l?l?l?l?l | head -9 

In markov-attack we have a statistic generated which letter is following which letter based on the analysis of the original input dictionary used to generate the .hcstat. In this case the most used letter on the first position is the letter is “s”. The program then looks up the markov-table with the key “s” to get the most used letter after the letter “s” on position 0. In our case, its the letter “a”. This “chain” goes till the ende of the word and iterates through all letters stored in the markov-table.

Alternative solution

There is no known alternative that can handle markov like this, but the following programs can at least generate wordlists and are partially configureable:

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain