maskprocessor

Description

Maskprocessor is a high-performance word generator with a per-position configurable charset packed into a single stand-alone binary.

For a detailed description of how masks work, see the Mask attack page.

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

Current Version

Current Version is 0.73.

Download

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

maskprocessor does not have a dedicated homepage, but here is a download link to the latest version:

Performance

Currently, it is the world's fastest word generator. Here are some stats:

  • AMD Athlon™ 64 X2 Dual Core Processor 3800+: 75.80 M/s (per core)
  • AMD FX™-6100 Six-Core Processor: 138.20 M/s (per core)
  • Intel(R) Xeon(R) CPU X5650 @ 2.67GHz: 97.42 M/s (per core)
  • Intel(R) i7-920: 71.50 M/s (per core)

To eliminate I/O variability for these benchmarks, all output was sent to /dev/null.

Options

$ ./mp64.bin -V
v0.73

$ ./mp64.bin --help
High-Performance word generator with a per-position configureable charset

Usage: ./mp64.bin [options]... mask

* Startup:

  -V,  --version             Print version
  -h,  --help                Print help

* Increment:

  -i,  --increment=NUM:NUM   Enable increment mode. 1st NUM=start, 2nd NUM=stop
                             Example: -i 4:8 searches lengths 4-8 (inclusive)

* Misc:

       --combinations        Calculate number of combinations
       --hex-charset         Assume charset is given in hex
  -q,  --seq-max=NUM         Maximum number of multiple sequential characters
  -r,  --occurrence-max=NUM  Maximum number of occurrence of a character

* Resources:

  -s,  --start-at=WORD       Start at specific position
  -l,  --stop-at=WORD        Stop at specific position

* 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
  ?b = 0x00 - 0xff

Example

When running the command:

$ mp64.bin pass?d

… the following output is generated:

pass0
pass1
pass2
pass3
pass4
pass5
pass6
pass7
pass8
pass9

See “generate.sh” for more examples.

Alternative solution

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

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