Skip to content

wpatoolkit/Upper-Alpha-Keyspace-Reducer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Upper Alpha Keyspace Reducer

This is a small program written in C++ that will output 8-length upper alpha combinations while skipping over certain combinations it believes to be invalid.

Only combinations which meet these criteria will be printed:
 • each character cannot appear more than 3 times
 • no 3 characters in a row can be identical
 • no 3 characters in a row can be sequential (ABC)
 • no 3 characters in a row can be reverse sequential (CBA)
 • character 2 is not equal to character 1
 • character 2 is not +1 to character 1
 • character 2 is not +2 to character 1
 • character 2 is not +3 to character 1
 • character 2 is not +4 to character 1
 • character 2 is not +5 to character 1
 • character 2 is not -1 to character 1
 • character 2 is not -3 to character 1
 • character 2 is not -4 to character 1
 • character 3 is not equal to character 1
 • character 3 is not +2 to character 1
 • character 3 is not equal to character 2
 • character 3 is not +2 to character 2
 • character 3 is not +3 to character 2
 • character 3 is not +4 to character 2
 • character 3 is not +5 to character 2
 • character 3 is not -1 to character 1
 • character 3 is not -2 to character 2
 • character 3 is not -4 to character 2
 • character 3 is not -5 to character 2
 • character 5 is not equal to character 1
 • character 5 is not equal to character 4
 • character 8 is not equal to character 6
 • characters 1 and 3 and 4 are not identical
 • characters 1 and 3, and 2 and 4 are not identical
 • characters 2, 3 and 8 cannot be identical
 • characters 3 and 5, and 4 and 6 are not identical

Without any rules applied there are 208,827,064,576 (26^8) possible combinations in the keyspace.

Applying these rules brings it down to 79,593,411,812 combinations (or about 38% of the keyspace).

To compile on Windows (requires the Windows 7 SDK):
cl /EHsc ua.cpp

To compile on Linux:
g++ ua.cpp -oua

##Example usage: ua | oclHashcat64 -m 2500 CAP.hccap
pipes its output into oclHashcat (AMD)

ua | cudaHashcat64 -m 2500 CAP.hccap
pipes its output into cudaHashcat (NVIDIA)

ua | aircrack-ng -w - CAP.cap -e SSID
pipes its output into aircrack-ng

./ua | pyrit -r CAP.cap -i- attack_passthrough
pipes its output into pyrit

Parameters

You can optionally specify any of these parameters to further refine your output.

-random
Will randomize its output while still maintaining rules

-upper
Forces all output to be uppercase

-lower
Forces all output to be lowercase

-noio
Will not include the letters I or O (they are included by default)

-Xuniques
Only outputs combinations which have X unique characters in them (typically 6, 7 or 8)

-Xminuniques
Only outputs combinations which have a minimum of X unique characters in them.

-startswithX
Only outputs combinations which start with X (can be A-Z).

-start X
Start on combination X (where X is a number between 0 and 79593411812)

-stop X
Stop on combination X (where X is a number between 1 and 79593411812)

About

Outputs a reduced keyspace of 8 upper alpha chars.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages