QQ密码的算法,破解QQ密码

社区服务
高级搜索
猴岛论坛QQ微信技术QQ密码的算法,破解QQ密码
发帖 回复
正序阅读 最近浏览的帖子最近浏览的版块
32个回复

[QQ技术]QQ密码的算法,破解QQ密码

楼层直达
晴熙卡盟副站长

ZxID:17988500

等级: 大校
实力打造非凡

举报 只看楼主 使用道具 楼主   发表于: 2012-05-21 0
QQ密码的算法,破解QQ密码

在qq对应号码目录下user.db文件从800h起20字节为与密码相关数据,其中后16个字节和Hash后摘要有关.这20个字节后4个字节是qq号码。

下列是一些常用的Hash算法(从微软加密头文件中提取出来的)

#define CALG_MD2 1 MD2算法

#define CALG_MD4 2 MD4算法

#define CALG_MD5 3 MD5算法

#define CALG_SHA 4 SHA算法

#define CALG_SHA1 4 SHA1算法

#define CALG_MAC 5 MAC算法

#define ALG_SID_RIPEMD 6 RIPEMD算法

#define ALG_SID_RIPEMD160 7 RIPEMD160算法

#define ALG_SID_SSL3SHAMD5 8 SSL3SHAMD5算法

#define CALG_HMAC 9 HMAC算法


而MD5算法中需要使用下面几个初始值

context->state[0] = 0x67452301;

context->state[1] = 0xefcdab89;

context->state[2] = 0x98badcfe;

context->state[3] = 0x10325476;

呵呵,在qq中一搜索,果然几个特征值赫然在目。但是显然qq使用了上述20个字节中的前四个字节对MD5密文又做了处理,我跟了两天还是没有头绪(头晕脑胀)。但是我发现把这四个字节改成00 00 00 00,然后登陆输入正确密码,仍然会提示密码不一致是否到服务器验证,选择是,然后验证成功后,这20个字节的后16个字节恰好就是密码的MD5密文。有兴趣的高手可以继续看看奥(其中密码比较函数地址为:004A7E0C)

例:

1B D5 01 00 5D D7 87 19 0D 92 6D E2 0A 56 E9 19 63 0F 5A E1 DF CA 20 05

DF CA 20 05即是我的qq号。不过可不要暴力破解我的奥:)

1B D5 01 00 5D D7 87 19 0D 92 6D E2 0A 56 E9 19 63 0F 5A E1就是和口令相关的数据

如果把1B D5 01 00改为00 00 00 00,然后按上述步骤登陆后,5D D7 87 19 0D 92 6D E2 0A 56 E9 19 63 0F 5A E1即变为口令的MD5密文。


算法源代码如下:

头文件:


// Decrypt.h: interface for the CDecrypt class.

//

//////////////////////////////////////////////////////////////////////

#define AFX_DECRYPT_H__916D97B8_C120_4435_BE23_2CF35B8763A2__INCLUDED_


#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000


#define _WIN32_WINNT 0x0400

#include

#include


class CDecrypt

{

public:

BOOL EncryptMessage(c*****t TCHAR *Message,TCHAR *pHashData,int *pHashLen,int Algorithm);

CDecrypt();

virtual ~CDecrypt();


};


#endif // !defined(AFX_DECRYPT_H__916D97B8_C120_4435_BE23_2CF35B8763A2__INCLUDED_)


CPP文件:

// Decrypt.cpp: implementation of the CDecrypt class.

//

//////////////////////////////////////////////////////////////////////


#include stdafx.h

#include Decrypt.h


#ifdef _DEBUG

#undef THIS_FILE

static char THIS_FILE[]=__FILE__;

#define new DEBUG_NEW

#endif


//////////////////////////////////////////////////////////////////////

// C*****truction/Destruction

//////////////////////////////////////////////////////////////////////


CDecrypt::CDecrypt()

{


}


CDecrypt::~CDecrypt()

{


}


BOOL CDecrypt::EncryptMessage(c*****t TCHAR *Message,TCHAR *pHashData,int *pHashLen,int Algorithm)

{

BOOL bResult = TRUE;


HCRYPTPROV hProv = NULL;

HCRYPTKEY hKey = NULL;

HCRYPTKEY hXchgKey = NULL;

HCRYPTHASH hHash = NULL;

DWORD dwLength;

// Get handle to user default provider.

if (CryptAcquireContext(&hProv, NULL, NULL, PROV_RSA_FULL, 0))

{

// Create hash object.

if (CryptCreateHash(hProv, Algorithm, 0, 0, &hHash))

{

// Hash password string.

dwLength = sizeof(TCHAR)*_tcslen(Message);

if (CryptHashData(hHash, (BYTE *)Message, dwLength, 0))

{

CryptGetHashParam(hHash,2,(BYTE*)pHashData,(DWORD*)pHashLen,0);

}

else

{

// Error during CryptHashData!

bResult = FALSE;

}

CryptDestroyHash(hHash); // Destroy session key.

}

else

{

// Error during CryptCreateHash!

bResult = FALSE;

}

CryptReleaseContext(hProv, 0);

}


return bResult;

}



使用:

TCHAR Hash[255];

int Len=-1;

CString Message=Your Message;

m_decrypt.EncryptMessage((LPCSTR)(Message),Hash,&Len,CALG_MD5);

Hash中存放的就是MD5密文。你可以使用上述算法

#define CALG_MD2 1 MD2算法

#define CALG_MD4 2 MD4算法

#define CALG_MD5 3 MD5算法

#define CALG_SHA 4 SHA算法

来替换CALG_MD5参数    
看完记得粉我




别说我骗你,不懂使用勿喷
本帖de评分: 1 条评分 DB +1
DB+1 2012-06-16

不会啊、

♨ 丶:信誉是用不完的资本,诚信是打不倒的招牌
不墨迹

ZxID:18414824

等级: 少尉
举报 只看该作者 32楼  发表于: 2012-06-18 0
以前看贴总是不回,一直没提升等级和经验

现在俄明白了!!

反正回贴可以升级 !

也可以赚经验跟DB 而升级又需要经验跟DB

我就把这句话复制下来

遇贴就回,捞DB就闪。. .
覭爱nag斯蒂芬

ZxID:18420107

等级: 下士
举报 只看该作者 31楼  发表于: 2012-06-17 0
什么都看不懂,我没读到书
▁▁丶◆◇流年

ZxID:17658777

等级: 上将
商,以诚为贵

举报 只看该作者 30楼  发表于: 2012-06-16 0
求破解 我的Q 号
wa1372

ZxID:15068797

等级: 中校
...
举报 只看该作者 29楼  发表于: 2012-06-16 0
以前不懂        

看贴总是不回,一直没提升等级和增加经验        

现在我明白了        

反正回贴可以升级        

也可以赚经验跟DB 而升级又需要经验跟DB        

我就把这句话复制下来      

遇贴就回,捞DB就闪
本文来自猴岛游戏论坛 :http://bbs.houdao.com/r6147871_u15068797/
闪人0

ZxID:17331097

等级: 上尉
举报 只看该作者 28楼  发表于: 2012-06-16 0
看不懂
卖路飞的小火柴

ZxID:17243709

等级: 上士
举报 只看该作者 27楼  发表于: 2012-06-16 0
不懂
Chen!

ZxID:17517753

等级: 中士
举报 只看该作者 26楼  发表于: 2012-06-16 0
小男孩的脾气

ZxID:18092423

等级: 大尉
听听音乐心情好很多

举报 只看该作者 25楼  发表于: 2012-06-16 0
完完全全的不懂
ヤ单身范 er

ZxID:18303688

等级: 大校
Smile everyday from today. Nothing really matters except to live or die.
举报 只看该作者 24楼  发表于: 2012-06-16 0
真的看不懂啊 太深奥
So丶花短裤丶

ZxID:17997736

等级: 少尉
举报 只看该作者 23楼  发表于: 2012-06-16 0
话说看了很久,还是没懂
败给了温柔ˉ

ZxID:10132514

等级: 大校
友情提示:此用户因长得太帅,已被猴岛禁言莫语。

举报 只看该作者 22楼  发表于: 2012-06-16 0
好难理解呀
3159801

ZxID:8455481

等级: 中尉
举报 只看该作者 21楼  发表于: 2012-06-16 0
文盲
屌丝、逆袭

ZxID:18251980

等级: 少将
举报 只看该作者 20楼  发表于: 2012-06-16 0
大家都看不懂. . . 相当于没用哇
o︻︻︻$▅▅▅▅▅▅▅▅▅▅▆▇◤ ~~
liao liao

ZxID:17959038

等级: 下士
举报 只看该作者 19楼  发表于: 2012-06-16 0
来不及温柔

ZxID:18126750

等级: 准尉
❤、什么叫快乐?就是掩饰自己的悲伤对每个人微笑。
举报 只看该作者 18楼  发表于: 2012-05-22 0
我擦 、那么牛逼
❤、什么叫快乐?就是掩饰自己的悲伤对每个人微笑。
     哲g.

ZxID:15873941

等级: 元老
原ID:未亡

举报 只看该作者 17楼  发表于: 2012-05-22 0
我看不懂啊看不懂
276865918

ZxID:18223913

等级: 上等兵
^^^^^^^^^^^^^^^^^^^^
举报 只看该作者 16楼  发表于: 2012-05-22 0
有没有什么软件啊,可不可以用嗅探器抓包啊
小杰gg丶

ZxID:15620509

等级: 中将
职务:猴岛总岛主
举报 只看该作者 15楼  发表于: 2012-05-21 0
求破解密码 愿意出高价 联系我吧。 364638522
败家四少52002

ZxID:18093600

等级: 中尉
传销真可怕。猴子要谨慎!!
举报 只看该作者 14楼  发表于: 2012-05-21 0
你是高手?有空帮我破解个qq呗?
« 返回列表
发帖 回复