[发明专利]进程间通信拦截方法及装置有效
申请号: | 201510623092.3 | 申请日: | 2015-09-25 |
公开(公告)号: | CN105205412B | 公开(公告)日: | 2018-09-11 |
发明(设计)人: | 杨华;孔令超;李尊杰 | 申请(专利权)人: | 北京北信源软件股份有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F9/445 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 李相雨 |
地址: | 100081 北京市海淀区中关村*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 进程 通信 拦截 方法 装置 | ||
1.一种进程间通信拦截方法,其特征在于,包括:
在启动应用程序对应的运行进程时,将进程间通信拦截模块注入所述运行进程内;
在所述进程间通信拦截模块被所述运行进程加载后,所述进程间通信拦截模块HOOK住操作系统中具有进程间通信功能的系统API;
在所述具有进程间通信功能的系统API被所述应用程序调用时,所述进程间通信拦截模块判断调用方是否为系统模块;
若调用方不是系统模块,则所述进程间通信拦截模块拦截被调用的具有进程间通信功能的系统API,并对所述被调用的具有进程间通信功能的系统API的调用参数进行重定向操作再继续执行,并将所述具有进程间通信功能的系统API中的窗口类名、标题、共享内存名称、管道名称和内核对象名称均增加前缀和后缀,使所述被调用的具有进程间通信功能的系统API无法与操作系统中已有进程通信。
2.根据权利要求1所述的方法,其特征在于,在所述进程间通信拦截模块判断调用方是否为系统模块之后,还包括:
若调用方是系统模块,则所述进程间通信拦截模块不拦截被调用的具有进程间通信功能的系统API。
3.根据权利要求1所述的方法,其特征在于,所述具有进程间通信功能的系统API,包括:
创建或查找窗口的系统API、创建或读取共享内存的系统API、创建或读取命名管道的系统API、以及创建或打开命名内核对象的系统API。
4.根据权利要求3所述的方法,其特征在于,所述内核对象包括:互斥体、事件和信号量。
5.一种进程间通信拦截装置,其特征在于,包括:
注入模块,用于在启动应用程序对应的运行进程时,将进程间通信拦截模块注入所述运行进程内;
挂钩模块,用于在所述进程间通信拦截模块被所述运行进程加载后,所述进程间通信拦截模块HOOK住操作系统中具有进程间通信功能的系统API;
判断模块,用于在所述具有进程间通信功能的系统API被所述应用程序调用时,所述进程间通信拦截模块判断调用方是否为系统模块;
拦截重定向模块,用于若调用方不是系统模块,则所述进程间通信拦截模块拦截被调用的具有进程间通信功能的系统API,并对所述被调用的具有进程间通信功能的系统API的调用参数进行重定向操作再继续执行,并将所述具有进程间通信功能的系统API中的窗口类名、标题、共享内存名称、管道名称和内核对象名称均增加前缀和后缀,使所述被调用的具有进程间通信功能的系统API无法与操作系统中已有进程通信。
6.根据权利要求5所述的装置,其特征在于,还包括:
不拦截模块,用于若调用方是系统模块,则所述进程间通信拦截模块不拦截被调用的具有进程间通信功能的系统API。
7.根据权利要求5所述的装置,其特征在于,所述具有进程间通信功能的系统API,包括:
创建或查找窗口的系统API、创建或读取共享内存的系统API、创建或读取命名管道的系统API、以及创建或打开命名内核对象的系统API。
8.根据权利要求7所述的装置,其特征在于,所述内核对象包括:互斥体、事件和信号量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北信源软件股份有限公司,未经北京北信源软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510623092.3/1.html,转载请声明来源钻瓜专利网。