hook编程c语言怎么写钩子程序

hook编程  时间:2021-06-21  阅读:()

hook是什么键

键盘HOOK不是指哪个键哦,是一种编程里的术语,HOOK会捕捉消息监听消息并且加工处理消息,如果你不懂编程的话就不需要去搞懂它了。

具体的使用一两句话说不清楚,你可以看看下面这段稍微理解一下。

钩子(Hook)是Windows提供的一种消息处理机制平台,是指在程序正常运行中接受信息之前预先启动的函数,用来检查和修改传给该程序的信息,(钩子)实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。

每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。

这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。

注意:安装钩子函数将会影响系统的性能。

监测“系统范围事件”的系统钩子特别明显。

因为系统在处理所有的相关事件时都将调用您的钩子函数,这样您的系统将会明显的减慢。

所以应谨慎使用,用完后立即卸载。

还有,由于您可以预先截获其它进程的消息,所以一旦您的钩子函数出了问题的话必将影响其它的进程。

<高分>C++中的HOOK问题

楼上用的是底盘HOOK...

这样不仅非常麻烦,而且还会生成一个dll...就变多文件了

其实楼主的要求用全局HOOK就可以了...

用SetWindowsHookEx调用系统自带的HOOK...

LRESULT CALLBACK LowLevelKeyboardProc(INT nCode, WPARAM wParam, LPARAM lParam){

MessageBox(0,"按键了!","~~",0) return TRUE;

//我这样是读取所有按键,,只读取Pr的话加个if即可 }

KeyHook=SetWindowsHookEx(WH_KEYBOARD,LowLevelKeyboardProc,m_hInstance,0); #if (_WIN32_WINNT >= 0x0400) KeyLLHook=SetWindowsHookEx(WH_KEYBOARD_LL,LowLevelKeyboardProc,m_hInstance,0); #endif

hookqq.exe是什么?

HookQQ是一款运行于32位WinNT平台下的内存辅助工具。

将HookQQ挂载到用户或者其他人写的程序里面(exe程序或dll库),便可实现譬如:内存填充、内存替换、启动其他程序、挂载其他dll库等功能。

网上可以搜索下载。

HookQQ功能: 1、内存填充 使用HookQQ,能够将批量的将大段的内存连续填充为指定的单个字节。

譬如:将TestA.exe模块里,偏移为0xE4D5的地址,连续填充6个0x90(汇编代码为NOP),使Test.exe运行到此处时,该段代码失效。

当然,不仅仅是只能填充0x90,任意的字节均可以被填充。

2、内存替换 当要替换的内存并非相同的字节,而是一段有特殊功能的代码时,内存填充功能显然不够用。

这个时候,可以选择内存替换功能。

使用内存替换功能,能够批量的将大段的内存替换为用户指定的字节数组。

譬如:将TestB.exe模块里,偏移为0x6A4DB的地址,连续填充为下列字节{0xB8, 0xCF, 0x53, 0x00, 0x62, 0xFF, 0xD0}(对应汇编代码为mov eax,620053CF; call eax),当程序运行到0x6A4DB时,自动调用0x620053CF的函数。

3、启动其他程序 当启动某个程序时,往往要同时开其他的程序,对刚启动的程序进行辅助。

打个通俗点的比方:启动一个文本编辑程序记账的时候,顺便把Windows自带的计算器也启动起来,可能更好。

HookQQ就具有这个功能。

可以在启动程序A的时候,顺带打开程序B。

4、挂载其他的dll库 如果以上4种功能,在实际的使用过程中,还无法满足要求,可以自己编写dll,来补充HookQQ无法提供的功能。

可以使用任意的Windows编程语言,譬如:VC++ 、Delphi 、汇编语言,只要包含有类似于VC++里的dllmain函数,均能被正确加载并运行。

编程里说的 钩子和勺子是什么

Windows系统中钩子具有相当强大的功能,通过这种技术可以对几乎所有的Windows 系统中的消息进行拦截、监视、处理。

这种技术可以广泛应用于各种软件,尤其是需要有监控、自动记录等对系统进行监测功能的软件。

VB编程中钩子的实现 (一)钩子函数(HOOK Function)的格式。

Hook Function实际上是一个函数,如果是系统钩子,该函数必须放在动态链接库中。

该函数有一定的参数格式,在VB中如下: Private Function HookFunc(ByVal nCode As Long,ByVal wParam As Long,ByVal lParam As Long)As Long 其中,nCode代表是什么情况之下所产生的钩子,随钩子的不同而有不同组的可能值;参数wParam,lParam传回值包括了所监视到的消息内容,它随Hook所监视消息的种类和nCode的值不同而不同。

对于用VB所设置的钩子函数,一般的框架形式如下: Private Function HookFunc(ByVal nCode As Long,ByVal wParam As Long,ByVal lParam As Long)As Long Select case of nCode case ncode<0:hookfunc=callnexthookex(hHookFunc,nCode,wParam,lParam) case值1:处理过程1:HookFunc=X1 case2:处理过程2:HookFunc=X1 …… end select end Function 函数的传回值,如果消息要被处理,则传0,否则传1,吃掉消息。

(二)钩子的安装及执行。

钩子的安装要用到几个API函数:可以使用API函数SetWindowsHookEx()把一个应用程序定义的钩子子程安装到钩子链表中。

SetWindowsHookEx()函数的声明如下: Declare function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA"(ByVal idHook As Long,ByVal lpfn As Long,ByVal hmod As Long,ByVal dwThreadId As Long)As Long idHook值为它处理的消息类型;lpfn值为钩子子程序的地址指针。

如果dwThreadId参数为0或是一个由别的进程创建的线程的标识,lpfn必须指向DLL中的钩子子程。

除此以外,lpfn可以指向当前进程的一段钩子子程代码。

hMod值为应用程序的句柄,标识包含lpfn所指的子程的DLL。

如果dwThreadId标识当前进程创建的一个线程,而且子程代码位于当前进程,hMod必须为0。

dwThreadId值为与安装的钩子子程相关联的线程的标识符,如果为0,钩子子程与所有的线程关联。

钩子安装成功则返回钩子子程的句柄,失败返回0。

另外,一般应在钩子子程中调用CallNextHookEx()函数以执行钩子链表所指的下一个钩子子程,否则安装了别的钩子的应用程序就会收不到钩子通知,从而产生错误的结果。

CallNextHookEx()函数的声明如下: Declare Function CallNextHookEx Lib"user32" Alias "CallNextHookEx"(ByVal hHook As Long,ByVal ncode As Lonog, ByVal wParam As Long,lParam As Any)As Long hHook值是SetWindowsHookEx()的传回值,nCode、wParam、lParam则是Hook函数中的三个参数。

在程序终止之前,必须调用UnhookWindowsHookEx()函数释放与钩子关联的系统资源。

UnhookWindowsEx()函数声明如下: Declare Function Unhook WindowsHookEx Lib "user32" Alias "Unhook WindowsHookEx(ByVal hHook As Long)As Long hHook为安装钩子时的返回值,即钩子子程的句柄。

c语言怎么写钩子程序

钩子程序解释截获键盘和鼠标事件的程序。

比如你要输入qq密码的时候,钩子程序就会记录你按键盘的哪个键,鼠标按了哪个键。





然后,就获得了你的密码

  • hook编程c语言怎么写钩子程序相关文档

港云网络(¥1/月活动机器),香港CN2 4核4G 1元/月 美国CN2

港云网络官方网站商家简介港云网络成立于2016年,拥有IDC/ISP/云计算资质,是正规的IDC公司,我们采用优质硬件和网络,为客户提供高速、稳定的云计算服务。公司拥有一流的技术团队,提供7*24小时1对1售后服务,让您无后顾之忧。我们目前提供高防空间、云服务器、物理服务器,高防IP等众多产品,为您提供轻松上云、安全防护。点击进入港云网络官方网站港云网络中秋福利1元领【每人限量1台】,售完下架,活...

香港 1核 1G 5M 22元/月 美国 1核 512M 15M 19.36元/月 轻云互联

轻云互联成立于2018年的国人商家,广州轻云互联网络科技有限公司旗下品牌,主要从事VPS、虚拟主机等云计算产品业务,适合建站、新手上车的值得选择,香港三网直连(电信CN2GIA联通移动CN2直连);美国圣何塞(回程三网CN2GIA)线路,所有产品均采用KVM虚拟技术架构,高效售后保障,稳定多年,高性能可用,网络优质,为您的业务保驾护航。官方网站:点击进入广州轻云网络科技有限公司活动规则:用户购买任...

哪里购买香港云服务器便宜?易探云2核2G低至18元/月起;BGP线路年付低至6.8折

哪里购买香港云服务器便宜?众所周知,国内购买云服务器大多数用户会选择阿里云或腾讯云,但是阿里云香港云服务器不仅平时没有优惠,就连双十一、618、开年采购节这些活动也很少给出优惠。那么,腾讯云虽然海外云有优惠活动,但仅限新用户,购买过腾讯云服务器的用户就不会有优惠了。那么,我们如果想买香港云服务器,怎么样购买香港云服务器便宜和优惠呢?下面,云服务器网(yuntue.com)小编就介绍一下!我们都知道...

hook编程为你推荐
怎么用电脑发短信怎样用电脑给别人的手机发短信?云输入法QQ云输入法怎样调整候选词的个数?qq管家官网在qq电脑管家官网有个可以登录qq的。登录上了可以加速么?gas是什么意思GC什么意思全局钩子求助:全局钩子是怎么回事啊?下载的游戏为什么会安装钩子?求大神帮助全局钩子delphi 键盘全局钩子网站客服代码请问怎么在网页里面加入在线客服系统的代码,代码要怎么获得?特斯拉model3降价特斯拉股价为何暴跌?gbk内码高考姓名gbk内码查询怎么查微信注册时间怎么查对方的微信号什么时候注册的
哈尔滨域名注册 过期备案域名查询 互联网域名管理办法 hkbn wavecom 免费主机 美国主机网 美国主机论坛 免费个人空间 seednet 老左正传 刀片式服务器 广州服务器 重庆双线服务器托管 免费网页申请 免费mysql数据库 创建邮箱 789 贵阳电信 atom处理器 更多