文章分类 -  hook

hook information
摘要:本文详细介绍InvokeEx的钩子安装过程,至于文章标题别在意(权当是一些关键字吧),其实我也不是很清楚InvokeEx是干什么用的,起因是帮助网友【jameshooo】对InvokeEx进行拦截。进一步,对其进行拦截究竟能干什么,那也只有见仁见智了,如果【jameshooo】看见此文章还望就此问题回复,以便对InvokeEx钩子有更好的应用。一.IDispatchEx介绍我们可以将IDispatchEx理解为接口类,实际上它本来就是一个类,嘿嘿。该类拥有一个虚函数表,其实每个COM类都拥有一个这样的虚函数表,这里注意类和对象的区别。虚函数表的内容为类成员函数地址,并不是类似jmp fun1这 阅读全文
posted @ 2012-09-03 15:43 c++ player 阅读(471) 评论(0) 推荐(0)
摘要:介绍通用Hook的一点思想:在系统内核级中,MS的很多信息都没公开,包括函数的参数数目,每个参数的类型等。在系统内核中,访问了大量的寄存器,而很多寄存器的值,是上层调用者提供的。如果值改变系统就会变得不稳定。很可能出现不可想象的后果。另外有时候对需要Hook的函数的参数不了解,所以不能随便就去改变它的堆栈,如果不小心也有可能导致蓝屏。所以Hook的最佳原则是在自己的Hook函数中呼叫原函数的时候,所有的寄存器值,堆栈里面的值和Hook前的信息一样。这样就能保证在原函数中不会出错。一般我们自己的Hook的函数都是写在C文件里面的。例如Hook的目标函数KiReadyThread。那么一般就自己实 阅读全文
posted @ 2012-08-27 16:49 c++ player 阅读(477) 评论(0) 推荐(0)
摘要:WM_COPYDATA和鼠标钩子的简单例子作者:enoloo这个小程序创建了一个全局鼠标钩子,获取目标窗口的一些属性,然后通过WM_COPYDATA将结果传递给主程序。程序效果和部分代码如下:===========================================================/**文件名:mouse_hook.h*使用:钩子dll和程序共同使用*用途:申明钩子类,消息结构*/class AFX_EXT_CLASS Cmousehook:public CObject //AFX_EXT_CLASS输出类{public:Cmousehook();~Cmouseho 阅读全文
posted @ 2012-08-27 16:47 c++ player 阅读(513) 评论(0) 推荐(0)
摘要:Win32全局钩子在VC5中的实现 Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子的种类很多,每种钩子可以截获并处理相应的消息,如键盘钩子可以截获键盘消息,外壳钩子可以截取、启动和关闭应用程序的消息等。本文在VC5编程环境下实现了一个简单的鼠标钩子程序,并对Win32全局钩子的运行机制、Win32 DLL的特点、VC5环境下的MFC DLL以及共享数据等相关知识进行了简单的阐述。 一.Win32全局钩子的运行机制 钩... 阅读全文
posted @ 2012-08-27 16:46 c++ player 阅读(297) 评论(0) 推荐(0)
摘要:一、引言钩子的本质是一段用以处理系统消息的程序,通过系统调用,把它挂入系统。钩子的种类很多,每种钩子可以截获并处理相应的消息,每当特定的消息发出,在到达目的窗口之前,钩子程序先行截获该消息、得到对此消息的控制权。此时钩子函数可以对截获的消息进行加工处理,甚至可以强制结束消息的传递。这有点类似与MFC中的PreTranslateMessage函数,所不同的是该函数只能用于拦截本进程中的消息,而对系统消息则无能为力。二、Win32系统钩子的实现每种类型的钩子均由系统来维护一个钩子链,最近安装的钩子位于链的开始,拥有最高的优先级,而最先安装的钩子则处在链的末尾。要实现Win32的系统钩子,首先要调用 阅读全文
posted @ 2012-08-27 16:41 c++ player 阅读(624) 评论(0) 推荐(0)
摘要:我们知道,Windows系统是建立在消息传递机制基础上的,几乎所有的程序活动都由消息来驱动。Windows的钩子机制可以看作是一个消息中转站,控制系统发出消息的处理和传递,利用钩子,我们可以截获系统发给应用程序的消息,经过处理后决定是否将消息再发给下一个应用程序。利用钩子的这一特性,我们可以创建一个监控程序,用来收集和控制系统发出的消息。 ■编制Windows钩子程序 ■编制Windows钩子程序 ■编制Windows钩子程序 ■编制Windows钩子程序 编制Windows的钩子程序,需要用到几个SDK中的API函数。下面列出这几个函数的原型及说明:HHOOK SetWindowsHookE 阅读全文
posted @ 2012-08-27 16:25 c++ player 阅读(341) 评论(0) 推荐(0)
摘要:一、基本概念: 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。 钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。二、运行机制:1、钩子链表和钩子子程: 每一个Hook都有一个与之相关联的指针 阅读全文
posted @ 2012-08-27 16:23 c++ player 阅读(242) 评论(0) 推荐(0)