Windows环境下一种可配置和集成的Hook系统及其方法技术方案

技术编号:17265578 阅读:22 留言:0更新日期:2018-02-14 13:08
本发明专利技术公开了Windows环境下一种可配置和集成的Hook系统及其方法,涉及DLL注入技术、Hook技术和进程间通信技术领域。本系统是:应用程序子系统包括注入器单元和钩子单元;注入器单元包括注入模块和通信模块;钩子单元包括内联钩子模块、导入地址表钩子模块和向量化异常处理钩子模块;注入模块、钩子单元、已注入的钩子单元和通信模块依次交互。本方法是:①创建命名管道;②选择目标进程;③选择注入的动态链接库;④选择注入方式;⑤反馈注入信息;⑥配置Hook参数;⑦向已注入的钩子单元传递Hook参数;⑧完成Hook功能流程;⑨反馈Hook信息。本发明专利技术具备可配置性,Hook的相关过程参数可以由用户调配;具有易操作的特性;可以帮助拦截获取到足够多的有用信息。

A configurable and integrated Hook system and its method in Windows environment

The invention discloses a configurable and integrated Hook system and its method under the Windows environment, which involves the field of DLL injection technology, Hook technology and inter process communication technology. This system is: the application subsystem includes an injector unit and a hook unit; an injector unit including injection module and communication module; the hook unit includes inline hook module, import address table vectored exception handling module and hook hook module; hook unit and communication module, the hook unit, has been injected into the sequence of interaction. The method is: create a named pipe; the target process; dynamic link library choose injection; choosing injection mode; the feedback information; the configuration parameters of Hook; the Hook parameter is passed to the hook unit has been injected; we accomplish Hook function to Hook information feedback process. The invention is configurable, and the related process parameters of Hook can be allocated by users. It has the characteristics of easy operation, and can help to intercept enough useful information.

【技术实现步骤摘要】
Windows环境下一种可配置和集成的Hook系统及其方法
本专利技术涉及DLL注入技术、Hook技术和进程间通信
,尤其涉及Windows环境下一种可配置和集成的Hook系统及其方法。
技术介绍
Hook技术作为一种底层、细致的安全技术,从安全防御角度来看,如今常见的安全卫士和电脑管家等应用产品,均在操作系统的内核底层挂钩了许多的内核钩子,监控许多内核函数的调用,与Hook技术的应用有着不可分割的关系。而从攻击的角度来看,Hook技术修改执行流,强制执行自定义函数过程的特点,被许多恶意软件(如木马,外挂等)所利用。但是Hook技术使用时需要多种其它技术作为支撑,比如DLL注入技术、进程间通信技术等,这些技术、流程非常繁琐,普通技术人员很难掌握。由此设计开发一款方便的、适合安全人员使用的Hook工具属技术首创且十分必要。
技术实现思路
本专利技术的目的在于屏蔽Hook技术使用时繁琐的细节,提供Windows环境下一种可配置和集成的Hook系统及其方法,使不熟悉Hook技术的人也能轻松使用Hook技术。本专利技术的目的是这样实现的:通过将DLL注入模块、Hook单元、通信模块集成,并将Hook参数设置成可配置化;同时,在设计实现时提供简单易操作的界面,进一步减少用户的操作难度;用户首先选择需要注入的目标进程,再选择注入的DLL,本系统集成了三种Hook方式,可以根据需要选择对应的Hook方式,而不需要用户自己开发,提高了效率。接着用户可以选择注入方式,本平台集成了三种DLL注入方式,同样可以根据用户需要进行选择;接着根据选择的注入方式配置Hook参数;通信模块会反馈注入的信息和Hook的信息。具体地说:一、Windows环境下一种可配置和集成的Hook系统(简称系统)本系统包括工作对象——目标进程子系统,目标进程子系统包括已注入的钩子单元;设置有应用程序子系统;应用程序子系统包括注入器单元和钩子单元;注入器单元包括注入模块和通信模块;钩子单元包括内联钩子模块、导入地址表钩子模块和向量化异常处理钩子模块;其交互关系是:注入模块、钩子单元、已注入的钩子单元和通信模块依次交互。二、Windows环境下一种可配置和集成的Hook方法(简称方法)本方法包括下列步骤:①创建命名管道;②选择目标进程;③选择注入的动态链接库;④选择注入方式;⑤反馈注入信息;⑥配置Hook参数;⑦向已注入的钩子单元传递Hook参数;⑧完成Hook功能流程;⑨反馈Hook信息。本专利技术具有下列优点和积极效果:①具有多种Hook方式,直接使用不需要开发;②具有多种DLL注入方式,不需要用户开发;③图形界面简易,直观地观察到Hook和DLL注入的反馈信息。④具备可配置性,Hook的相关过程参数可以由用户调配;⑤具有易操作的特性,用户不需要清楚Hook技术的内部细节即可进行操作;⑥可以使开发或维护人员监控获取到目标软件功能之外的许多信息,这些信息或可作为应用本身功能稳定输出,也可作为判断应用核心功能点是否遭遇攻击以及做出进一步的攻击阻断的依据;⑦面对一个无源码,封装完成且有调试保护的软件,可以帮助拦截获取到足够多的有用信息。附图说明图1是本系统的结构方框图;图2是注入模块111的结构方框图;图3是通信模块112的结构方框图;图4是本方法的工作流程图。图中:100—应用程序子系统110—注入器单元,111—注入模块,111A—选择目标进程,111B—选择注入的动态链接库,111C—选择注入方式,111D—配置钩子函数,112—通信模块,112A—命名管道通信,120—钩子单元,121—内联钩子模块,122—导入地址表钩子模块,123—向量化异常处理钩子模块;200—目标进程子系统,210—已注入的钩子单元。英译汉1、DLL:DynamicLinkLibrary或者Dynamic-linklibrary,动态链接库,是微软公司在微软视窗操作系统中实现共享函数库概念的一种实作方式;DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件;这些库函数的扩展名是DLL、OCX(包含ActiveX控制的库)或者DRV(旧式的系统驱动程序);函数的可执行代码位于一个DLL中,该DLL包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数;DLL还有助于共享数据和资源;多个应用程序可同时访问内存中单个DLL副本的内容;DLL是一个包含可由多个程序同时使用的代码和数据的库。2、Hook:钩子,是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的;当消息到达后,在目标窗口处理函数之前处理它;钩子机制允许应用程序截获处理window消息或特定事件;钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统;每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权;这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。具体实施方式下面结合附图和实施例详细说明:一、系统1、总体如图1,本系统包括工作对象——目标进程子系统200,目标进程子系统200包括已注入的钩子单元210;设置有应用程序子系统100;应用程序子系统100包括注入器单元110和钩子单元120;注入器单元110包括注入模块111和通信模块112;钩子单元120包括内联钩子模块121、导入地址表钩子模块122和向量化异常处理钩子模块123;其交互关系是:注入模块111、钩子单元120、已注入的钩子单元210和通信模块112依次交互。工作机理:用户首先在注入模块111中确定需要注入的目标进程子系统200,并选择钩子单元120中的某一模块;在注入模块111里选择了注入的方式后,注入模块111将进行注入操作,操作完成后被选择的钩子模块将成为已注入的钩子单元210;此时已注入的钩子单元210还不能正常运行,要用户在注入模块111配置了Hook参数后,由通信模块112向已注入的钩子单元210传递Hook参数,方可完成Hook功能;在注入操作和Hook功能完成后,已注入的钩子单元210会向通信模块112反馈信息,提示用户操作是否成功。2、功能单元及其模块1)注入器单元110注入器单元110包括注入模块111和通信模块112。(1)注入模块111注入模块111是指一段可以将动态链接库DLL注入到另一个进程的程序,其功能是将钩子单元110中的某一模块注入到目标进程子系统200里,并且还可以配置Hook参数。如图2,注入模块111包括选择目标进程111A、选择注入的动态链接库111B、选择注入方式111C和配置钩子函数111D;选择目标进程111A提供给用户选择的目标进程以进程标识PID+进程名显示,用户可自行选择;选择注入的动态链接库111B让用户指定待注入的DLL文件;选择注入方式111C提供了三种注入方式,分别是远程线程注入、异步过程调用注入、消息钩子注入;在用户选择了目标进程以及待注入DLL文件(文件完整路径)时,可利用该模块执行注入操作。配置钩子函数111D对内联钩子模块121的Hook地址,导入地址表钩子模块122的目标库,目标函本文档来自技高网...
Windows环境下一种可配置和集成的Hook系统及其方法

【技术保护点】
Windows环境下一种可配置和集成的Hook系统,其特征在于:包括目标进程子系统(200),目标进程子系统(200)包括已注入的钩子单元(210);设置有应用程序子系统(100);应用程序子系统(100)包括注入器单元(110)和钩子单元(120);注入器单元(110)包括注入模块(111)和通信模块(112);钩子单元(120)包括内联钩子模块(121)、导入地址表钩子模块(122)和向量化异常处理钩子模块(123);其交互关系是:注入模块(111)、钩子单元(120)、已注入的钩子单元(210)和通信模块(112)依次交互。

【技术特征摘要】
1.Windows环境下一种可配置和集成的Hook系统,其特征在于:包括目标进程子系统(200),目标进程子系统(200)包括已注入的钩子单元(210);设置有应用程序子系统(100);应用程序子系统(100)包括注入器单元(110)和钩子单元(120);注入器单元(110)包括注入模块(111)和通信模块(112);钩子单元(120)包括内联钩子模块(121)、导入地址表钩子模块(122)和向量化异常处理钩子模块(123);其交互关系是:注入模块(111)、钩子单元(120)、已注入的钩子单元(210)和通信模块(112)依次交互。2.按权利要求1所述的Hook系统,其特征在于:所述的注入模块(111)是指一段可以将动态链接库DLL注入到另一个进程的程序,包括选择目标进程(111A)、选择注入的动态链接库(111B)、选择注入方式(111C)和配置钩子函数(111D)。3.按权利要求1所述的Hook系统,其特征在于:所述的通信模块(112)是一段可以进行信息传递和接收的程序,包括命名管道通信(112A),命名管道通信(112A)包括依次进行交互的创建管道、等待连接和进行输入输出I/O操作。4.按权利要求1所述的Hook系统,其特征在于:所述的钩子单元(120)包括彼此独立的内联钩子模块(121)、导入地址表钩子模块(122)和向量化异常处理钩子模块(123);内联钩子模块(121)是指实现了内联钩子完整过程的DLL文件;导入地址表钩子模块(122)是指实现了导入地址表钩子完整过程的DLL...

【专利技术属性】
技术研发人员:张捷晟曾九天韩兰胜田钰杰付才余水肖雄火田昭
申请(专利权)人:武汉倚天剑科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1