首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种应用层检测进程Hook的方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:中国人民解放军61660部队

摘要:本发明涉及一种应用层检测进程Hook的方法,属于网络安全领域。为解决在应用层既检测IATHOOK,又检测INLINEHOOK的问题,本发明获取待检测进程的本地源文件;在当前进程中拉伸待检测进程的源文件到内存中;根据待检测进程源文件的PE格式特征,获取导入表并解析表中内容,使用解析出的相对虚拟地址RVA获取所有模块及函数地址;根据PE格式读取待检测进程内存,获取导入表中的所有模块名、模块地址范围及模块所有函数的地址,同时对所有进程创建快照,通过系统函数获取待检测进程加载的所有模块名、模块基地址和大小,进而获取所有模块及函数地址;循环比较检测IATHOOK和INLINEHOOK。本发明运行在应用层,不仅对进程的Hook做到一个全面的检测,而且保证了系统的稳定性。

主权项:1.一种应用层检测进程Hook的方法,其特征在于,该方法包括如下步骤:步骤S1、获取待检测进程的本地源文件;步骤S2、在当前进程中拉伸待检测进程的源文件到内存中,模拟待检测进程在系统中的加载情况;步骤S3、根据待检测进程源文件的PE格式特征,获取导入表并解析表中内容,使用解析出的相对虚拟地址RVA获取所有模块及函数地址;步骤S4、根据PE格式读取待检测进程内存,获取导入表中的所有模块名、模块地址范围及模块所有函数的地址,同时对所有进程创建快照,通过系统函数获取待检测进程加载的所有模块名、模块基地址和大小,进而获取所有模块及函数地址;步骤S5、循环待检测进程内存中的所有函数,从源文件中找到相应的模块和函数地址,并比较,函数地址不同则为IATHOOK,函数地址相同的话比较5个字节数据,数据不同则为INLINEHOOK,并能找到HOOK的源文件;其中,所述步骤S4具体包括:步骤S41、获取待检测进程句柄,使用系统函数OpenProcess接收返回的待检测进程句柄;步骤S42、获取待检测进程的基址,使用系统函数EunmProcessModules获取第一个模块的地址,即为待检测进程的基址;步骤S43、获取待检测进程的PEDOS头,在当前进程中申请PEDOS头结构大小的第三虚拟内存用于存放PEDOS头,使用系统函数ReadProcessMemory读取待检测进程相应大小的内存数据,获取并存放PEDOS头结构;步骤S44、在当前进程中申请第四虚拟内存,根据步骤S43获取的PEDOS头中的e_lfanew字段读取待检测进程的中PENT头结构大小的数据,获取PENT头的基地址和大小并申请一块对应的第四虚拟内存,若申请失败则不固定基地址申请一块此大小的虚拟内存空间作为第四虚拟内存,记录此第四虚拟内存的基地址,最后从待检测进程中的基地址位置读取此大小的数据到申请到的第四虚拟内存中;步骤S45、从第四虚拟内存中获取待检测进程所有模块的基地址和大小,使用系统函数CreateToolhelp32Snapshot,并以常量TH32CS_SNAPALL作为第一个参数以创建所有进程快照,使用系统函数Module32First和Module32Next获取待检测进程中模块的名字、模块基地址和大小,进而获取所有模块的模块地址范围;步骤S46、获取待检测进程的导入表中的模块名和函数名,从第四虚拟内存中解析PE文件,直接解析PE文件的导入表中的OriginalFirstThunk.u1.Function字段即为函数地址,并读取该地址的前5个字节。

全文数据:

权利要求:

百度查询: 中国人民解放军61660部队 一种应用层检测进程Hook的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。