mns 发表于 2012-6-25 17:55

【免费】使用虚拟机BT5批处理合并字典去重复无需U盘无需软件

本帖最后由 mns 于 2012-6-25 18:02 编辑

=================题前=====================
优点:linux强大稳定性和正则与文本处理功能绝非windows可以比拟,在windows下整理词典屡屡失败的朋友可以往下看。直接保存至硬盘无需U盘操作。
缺点:需要linux和虚拟机基础知识,需要足够的耐心和细心。


1.先弄明白BT5是backtrack,不是beini不是xiaopan更不是cdlinux,人有多大胆地有多大产中国s山寨已经把beini起名都起到BT9了。

2.下面的教程需要你掌握一定的linux知识,比如知道登录时密码输入是不可见的,比如Terminal是什么,如果连这些都清楚这份教程不适合你。

3.有耐心,毕竟BT5体积不小下载需要时间,整理词典尤其是去重复需要CPU长时间运行,如果连下载时间都无法忍受那这份教程也不适合你。

4.确认你的源字典中没有非UTF8字符,如果UTF8是什么都不知道,亲。去别的帖子转转吧!手排字典你一定可以的。

5.多多少少认识点英文,不用多初中水平就可以,当然我的教程尽量详细,看到英文就头痛的朋友要不您去看看Windows下的软件吧!
不止一个人因为连download都不认识而埋怨我的教程是垃圾;无语同时蛋疼的想也许抱怨就是他们的人生全部的意义。



之前我写过一个BT5字典整理的帖子,其中使用U盘处理字典受限于字典体积和U盘操作的繁琐令人不满。时间久远已经无法编辑所以索性开个新贴,细细道来。


最最后PS:http://www.anywlan.com/thread-115566-1-1.html使用BT5跑pin教程在这。
=================准备=====================

第一步:下载并且安装虚拟机。
VM或者VBOX无所谓parallels也可以;但我推荐VBOX,体积小运行快配置方便。本文以VBOX为例。
VBOX下载地址:https://www.virtualbox.org/wiki/Downloads
支持Windows/linux/mac/solaris ,选择适合你的版本下载。

第二步:安装虚拟机
这步不用多少废话,想必大家都清楚,安装过程中需要确认下驱动点击信任就可以,另外VBOX是多语言软件自动会变成中文界面。
再多说一句记住安装目录(默认是C:\Program Files\Oracle\VirtualBox )待会会用到。


第三步:下载BT5
本文选择的是BT5R2-GNOME-VM-32,体积2G。
下载地址:http://www.backtrack-linux.org/ajax/download_redirect.php?id=BT5R2-GNOME-VM-32.7z
下载完成后使用winrar或者7z解压压缩包,至少需要6G以上剩余磁盘空间。
另外这一步也记住解压路径,待会配置虚拟机会用到。


第四步:添加虚拟机
运行桌面上的Oracle VM VirtualBox,
点击新建,下一步,
输入BT5,操作系统选择linux,下一步
内存大小256-512,完全够用。
继续,选中使用现有的虚拟硬盘,点右侧带绿色箭头的文件夹按钮,找到第三步中解压的BT5文件,选中BT5R2-GNOME-VM-32.vmdk,点打开。
点创建。虚拟机创建添加完成。

第五步:设置虚拟机
回到VirtualBox主界面。选中刚才创建的BT5,点上方的设置
点左侧的存储,

选中IDE控制器下的光盘符号


点右侧分配光驱,选择一个虚拟光盘。




找到第二步中VBOX安装路径,选中VBoxGuestAdditions.iso。确定。


下面是关键步骤
请看图:

选中你的本地磁盘上存放字典的地方,然后给这个地方起个共享文件夹名称,这个名称必须是英文或数字组合,务必记住,可以尽量简短。非常重要!务必记住!


第六步:进入BT5
回到vbox主界面选中BT5点上方启动按钮启动BT5
少安毋躁会启动一段时间,视硬盘和CPU性能而定红色启动背景可能会持续几十秒不是假死,慢慢等待。
进入

输入用户名root,回车,密码toor,回车,再唠叨一句跟windows不一样密码输入时是不可见的!
(ps。想要修改密码在登录后可以使用passwd指令)


输入startx开启视窗

第七步:启用vbox挂载
点开上方黑色方框的 Terminal,
一次一行依次输入,每输入完一段回车(区分大小写):cd /media/cdrom
./VBoxLinuxAdditions.run
reboot这步如果感觉太繁琐也可以在在进入视窗后双击桌面上的光盘标志,进入光盘目录双击VBoxLinuxAdditions.run,点Run in Terminal。

Terminal滚动一会后会自动关闭,这时点Terminal输入reboot回车。
重启虚拟机。

第八步:
重复第六步进入BT5视窗界面,点击上方Terminal图标打开Terminal,一次一行依次输入,每输入完一段回车:mkdir /mnt/dict
mount -t vboxsf vm /mnt/dict注意这里第二行把的vm替换为你第五步起的共享文件夹名称!!!
这步只需要做一次以后无需再做。

第九步:合并字典
依然在Terminal里操作
输入cd /mnt/dict如果不确认此目录是否是字典存放目录或者需要知道字典名称输入:dir即可查看文件夹。
输入:cat 字典1.txt 字典2.txt 字典3.txt >> 合并后字典.txt如:cat dict1.txt dict2.txt dict3.txt >> dict4.txt这时你切换回windows(不要关闭虚拟机),到你存放字典的文件夹里看看是不是有了一个新文件呢?
OK那么往下:

第十步:去除空白行与去重复
去空白行输入:sed -i '/^$/d' 合并后字典.txt如sed -i '/^$/d' dict4.txt去重复并只保留8-16位以内密码:grep -P "^.{8,16}$" 合并后字典.txt|sort -u>去重复后字典.txt如grep -P "^.{8,16}$" dict4.txt|sort -u>dict5.txt
OK,你已经得到了去除重复后的字典了。

还有别的功能吗?当然有比如:
用手机号码生成了一堆十一位手机号码,但很多wpa密码只有十位;
那么就试试:cat 电话号码词典.txt| sed 's/..$//g' >>电话号码词典2.txt如cat tel.txt| sed 's/..$//g' >>tel2.txt再如啊你想在特定字典里为所有字符前或者后加入特定字符比如:
在所有字段前增加“00”两个字符sed '/^\=/{n;s/^/想要添加的字符/}' 字典文件如sed '/^\=/{n;s/^/00/}' dict7.txt在所有字段后增加“00”两个字符sed 's/$/想要添加的字符/' 字典文件如sed 's/$/00/' dict8.txtOK,全文暂且到这吧。有疑问欢迎提问。
以后有新字典只要往存放字典目录里一扔,打开BT5处理就可以了。




devlam 发表于 2018-1-21 09:13

楼主你好,如何批量去除手机号呢?

DKblue大的正则不会用 http://www.anywlan.com/thread-428879-1-1.html

黑蛤蟆 发表于 2012-6-25 18:42

哈哈。正规表达式运用得不错。。不知楼主有没有研究过去除中文的呢?

asxbqq 发表于 2012-6-25 19:05

往下看。直接保存至硬盘无需U盘操作。
缺点:需要linux和虚拟机基础知识,需要足够的耐心和细心

mns 发表于 2012-6-25 19:11

本帖最后由 mns 于 2012-8-3 01:37 编辑

黑蛤蟆 发表于 2012-6-25 18:42 static/image/common/back.gif
哈哈。正规表达式运用得不错。。不知楼主有没有研究过去除中文的呢?
试试sed -i '//!d'字典

s_k_911 发表于 2012-6-25 19:14

支持。学习了。

lijun2010 发表于 2012-6-25 19:15

需要linux和虚拟机基础知识,需要足够的耐心和细心

tieguanyin1017 发表于 2012-6-25 20:46

虽然看不懂,但是感觉很牛B的

yc2012 发表于 2012-6-25 20:48

虽然看不懂,但是感觉很牛B的

hbcxcj 发表于 2012-6-26 13:21

我也一直在沉思!每天泡在论坛,赚两个金币度日

lindows 发表于 2012-6-27 19:55

又是一个回复可见啊!

胡半仙 发表于 2012-6-27 20:06

DDDDDDDDDDDDDDD

淤、雨 发表于 2012-6-28 18:06

阿斯顿发斯蒂芬
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【免费】使用虚拟机BT5批处理合并字典去重复无需U盘无需软件