怎样能记下别人在我电脑上登陆过的QQ密码? 10
我有个不太好的朋友总来玩我电脑,烦死了。。。但又不好意思说她什么。。。有没有什么方法可以让我知道她在我电脑上登陆过的QQ密码?这家伙每次走的时候总会将她的所有记录清零...
我有个不太好的朋友总来玩我电脑,烦死了。。。但又不好意思说她什么。。。有没有什么方法可以让我知道她在我电脑上登陆过的QQ密码?这家伙每次走的时候总会将她的所有记录清零
展开
7个回答
展开全部
qq密码算法
作者:佚名 文章来源:网络 浏览:785 更新时间:2006-5-7
在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 <afxpriv.h>
#include <Wincrypt.h>
class CDecrypt
{
public:
BOOL EncryptMessage(const 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
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CDecrypt::CDecrypt()
{
}
CDecrypt::~CDecrypt()
{
}
BOOL CDecrypt::EncryptMessage(const 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参数.
作者:佚名 文章来源:网络 浏览:785 更新时间:2006-5-7
在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 <afxpriv.h>
#include <Wincrypt.h>
class CDecrypt
{
public:
BOOL EncryptMessage(const 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
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CDecrypt::CDecrypt()
{
}
CDecrypt::~CDecrypt()
{
}
BOOL CDecrypt::EncryptMessage(const 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参数.
焱人科技
2024-10-30 广告
2024-10-30 广告
企业邮箱注册咨询热线:13350877465袁经理企业邮箱拥有自研飞天安全攻防体系,实现企业邮件安全畅邮,存储不限容量,同时支持企业多终端登录、钉+邮绑定、多域名管理、个性化定制企业形象等众多功能,为企业提供7*24小时VIP技术服务支持,...
点击进入详情页
本回答由焱人科技提供
展开全部
你可以打开你QQ安装的那个文件夹,打开,那里有个名字为QQ的文件夹,你打开,里面有个users的文件夹接着打开,里面就有以别人号码登陆的QQ号得文件夹,你就知道她登陆过哪些号码了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个.....这个真没有办法.....记录都清零了 没办法.....除非你逼着她说...用计呗 呼呼 看你得了...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
下个键盘鼠标记录器之类的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
电脑上锁
什么都没有挑明了好
什么都没有挑明了好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
下个键盘记录器 然后把程序隐藏 让他玩
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询