用Java的iO整理txt的内容格式

<span style="background-color: rgb(255, 255, 255); font-family: Arial, Helvetica, sans-serif;"> 注:本文章转自其他论坛. </span>

  昨晚去了一个社工论坛,看到很多很诱人的数据库。在好奇心的驱动下,花了4块大洋去买了一份QQ账号和密码的裤子。结果下载下来一看,是一份很老的裤子了,大部分账号对应的密码已经失效,然而却有小部分的“信”是可用的,不想浪费掉这部分资源,就对这个看似无用的裤子再次处理吧!

   一:提取部分有用的信,也就是提取那部分密码还未被修改的信,由于本人小白,百度了很久都没有百度到处理的办法。带有一丝丝希望的就是一款叫做骨头QQ密码验证器。使用也比较简单,把原账号和密码放在一个txt文件里面,然后导入账号和密码,点击一下“开始验证”就开始了!

  用Java的iO整理txt的内容格式_第1张图片

                                                                        骨头QQ密码验证小助手解压后如图

用Java的iO整理txt的内容格式_第2张图片

        这里导入号码

 关键问题:得到的信的格式,这是这样的:账号所在地区   账号  密码  IP地址,然后骨头QQ密码助手导入的txt格式是:账号----密码,这样的格式,它才能识别,如下图必须改为这样才能正常工作:

2651477991----hu199102

17299993097----yexuhenaini?/

        ......................................................



   翻遍了ue软件,也不知道如何去掉第一行和后面几行,只留校账号和密码这一行!用word或者excel,自己对办公软件的技能也是有限的.于是,自己写一个Java小程序来实现这一功能吧,算是巩固一下自己的Java基础。

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;

/*
 * 日期:2015.2.4
 * 功能:对txt文本的格式进行更改,以便于管理各种数据库
 */
public class ChangeFormat {

	public static void main(String[] args) throws Exception {
		//创建File类的两个对象,与txt文本相关联,所以要注意引入相应的包
		File inputFile = new File("e:/测试信/广东1[1858]QQ大全.txt");
		File outputFile = new File("e:/测试信/广东1[1858]QQ大全已转好格式.txt");
		
		//用Scanner对原文本文件进行读写,PrintWriter类对转好后的格式进行读写
		Scanner input = new Scanner(inputFile);
		PrintWriter output = new PrintWriter(outputFile);
		
		while(input.hasNext()) { //只要还有文字,就继续读下去
			String line = input.nextLine();			//这里我们先读取一正行文字,然后去掉首尾的空格
			line = line.trim();
			String[] str = line.split("	");			//用正则表达式,分离每一行的内容,分理出账号密码IP之类的,保存在一个字符串数组里面
			
			String outputStr = str[1] + "----" + str[2];  //要注意,账号和密码保存在数组的位置,不能造成数组的越界.

			output.println(outputStr);		//对txt文件进行写
			output.flush();			//每写完一行,就应该刷新一次,不然要写的东西一直保存在缓冲区里面,写不进文件
		}
		input.close();		//最后别忘了,关闭输入输出,
		output.close();
	}
}

经过这么一运行之后,产生的文件的格式就是我所需要的啦!

 原文件格式是这样的:

广东1区	793727059	qwertyuiop753951	218.17.222.9
广东1区	1336457207	aa5244589AA	14.220.56.171
广东1区	1264791575	LiU13426546683	218.95.3.233

被更改后的效果是这样的:

793727059----qwertyuiop753951
1336457207----aa5244589AA
1264791575----LiU13426546683

二:提取里面的密码,作为以后备用的字典。大家都知道,破解一个密码,强大的字典是很有用的,拥有一款强大的字典是破解成功的关键。然而,从别人用的密码中提取的和加工后的字典效率是很高的。自己再修改一下程序,提取出裤子的密码一行来吧,以后爆破WiFi密码,跑wpa包的时候用的着!

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;

/*
 * 日期:2015.2.4
 * 功能:从已有的txt文本中提取密码这一行,用作黑客字典
 */
public class GetPasswd {

	public static void main(String[] args) throws Exception {

		File inputFile = new File("e:/测试信/广东1[1858]QQ大全.txt");
		File outputFile = new File("e:/测试信/广东1[1858]QQ大全密码.txt");
		
		Scanner input = new Scanner(inputFile);
		PrintWriter output = new PrintWriter(outputFile);
		
		while(input.hasNext()) {
			String line = input.nextLine();		
			line = line.trim();
			String[] str = line.split("	");		
			
			String outputStr =str[2];	//只需要改这么一句就万事大吉 

			output.println(outputStr);		
			output.flush();			
		}
		input.close();		
		output.close();
	}
}

这样,经过简单的修改源代码,就可以在几秒钟内提取出将近2k个密码了.

用Java的iO整理txt的内容格式_第3张图片

  

你可能感兴趣的:(java,算法,正则表达式,密码)