Skip to content

pydictor: A Powerful and Useful Hacker Dictionary Builder for a Brute-Force Attack

GitHub: https://github.com/LandGrey/pydictor
Last Commit: April 1st, 2022


pydictor —— A powerful and useful hacker dictionary builder for a brute-force attack

                      _ _      _
      _ __  _   _  __| (_) ___| |_ ___  _ __
     | '_ \| | | |/ _` | |/ __| __/ _ \| '__|
     | |_) | |_| | (_| | | (__| || (_) | |
     | .__/ \__, |\__,_|_|\___|\__\___/|_|
     |_|    |___/                         
Email: LandGrey@qq.com

Preface:

Q: Why I need to use pydictor ?
A: 1.it always can help you
      You can use pydictor to generate a general blast wordlist, a custom wordlist based on Web content, a social engineering wordlist, and so on;
      You can use the pydictor built-in tool to safe delete, merge, unique, merge and unique,  count word frequency to filter the wordlist, 
      besides, you also can specify your wordlist and use '-tool handler' to filter your wordlist;

   2.highly customized
      You can generate highly customized and complex wordlist by modify multiple configuration files, 
      add your own dictionary, using leet mode, filter by length、char occur times、types of different char、regex,
      even add customized encode scripts in /lib/encode/ folder, add your own plugin script in /plugins/ folder,
      add your own tool script in /tools/ folder.

   3.powerful and flexible configuration file parsing
      nothing to say,skilled use and you will love it

   4.great compatibility
     whether you are using Python 2.7 version or Python 3.x version , pydictor can be run on Windows, Linux or Mac;

1. Usage of pydictor for attacking targets without prior mutual consent is illegal. 
2. It is the end user's responsibility to obey all applicable local, state and federal laws.
3. Developers assume no liability and are not responsible for any misuse or damage caused by this program.

Start:

git clone --depth=1 --branch=master https://www.github.com/landgrey/pydictor.git
cd pydictor/
chmod +x pydictor.py
python pydictor.py

Overview:

Quick use:

Usage document

API develop document

There's a trick about how to use pydictor: Know what you want type of word list.

All of pydictor can generating wordlist

typewordlistidentifierdescriptionsupported function
corebaseC1basic wordlistF1 F2 F3 F4
corecharC2custom character wordlistF1 F2 F3 F4
corechunkC3permutation and combination wordlistALL
coreconfC4based on configuration file wordlistALL
corepatternC5fastly generate pattern wordlistF2 F3 F4
coreextendC6extend wordlist based on rulesALL
coresedbC7social engineering wordlistALL
toolcombinerT1combine the specify directory files tool
toolcomparerT2compare two file content difference toolALL
toolcounterT3word frequency count toolALL
toolhandlerT4handle the input file toolALL
tooluniqbinerT5combine and unique the directory files toolALL
tooluniqiferT6unique the input file toolALL
toolhybriderT7hybrid couples word list toolF1 F2 F3 F4
toolprintablerT8filter printable character toolALL
pluginbirthdayP1birthday keyword wordlist in specify datetime scopeALL
pluginftpP2against keyword generate ftp password wordlistALL
pluginpid4P3id card last 4 char wordlistALL
pluginpid6P4id card last 6 char wordlistALL
pluginpid8P5id card last 8 char wordlistALL
pluginscratchP6wordlist based on web pages keywordsALL

function code

functioncodedescription
lenF1the scope of length
headF2add items prefix
tailF3add items suffix
encodeF4encode the items
occurF5filter by occur times of letter、digital、special chars
typesF6filter by types of letter、digital、special chars
regexF7filter by regex
levelF8set the word list rule level
leetF9enable 1337 mode
repeatF10filter by consecutive repeat times of letter、digital、special chars

encode function supported encodings and encryptions

namedescription
nonedefault, don't encode
b16base16 encode
b32base32 encode
b64base64 encode
desdes algorithm, need modify code
execjsexecute js function, need modify code
hmachmac message digest algorithm
md5md5 message digest algorithm output 32 char
md516md5 message digest algorithm output 16 char
rsarsa algorithm, need modify code
sha1sha-1 message digest algorithm
sha256sha-256 message digest algorithm
sha512sha-512 message digest algorithm
urlurl encode
testa custom encode method example

occur function

Usage : --occur [letters_occur_times_range] [digital_occur_times_range] [special_chars_occur_times_range]

Example: --occur ">=4" "<6" "==0"

types function

Usage : --types [letters_types_range] [digital_types_range] [special_types_range]

Example: --types "<=8" "<=4" "==0"

repeat function

Usage : --repeat [letters_repeat_times] [digital_repeat_times] [special_repeat_times]

Example: --repeat "<=3" ">=3" "==0"

regex function

Usage : --regex [regex]

Example: --regex "^z.*?g$"

level function

Usage : --level [level]

Example: --level 4 level >= 4 will be work in /funcfg/extend.conf

default leet table

leet char = replace char, and in /funcfg/leet_mode.conf

a = 4
b = 6
e = 3
l = 1
i = 1
o = 0
s = 5
code

0            default,replace all
1            left-to-right, replace all the first encountered leet char
2            right-to-left, replace all the first encountered leet char
11-19        left-to-right, replace the first encountered leet char to maximum code-10 chars   
21-29        right-to-left, replace the first encountered leet char to maximum code-20 chars
leet mode code effection table

codeold stringnew string
0as a airs trees45 4 41r5 tr335
1as a airs trees4s 4 4irs trees
2as a airs treesa5 a air5 tree5
11as a airs trees4s a airs trees
12as a airs trees4s 4 airs trees
13as a airs trees4s 4 4irs trees
14as a airs trees4s 4 4irs trees
...as a airs trees4s 4 4irs trees
21as a airs treesas a airs tree5
22as a airs treesas a air5 tree5
23as a airs treesa5 a air5 tree5
24as a airs treesa5 a air5 tree5
...as a airs treesa5 a air5 tree5
Destination is just a point of departure,It's your show time.

Latest