windows钩子,APIhook

全局监控剪贴板

 

思路,DLL全局APIhook,在应用层做的话比较简单,但是可能会有很多情况无法实现。

 

1钩子

 

---- 在Windows系统中,钩子(hook)是一种特殊的消息处理机制。勾子可以监视系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理。这样,我们就可以在系统中安装自定义的勾子,监视系统中特定事件的发生,完成特定的功能,比如截获键盘、鼠标的输入,屏幕取词,日志监视等等。
 
多多查看msdn
 

HHOOK SetWindowsHookEx(

    int idHook, // 类型的钩子安装 

    HOOKPROC lpfn, // 对应钩子的消息处理过程

    HINSTANCE hMod, // 全局时需要的DLL句柄
    DWORD dwThreadId  //线程ID号

); 

 
全局钩子
 
孙鑫的光盘视频教材里有,讲的很详细。
 
DLL工程 Hook.dll
 
导出函数
 
在MFC下导入该DLL,并使用SetHook函数开始屏蔽键盘信息
 
动态导入dll
ApiHook
API 比全局钩子要难~~~把windows核心编程 看了好几遍,书中的代码改了又改才能够实现简单的APIhook,现在还存在很多问题。
包含的类
APIHOOK.H
APIHOOK.CPP
VS2008下编译代码如下
遇到的问题
1。在cmd下无法使用键盘钩子,MS在控制台下的按钮是中断信号,不是简单的键盘响应。而且用WH_KEYBOARD钩子时只针对GDI的程序才能执行
2。全局HOOKapi对桌面进程支持不好,经常报错。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值