diff --git a/README.md b/README.md index 70a53e0..1c05e20 100644 --- a/README.md +++ b/README.md @@ -94,13 +94,13 @@ python pydictor.py -chunk abc ABC 666 . _ @ generating all possible permutatio ### 4. generate the dictionary base on extend function ##### cmd: -extend -1. extend plug mainly directed against web application administrator to generate password -2. You can put your own weak password wordlist in wordlist/Web,extend plug will auto unique them,new wordlist will contains them -3. You can modify funcfg/extend.conf,set prefix, suffix, prefix + suffix and middle word when extended -4. extend plug support leet mode and pick by lenght function,you can learn more in the following +1. extend function mainly directed against web application administrator to generate password +2. You can put your own weak password wordlist in wordlist/Web,extend plug will auto unique them,new wordlist will contains them +3. You can modify funcfg/extend.conf,set prefix, suffix, prefix + suffix and middle word when extended +4. extend plug support leet mode,pick by level and pick by lenght function,you can learn more in the following ``` -python pydictor.py -plug extend D:\word.txt -o D:\awesome\wordlist +python pydictor.py -plug extend /target/word.txt --leet 0 1 2 11 21 --level 1 --len 4 15 -o /target/awesome/wordlist ``` @@ -124,7 +124,7 @@ python pydictor.py -plug pid8 2. passcraper plug will generate two wordlist,preffix with SCRATCH is raw wordlist by website plain text, and if you feel that there are a lot of unrelated words in the SCRATCH wordlist, you can remove them, and then use the extend plugin to specify the new file to generate dictionary again. -3. you can modify the funcfg/passcraper_blacklist.cfg file,add or delete useless words that need to be filtered out, +3. you can modify the funcfg/passcraper_blacklist.conf file,add or delete useless words that need to be filtered out, and also can modify lib/data/data.py file passcraper_filter argument,change the filter regular expressions 4. with same extend plugin,you can put your weak password in /wordlist/Web,new wordlist will contains them @@ -179,7 +179,7 @@ python pydictor.py -tool shredder delete the currently specified output path(d python pydictor.py -tool shredder base delete the files of it's prefix is "BASE" in currently specified output path ``` -prefix(case insensitive) range in 13 items:base,char,chunk,conf,sedb,idcard,extend,uniqifer,counter,combiner,uniqbiner,scratch,passcraper +prefix(case insensitive) range in 13 items: base,char,chunk,conf,sedb,idcard,extend,uniqifer,counter,combiner,uniqbiner,scratch,passcraper besides,you can safe shred files or whole directory as following: ``` @@ -305,7 +305,7 @@ s = 5 besides,you also can: ``` -modify /funcfg/leet_mode.cfg, add or delete leet table items; +modify /funcfg/leet_mode.conf, add or delete leet table items; modify /lib/lib/data.py, extend_leet、passcraper_leet、sedb_leet arguments, choose some functions whether default use leet mode; modify /lib/data/data.py,leet_mode_code argument, choose default mode code; ``` diff --git a/README_CN.md b/README_CN.md index 3688778..649d3a2 100644 --- a/README_CN.md +++ b/README_CN.md @@ -58,7 +58,7 @@ python pydictor.py ##### 命令: -base ##### 示例1: 使用纯数字、纯小写字母或纯大写字母生成任意位数的爆破字典 ``` -python pydictor.py -base d --len 6 6 生成6位纯数字字典 +python pydictor.py -base d --len 6 6 生成6位纯数字字典 ``` ##### 示例2: 使用数字、小写字母与大写字母两两组合生成任意位数的爆破字典 @@ -68,7 +68,7 @@ python pydictor.py -base dL --len 1 3 ##### 示例3: 使用数字、小写字母与大写字母3者组合的任意位数的爆破字典生成 ``` -python pydictor.py -base dLc 默认字典长度:最小0,最大4 +python pydictor.py -base dLc 默认字典长度:最小0,最大4 ``` @@ -85,7 +85,7 @@ python pydictor.py -char abc123._@ --len 1 3 ### 三. 块乘法字典 ##### 命令: -chunk ``` -python pydictor.py -chunk abc ABC 666 . _ @ 生成由'abc'、'ABC'、'666' 、'.'、'_'、'@'6个块组成的所有可能性的排列组合字典 +python pydictor.py -chunk abc ABC 666 . _ @ 生成由'abc'、'ABC'、'666' 、'.'、'_'、'@'6个块组成的所有可能性的排列组合字典 ``` **注**: 当需要空格等特殊字符时,请加双引号单独包围特殊字符,如:abc " " 123 asdf @@ -97,10 +97,10 @@ python pydictor.py -chunk abc ABC 666 . _ @ 生成由'abc'、'ABC'、'666' 、' 1. extend功能主要针对web应用管理员生成密码字典 2. 你可以将自己的弱密码字典放在 wordlist/Web 目录下,extend插件会自动去重,生成的字典将会包含它们 3. 你可以修改 funcfg目录下的extend.conf文件,设定扩展时加入的前缀、后缀、前后缀组合、双写中间词等 -4. extend 支持leet mode和长度筛选功能,你可以在下文看到关于它们的描述 +4. extend 支持leet 模式、level筛选和长度筛选功能,你可以在下文看到关于它们的描述 ``` -python pydictor.py -extend D:\word.txt -o D:\awesome\wordlist +python pydictor.py -plug extend /target.txt --leet 0 1 2 11 21 --level 1 --len 4 15 -o /awesome/wordlist ``` diff --git a/lib/parse/command.py b/lib/parse/command.py index 136aa35..a4c3d5a 100644 --- a/lib/parse/command.py +++ b/lib/parse/command.py @@ -49,8 +49,7 @@ def parse_args(): pystrs.base_dic_type[2], pystrs.base_dic_type[3], pystrs.base_dic_type[4], pystrs.base_dic_type[5], pystrs.base_dic_type[6]], metavar='Type', - default='', help=cool.yellow(''' -Choose from ({0}, {1}, {2}, {3}, {4}, {5}, {6}) + default='', help=cool.yellow('''Choose from ({0}, {1}, {2}, {3}, {4}, {5}, {6}) {0} digital [0 - 9] {1} lowercase letters [a - z] {2} capital letters [A - Z] @@ -65,35 +64,31 @@ def parse_args(): parser.add_argument('-char', dest='char', metavar='character', default='', help=cool.yellow('Use Custom Character build the dictionary')) - parser.add_argument('-chunk', dest='chunk', metavar='chunk', nargs='+', type=str, default='', + parser.add_argument('-chunk', dest='chunk', metavar='arg', nargs='+', type=str, default='', help=cool.yellow('Use the multi-chunk build the dictionary')) - parser.add_argument('-extend', dest='extend', metavar='target', nargs='+', type=str, default='', + parser.add_argument('-extend', dest='extend', metavar='arg', nargs='+', type=str, default='', help=cool.yellow('Extend the string list or file')) - parser.add_argument('-plug', dest='plug', metavar='plug', nargs='+', type=str, default='', - help=cool.yellow(''' -Choose from ({0}, {1}, {2}, {3}) + parser.add_argument('-plug', dest='plug', metavar='arg', nargs='+', type=str, default='', + help=cool.yellow('''Choose from ({0}, {1}, {2}, {3}) {0:10} [idcard_last_6_digit] default sex:{3} {1:10} [idcard_last_8_digit] default sex:{3} {2:10} [url_or_file_path]'''.format(pystrs.plug_range[0], pystrs.plug_range[1], pystrs.plug_range[2], pystrs.default_sex))) parser.add_argument('--conf', dest='conf', nargs='?', metavar='file_path', default='default', const='const', - help=cool.yellow(''' -Use the configuration file build the dictionary + help=cool.yellow('''Use the configuration file build the dictionary Default: %s''' % paths.buildconf_path)) parser.add_argument('--sedb', dest='sedb', default='', action="store_true", help=cool.yellow('Enter the Social Engineering Dictionary Builder')) - parser.add_argument('-o', dest='output', metavar='output', type=str, default=paths.results_path, - help=cool.yellow(''' -Set the output directory path + parser.add_argument('-o', '-output', dest='output', metavar='path', type=str, default=paths.results_path, + help=cool.yellow('''Set the output directory path default: %s''' % paths.results_path)) - parser.add_argument('-tool', dest='tool', metavar='name', nargs='+', type=str, default='', - help=cool.yellow(''' -Choose from ({0}, {1}, {2}, + parser.add_argument('-tool', dest='tool', metavar='arg', nargs='+', type=str, default='', + help=cool.yellow('''Choose from ({0}, {1}, {2}, {3}, {4}) {0:10} [file_or_dir] {1:10} [file_path] @@ -104,8 +99,7 @@ def parse_args(): pystrs.save_and_view))) parser.add_argument('--len', dest='len', metavar=('minlen', 'maxlen'), nargs=2, type=int, - default=(pyoptions.minlen, pyoptions.maxlen), help=cool.yellow(''' -[Minimun_Length] [Maximun_Length] + default=(pyoptions.minlen, pyoptions.maxlen), help=cool.yellow('''[Minimun_Length] [Maximun_Length] Default: min=%s max=%s''' % (pyoptions.minlen, pyoptions.maxlen))) parser.add_argument('--head', dest='head', metavar='prefix', type=str, default='', @@ -118,10 +112,11 @@ def parse_args(): choices=[pystrs.encode_range[0], pystrs.encode_range[1], pystrs.encode_range[2], pystrs.encode_range[3], pystrs.encode_range[4], pystrs.encode_range[5], pystrs.encode_range[6], pystrs.encode_range[7]], - help=cool.yellow(''' -From (%s, %s, %s, %s, %s, %s, %s, %s)''' % (pystrs.encode_range[0], pystrs.encode_range[1], pystrs.encode_range[2], - pystrs.encode_range[3], pystrs.encode_range[4], pystrs.encode_range[5], - pystrs.encode_range[6], pystrs.encode_range[7]))) + help=cool.yellow + ('''From (%s, %s, %s, %s, %s, %s, %s, %s)''' % (pystrs.encode_range[0], pystrs.encode_range[1], + pystrs.encode_range[2], pystrs.encode_range[3], + pystrs.encode_range[4], pystrs.encode_range[5], + pystrs.encode_range[6], pystrs.encode_range[7]))) parser.add_argument('--level', dest='level', metavar='code', default=pyoptions.level, type=int, help=cool.yellow('''Use code [1-5] to filter results, default: {0}'''.format(pyoptions.level)))