# passwords **Repository Path**: lab37/passwords ## Basic Information - **Project Name**: passwords - **Description**: 一些基础字典与字典生成方法 - **Primary Language**: Shell - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-07-13 - **Last Updated**: 2024-08-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # passwords项目 #### 介绍 一些基础字典与字典生成方法 #### 目录结构 ``` base---------------------基础字典目录 | |-----a-z.txt // a-z小写字母,这个单跑时可以用掩码代替,这里一般只用于生成字典。 |-----a-z2.txt // a-z小写字母的所有组合。 |-----shengri_1949-2020_jan_8-8.txt // 1949到2020年的生日数字,这里只有一种最简形式,比如19880908,全部都是8位。 |-----shengri_1949-2020_quan_6-8.txt // 1949到2020年的生日数字,这里包括全部形式,比如19880908和880908,6-8位。 |-----xinming_quanpin_2-2.txt // 两个字的中文姓名全拼。 |-----xinming_quanpin_2-3.txt // 两到三个字的中文姓名全拼。 |-----xinming_suoxie_2-2.txt // 两个字的中文姓名首字母缩写。 |-----xinming_suoxie_2-3.txt // 两到三个字的中文姓名首字母缩写。 |-----xinshi_quanpin.txt // 百家姓中的姓氏全拼。 |-----xinshi_shouzimu.txt // 百家姓中的姓氏首字母。 tools-------------------字典组合工具, 用法见下文。 | |-----cap2hccapx.exe // cap文件转hccapx |-----combinator.exe // 生成两个字典的全排列(集合的笛卡尔积) |-----combinator3.exe // 生成三个字典的全排列(集合的笛卡尔积) |-----mli2.exe // 用于合并两个字典,并去重(两个集合的并集) |-----prepare.exe // 用给定字符集生成字典(给定所有的字符的全排列) |-----rli/rli2.exe // 生成两个字典的差别部分(给定两个集合的差集) ``` #### 命令用法 1. cap2hccapx.exe 用于把cap格式转换成hccapx格式 用法: `.\cap2hccapx.exe D:\input.cap D:\output.hccapx` 2. combinator.exe排列组合两个字典 用法: ``` a.txt的内容如下: aa bb b.txt的内容如下: 11 22 组合a.txt和b.txt,也就是求a.txt和b.txt的笛卡尔积 .\combinator.exe a.txt b.txt >zuhe.txt zuhu.txt的内容如下: aa11 aa22 bb11 bb22 ``` 3. combinator3.exe这个和combinator.exe一个,不过是可以组合3个字典。 4. combinatorX.exe这个是用于组合多个字典 5. combipow.exe用于自身组合 ``` a.txt的内容如下: aa bb 11 对自身组合求笛卡尔积 .\combipow.exe a.txt >zuhe.txt zuhe.txt的内容如下: aabb aa11 aabb11 bb11 ``` 6. mli2.exe用于求两个字典的并集,这两个字典必须事先排好序(LC_ALL=C规则) ``` a.txt的内容如下: aa bb cc dd b.txt的内容如下: aa cc ee ff 求这两个字典的并集: .\mli2.exe a.txt b.txt >binji.txt binji.txt的内容如下: aa bb cc dd ee ff ``` 7. prepare.exe用于生成给定几个字符的全排列。 ``` a.txt的内容如下: abc 只有一行,就是abc,这里约等于是给出了三个字符a、b、c。 把这三个字符进行全排列: .\prepare.exe zuhe.txt zuhe.txt的内容如下: abc cba bca bac cab acb ``` 8. rli.exe用于取两个集合的差集 ``` a.txt的内容如下: aa 123 bb 999 cc 1234 ee b.txt的内容如下: 123 999 1234 使用命令取差集(注意这个命令的参数顺序,以及字典做差的方向性) .\rli.exe a.txt chaji.txt b.txt chaji.txt的内容如下: aa bb cc ee ``` 9. rli2.exe这个和rli.exe是一样的 和rli的区别的,rli2要求两个字典是事先排序和去重的。并且rli2是输出到准备输出,输出到文件的话需要在命令中手动指定重定向。rli受内存大小限制。rli2是按行处理,不受内存限制。 上面命令用rli2执行的话如下: `.\rli.exe a.txt b.txt >zuhe.txt` #### 一些其它的常用字典项目 1. https://gitee.com/php300/PasswordDic 2. https://gitee.com/littlematch59/wpa-dictionary 3. https://gitee.com/php300/Fuzz-Dicts