sp321
Word generator based on per-position markov chains
Part of sp64(1).
Usage
sp64 [options] ...
hcstat-file
[filter-mask]
Overview
Statsprocessor is a word generator based on per-position Markov chains packed into a single stand-alone binary. The resulting words can then, for example, be postprocessed and fed into Hashcat or other password recovery tools.
sp by atom, High-Performance word generator based on hashcat markov stats
* 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 ?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
Examples
The following example was made just to see what comes out of statsprocessor.
$ ./sp64.bin --pw-min 5 --pw-max 5 hashcat.hcstat ?l?l?l?l?l | head -9
In Markov chains 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 "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, it's the letter "a". This chain continues until the end of the word, iterating through all letters stored in the Markov table.
History
- Debian 13 (Trixie): the text shown here
- Debian 12 (Bookworm)
- Debian 11 (Bullseye)
- Debian 10 (Buster)
- Debian 9 (Stretch)