少尉
- 注册时间
- 2011-8-27
- 金币
- 157 个
- 威望
- 14 个
- 荣誉
- 3 个
累计签到:97 天 连续签到:1 天 [LV.100]试剑无线
|
发表于 2013-10-20 17:19
本帖最后由 tirom 于 2013-10-28 02:55 编辑
好消息,字典已经重新优化整理完毕!已经发布:http://www.anywlan.com/thread-247064-1-1.html。(已完美解决:去除8位以下字典、去中文、去乱码等BUG)
mns你好,关于字典整理想与你交流一下!
首先,非常感谢你为大家整理合并了6.55G的优质字典。
我用split拆开看一下,确实是:无重复、无空行、无中文、无乱码(没有非可打印ASCII字符等),是一个非常优良的字典!
有几个方面跟你讨论交流一下:
1、是关于你说的“去空格”
到底是去掉每一行中的空格,还是指去掉空行?如果是前者去掉单词中间或首尾的空格可能会影响字典质量,因为有些密码确实夹杂着空格,甚至是全空格,希望你是指去掉空行。
2、是关于“只保留8-16位”
经我查看,字典的还是有不少7位的,如:
第16行:~@#$%^0
第73行:......0
倒数第5563行:zzzzzzi
不知你是不是用的这个命令:
grep -P "^.{8,16}$"
经我用小文件测试,它保留输出的却是长度7~15位的行,应该它把换行符计算在内了,这是grep中使用Perl正则的一个误区,要加1才行。(经后期测试,问题不是出在这里,而是换行符的问题,@CR和@LF是不同的。后期用tr命令已解决。)
3、是关于“去重复”
字典中还是出现了很多重复行,如最后面倒数5563行开始的:
我用Notepad2打开时是如下内容:
把这部分复制到记事本,又变成了:
我在想是不是因为它的换行符不同,有些行是以@CRLF换行的,有些是以@LF换行的,或者有些是从UTF-8格式的文件合并过来的时候导致的?
4、关于去除无用的字典的构思
例如像下面以一个地方区号开头的电话号码:
051661827237
051661827238
051661827239
我相信绝大部分是不需要的,自己地区的可以做一个专用字典,不需要放进总字典里,可以节省很多容量。
可以考虑用vim来处理,或者把大字典split -C成多个小字典,再手动用Notepad2拉着看一遍整理一下,再重新合并。
------------------------- 这是分隔线 -----------------------------
最近我配了台i7+HD7870+SSD的电脑,装了server2003+win7+CentOS三系统。
正好把你的字典+原有的+网盘下载的其他字典,再重新进行一次整理优化,
经测试甚本上能解决上面出现的问题了,
但还有一点,就是不能完全去除非ASCII键盘上可输入的字符:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
` 1234567890
~ !@#$%^&*()
-=\[];'',./
_+|{}:"<>?
我数了下共96个,应该密码只能在此之列。
附上“乱码测试文件”,望mns或其他高手共同交流,以期实现一个最优化的合并字典方案。
(此问题已解决,使用Linux的tr命令。)
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
|