HOOK钩子 指定程序

本文详细介绍了如何使用VC创建DLL动态链接库,并利用GetWindowThreadProcessId、FindWindow和SetWindowsHookEx函数,实现对指定程序如"文档 - 写字板"的HOOK钩子,使得该程序无法响应鼠标消息。通过创建本程序内、全局和指定线程的钩子,实现了对特定应用的劫持功能。
摘要由CSDN通过智能技术生成

HOOK的应用一般有3个:

(1)本程序内的钩子(一般用处不大)

(2)全局钩子

(3)其他任意指定线程的钩子

由于最近要做一个关于针对指定应用程序的劫持,在网上看了很多资料,大部分是讲全局钩子的。针对特定程序的钩子,讲得要么不清楚,要么没有给详细的代码,当然,鄙人的水平有限。现在,我就把任意指定程序的钩子创建过程,给一个详细的代码。

本文所用的关键函数是:GetWindowThreadProcessId,FindWindow,SetWindowsHookEx

整体上和创建全局钩子类似,但是多了一个获取线程ID的入口

第一步:

创建动态链接库DLL。用VC来创建DLL,创建Windows应用程序,名称为Hook。方法和孙鑫老师第20课讲的一样。

Hook.cpp(没有h头文件)

<pre class="cpp" name="code">#include <windows.h>

HHOOK g_hMouse=NULL;
HHOOK g_hKeyboard=NULL;

#pragma data_seg("MyS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值