基于HOOK技术和MMF的Windows密码渗透技术研究(4)
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:
或QQ:
处理(尽可能给您提供完整文档),感谢您的支持与谅解。

9.2钩子过程LRESULT WINAPI GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam),该过程主要完成从内存映像文件中读出保存的钩子句柄。
if(g_hHook == NULL)
{ //从共享资源中读数据,最终获取钩子句柄
DWORD dwData = 0, dwSize = sizeof (DWORD);
g_obIPC.Lock();//g_obIPC为CIPC对象,进入线程的同步
g_obIPC.OpenIPCMMF();//打开MMF文件
g_obIPC.ReadIPCMMF((LPBYTE)&dwData, dwSize);//读数据给dwData
g_obIPC.Unlock();//取消线程同步,退出临界区
g_hHook = (HHOOK)dwData;//将读到的数据赋值给钩子句柄,本文的关键所在
}
if(nCode >= 0)//忽略小于0的值
{
HWND hWnd = NULL; //密码控件所在的窗口句柄
HWND hPwdSpyWnd = NULL;//获取密码进程的窗口句柄
MSG *pMsg = (MSG*)lParam;
if(pMsg->message == g_wmScanPassword)//是否我们登记的消息
{
hWnd = (HWND)pMsg->wParam;
hPwdSpyWnd = (HWND)pMsg->lParam;
ExtractPassword(hWnd, hPwdSpyWnd); //通过发送消息得到密码
}
}
return CallNextHookEx(g_hHook, nCode, wParam, lParam);//返回下一钩子过程
10 演示界面
如图3所示:实例是MFC下基于对话框的工程。在window XP下,拖动图片控件放大镜来检索密码控件中的密码。下面的文本框显示一些相关的窗口信息以及密码文本。
11 反密码渗透应对策略
通过以上介绍的原理、方法及实现我们了解了如何得到windows系列密码的方法,一个逻辑的问题是如何防止别人利用这样的间谍程序复制我们的密码?例如我们上网时如果被这样的钩子程序入侵,怎么才能保护密码的安全。首选的解决方法是欺骗间谍程序,在用户程序中不要显示真实的密码,最好是在密码控件中显示一条虚假的密码。这样如果有人用以上的程序来获取密码,那他得到的是虚假的密码而不是真实密码。
当然还有其它的应对策略,一种可行的方法是拦截WM_GETTEXT。但用虚假密码还有其它的好处,通过利用虚假密码代替真密码,那么看到的密码控件上***长度就不能判断密码到底有多长。如果一个程序在其密码控件中显示了“***”的文本,我们立即知道密码只有三个字符的长度,密码的安全性大大降低。但如果通过一些加密算法将密码控件的显示变为一长串的“*”,这种方法常见于微软的密码保护策略。那么密码攻击者将无从下手。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说计算机基于HOOK技术和MMF的Windows密码渗透技术研究(4)在线全文阅读。
基于HOOK技术和MMF的Windows密码渗透技术研究(4).doc
将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
下载失败或者文档不完整,请联系客服人员解决!