呵呵,最近博客写的有点频繁,我这个人耐不住性子,有点东西就要拿出来让大家分享一下,虽然不一定都是好的。
最近一直在做HOOK,从内核驱动到用户层的API函数,基本上都尝试过了,昨天下午搞了一下午,写了一个R3下设置全局钩子截获键盘记录的小程序,虽然网上可能多得是,但是我认为菜鸟贵在自己动手做,哪怕是从网上从书上借鉴来的,你都要自己理解以后上机动手做一遍,这样你会发现很多你以前从未发现过的东西。
不扯淡了,直接看代码。另注:像我们这种菜鸟的代码一般都有点问题,请大牛见了不要笑话。
我是用的是Windows的API函数SetWindowsHookEx函数,所以第一步需要编写动态链接库的代码,动态链接库其实非常之简单有的和我一样的菜鸟一听到要用到这个东西就头疼,于是上网上看一些无需dll的全局键盘钩子的代码,其实我觉着吧,这反而会是编程变得困难。一个动态链接库的编写其实只要你写好头文件,和一些函数,比编写正常的程序简单的多,dllmain在缺省的情况下编译器自动为你填写,你还有什么好担心的呢?
但是这里要注意的是,此处的动态链接库有一段代码是需要给所有进程所共享的,所以要特别指明这段数据可读可写并且共享。
下面是代码:
dll头文件
dll cpp文件
dll def文件
下面我们就开始编写主程序模块了,这个就很简单了,其实就是构建一个MFC的框架,调用动态链接库的文件:
为确定按钮添加消息响应函数
为取消按钮添加消息响应函数:
此外需要注意的是在此之前需要把刚才编译运行好的dll文件的lib文件dll文件.h文件一起拷贝到debug的目录下(也有可能是release)否则会提示SetKeyHook未定义,此外你也可以使用LoadLibrary函数来显式调用动态链接库函数。
最终实现的效果是在C盘根目录下生成Key.txt文件记录你的键盘信息,经本人测试可以运行,(Windows Xp Sp2 professional)
代码仅供参考。
分享到:
相关推荐
在R3下进行键盘记录,使用dll动态链接库方式,在R3下进行键盘记录,使用dll动态链接库方式,
可通过颜色管理软件,添加该资源调整PC显示颜色。这个是ALW15R3的颜色配置文件。
防键盘记录|反键盘记录|拦截键盘记录|防盗密码框|密码防盗框 防R3下的键盘记录程序记录键盘按键/输入. 防钩子记录,防API记录(getasynckeystate/getkeystate)
citespace 5.8.r3是最经典的一个版本用的非常多
R0、R1、R2、R3寄存器实验.pdfR0、R1、R2、R3寄存器实验.pdfR0、R1、R2、R3寄存器实验.pdfR0、R1、R2、R3寄存器实验.pdfR0、R1、R2、R3寄存器实验.pdfR0、R1、R2、R3寄存器实验.pdfR0、R1、R2、R3寄存器实验.pdfR0、...
小米R3G华硕固件3.0.0.4 RT-MIR3G华硕固件_3.0.0.4
PDLAN4.32_R3_SETUP(20151105).exe,便于更好的去管理连接.
人大金仓v8_R3安装包
sap erp r3功能模块简介
Kingbase_v8_R3JDBC驱动
R3live适合ARM结构的源码。ubuntu18.04
想要了解Arduino UNO R3的朋友可以下载此压缩包,里边为PDF版的原理图,也非常适合想要自己去画Arduino板子的朋友。
L26R3A下乡自读数据L26R3A下乡自读数据L26R3A下乡自读数据
ANSYS Fluent Tutorial Guide 2019R3 ,共28个官方step by step 实例教程
R3读书器驱动及写号程序_光盘文件直取 里面包含驱动及对应的写号程序 装了就能用 R3二代里提取的
SAP R3技术与实现 SAP R3技术与实现 SAP R3技术与实现
excanvas_r3.zip解决了ie8不支持canvas的问题 excanvas_r3.zip解决了ie8不支持canvas的问题
R3读卡器驱动
Arduino UNO R3开发板具有较强的集成度,支持多种语言开发,并且能够兼容Linux、windows、ios等系统。
R3nzSkin.dll