viviczh 发表于 2016-3-29 16:00

跑包区字典制作赛第二季

本帖最后由 viviczh 于 2016-4-25 12:47 编辑

一、目的    适度跑包益脑   沉迷跑包伤机   不如制作字典   怡情怡性益身
二、内容    制作1~8位纯数字密码,要求格式为“连续滚键盘式”,例如:56587458、85474123、96541478,键盘样式以手机键盘为准(见图),滚键盘可沿键盘横向、纵向滚动,不斜向滚动,不连续按同一键两次。
三、注意    1、字典的通用性和密码概率均不讨论
               2、成果文件无需上传,截图即可,但需详细说明制作的软件及方法
四、奖励    相信方法多种多样,按照正确性和简便性给予论坛金币奖励


4月25日,结贴。虽然字典制作是那么的枯燥,各位还是一如既往地支持,感谢各位!骇客帝国、shuangyeying、随风飘得到论坛金币奖励,希望各位能再接再厉。

骇客帝国 发表于 2016-3-29 16:01

本帖最后由 骇客帝国 于 2016-4-3 16:44 编辑

不知道楼主要求是不是含8位以下的,我就按楼主给出的键盘图案制作一个纯8位的。

如果要含8位以下的,(逐一替换法的话)那就分批制作,比如制作7位的,就先制作一个纯7位的字典,之后方法相同!!
(运用正则式批量替换法的话)就先直接制作一个含8位以下的1-8位数字字典,之后方法相同!!




【方法及步骤】

一、制作一个8位纯数字字典(方法略)

二、【逐一替换法】用UE打开后查找替换下列字符(均为键盘不相邻字符及重复按键)
<注:以版主给出的键盘图案列出>
00、11、22、33、44、55、66、77、88、99
01、02、03、04、05、06、07、09
13、15、16、17、18、19、10
24、26、27、28、29、20
31、34、35、37、38、39、30
42、43、46、48、49、40
51、53、57、59、50
61、62、64、67、68、60
71、72、73、75、76、79、70
81、82、83、84、86
91、92、93、94、95、97、90

用UE逐一查找替换时,只在查找中逐一填以上字符、替换栏不填,然后替换,最后去掉8位以下(方法略);

三、【批量替换法】用UE正则式批量替换含有以上字符的行为空行

正则式为:(引擎选择Perl)
^.*(00|11|22|33|44|55|66|77|88|99|01|02|03|04|05|06|07|09|13|15|16|17|18|19|10|24|26|27|28|29|20|31|34|35|37|38|39|30|42|43|46|48|49|40|51|53|57|59|50|61|62|64|67|68|60|71|72|73|75|76|79|70|81|82|83|84|86|91|92|93|94|95|97|90).*$

如图:

1、设置替换成空行(注意红圈内的选择及输入)








2、出现提示框直接按确定,之后机器可能会有假死现象,需耐心等待   (视电脑CPU及内存配置情况,顺便说一下本人破电脑是酷睿2四核4G内存, 等待时间10分钟左右)






(注:要想知道是否是假死,可打开任务管理器查看UE进程,如果UE进程的内存使用在不断增加,说明其在正常运行,如果内存使用不动了说明UE真卡死了,可关闭UE,再打开时软件会提示恢复,点击恢复,再继续原来的操作)







3、替换后的结果:








三、最后删除空行后另存即可。

正则式为:(引擎选择UltraEdit)

%[ ^t]++^p

1、设置删除空行(注意红圈内的选择及输入)








2、耐心等待结果:








共获得14826条数据









验证一下楼主列出的3个数字















字典附后:制作比较仓促,也未经全面验证!!






我来了我来了 发表于 2016-3-29 16:22

我是截3'4'5数来搞的但就是出来后容量大的不理想:Q 所以进来看看学习一下大家有什么好方法

viviczh 发表于 2016-3-30 22:05

大神都不在?还是我奖励设置的不够高?:L

shuangyeying 发表于 2016-3-30 23:09

我去百度一下 连续滚键盘式 哈哈;P

shuangyeying 发表于 2016-3-31 06:56

好像明白一点了,我看看啦。

幽意 发表于 2016-3-31 12:03

好像数字的没什么用,起码我跑了这么多的包

zjhxmjl 发表于 2016-3-31 23:46

利用回溯算法尝试优先遍历,先计算出所有四个数字的所有排列组合,然后从中剃除穿过中间那个数字及连续重复2数字的组合,剩下的既为符合要求的组合

viviczh 发表于 2016-4-1 08:40

zjhxmjl 发表于 2016-3-31 23:46
利用回溯算法尝试优先遍历,先计算出所有四个数字的所有排列组合,然后从中剃除穿过中间那个数字及连续重复 ...

有点意思哦。1~8位的,不单单是8位的。我用笨办法昨天做了一个1~10位的,居然才2M多,算弱密也不为过。

shuangyeying 发表于 2016-4-1 23:02

本帖最后由 shuangyeying 于 2016-4-1 23:06 编辑

网慢,一下回了就出两个,这个编辑掉好了。

shuangyeying 发表于 2016-4-1 23:02

本帖最后由 shuangyeying 于 2016-4-1 23:09 编辑




先用C找出0-9相邻的数字有哪些。相邻的数相差1或者3或者8,可以设定条件找到。

然后将这些相邻的数定义成一个数组。再做一个嵌套循环,就能够出来啦。
当然,除了0和8相邻,定义数组的其他为0的要筛选掉。


viviczh 发表于 2016-4-1 23:31

shuangyeying 发表于 2016-4-1 23:02
先用C找出0-9相邻的数字有哪些。相邻的数相差1或者3或者8,可以设定条件找到。

然后将这些相邻的 ...

果然气派,本人C渣渣,第二部分表示看的不是很懂,相邻数做成数组是不是只有双位数?
页: [1] 2 3 4 5
查看完整版本: 跑包区字典制作赛第二季