猎豹MFC--全局键盘钩子--盗号木马使用全局键盘钩子截获记录

建立全局钩子必须为DLL应用程序:
如下建立:


DLL程序 必有有一个程序装载他。所以还需要在做一个项目。
再新建一win32项目:

这个做成windows应用程序。


回到DLL 先做一个DLL:


DLL有一个DLLMain函数,该函数有三个参数,switch内现在只用到一个,就先写一个:然后增加键盘的钩子函数:

以下setKbHook为挂钩的设置函数实现钩子函数和其他进程挂钩。也叫安装钩子。:其要做成DLL的导出函数。

在DLL的头文件定义宏:然后把函数的声明写在头文件中:



我们想把所有的键盘输入记录到一个文本文件中首先要检查:参数为lParam
40000000一共是32位4是第三十一位  (DWORD)lParam & 40000000  表示如果第三十一位等于一,表示 原来是按下去的,  按下去是一个消息   抬起来又是一个消息,原来按下去现在抬起来我们则收到一个正常的击键 HC_ACTION  =nCode.  参数wParma为键盘的虚拟键码。其大于0x2f小于0x100是正常的输入。再加上空格和回车键:


要打开文件,先声明文件指针 :并包含头文件:





重新编译发现有错误,回去更改代码 添加全局句柄:


接下来做键盘钩子的安装程序:因为键盘钩子是DLL程序,其不可独立运行,必须做一个程序来装载该DLL程序:
现在回到另一个win32项目,把DLL文件的头文件


粘贴到装载程序文件夹内:

再把库文件和dll文件复制过来:


然后在win32项目中添加头文件:


这个项目是安装DLL文件其实实际上不需要界面:因为键盘钩子是做监控或盗号木马,其不要界面,看不见就行。
删除win32项目的部分代码:



只把主消息循环留下:




运行如下:无界面 程序在不停循环:


此处设定的钩子为全局钩子,所有键盘的输入都会被记录在C盘下文件内。
产看文件验证:

发现记录错误。
检查代码    修改如下:

重新拷贝新生成的文件到安装程序的文件夹内:

在此打开C盘下export.txt验证  正确。


任何键盘消息都会被记录,先打开网址,输入百度。在此查看该文件。


点击登录百度 输入账号和密码。也会被记录。










posted @ 2016-03-20 22:09  hungryvampire  阅读(3906)  评论(1编辑  收藏  举报