[发明专利]Hook目标内核函数的方法及装置有效
申请号: | 201510991253.4 | 申请日: | 2015-12-25 |
公开(公告)号: | CN106919458B | 公开(公告)日: | 2020-09-01 |
发明(设计)人: | 李伟;韩景维 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 刘映东 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | hook 目标 内核 函数 方法 装置 | ||
1.一种Hook目标内核函数的方法,其特征在于,所述方法包括:
根据目标内核函数对应的第一系统调用号调用框架文件时,跳转至第一指定函数,所述框架文件由所述第一指定函数、入口函数和第二指定函数封装得到,所述框架文件用于Hook所述目标内核函数,所述目标内核函数位于内核空间,所述第一指定函数和所述入口函数位于用户空间;
在所述第一指定函数的运行过程中,将系统调用表中第二系统调用号对应的地址修改为所述入口函数的地址,并根据所述第二系统调用号进行调用,跳转至所述入口函数,所述系统调用表位于所述内核空间,且所述系统调用表包括系统调用号、函数与函数地址之间的对应关系;
在所述入口函数的运行过程中,将所述系统调用表中所述第一系统调用号对应的地址修改为所述第二指定函数的起始地址,使得根据所述第一系统调用号进行调用时运行所述第二指定函数。
2.根据权利要求1所述的方法,其特征在于,所述入口函数的运行过程包括:
在所述内核空间中分配内存;
在分配的内存中存储所述第二指定函数;
将所述系统调用表中所述目标内核函数的地址修改为所述第二指定函数的起始地址,使得根据所述目标内核函数对应的第一系统调用号进行调用时运行所述第二指定函数。
3.根据权利要求2所述的方法,其特征在于,所述在分配的内存中存储所述第二指定函数,包括:
在分配的内存中,存储所述第二指定函数所需的参数、所述第二指定函数所需的内核函数地址以及所述第二指定函数。
4.根据权利要求2所述的方法,其特征在于,所述入口函数的运行过程还包括:
在将所述系统调用表中所述目标内核函数的地址修改为所述第二指定函数的起始地址之后,将所述系统调用表中所述第二系统调用号对应的地址还原为原始地址。
5.根据权利要求1所述的方法,其特征在于,所述在所述第一指定函数的运行过程中,将系统调用表中第二系统调用号对应的地址修改为入口函数的地址,包括:
在所述第一指定函数的运行过程中,获取所述系统调用表的地址,并利用所述内核空间的漏洞,根据所述系统调用表的地址,将所述系统调用表中所述第二系统调用号对应的地址修改为所述入口函数的地址。
6.根据权利要求1所述的方法,其特征在于,所述在所述入口函数的运行过程中,将所述系统调用表中目标内核函数的地址修改为第二指定函数的起始地址之后,所述方法还包括:
当任一函数根据所述第一系统调用号进行调用时,根据所述系统调用表中所述第一系统调用号对应的地址,运行所述第二指定函数。
7.一种Hook目标内核函数的装置,其特征在于,所述装置包括:
文件调用模块,用于根据目标内核函数对应的第一系统调用号调用框架文件时,跳转至第一指定函数,所述框架文件由所述第一指定函数、入口函数和第二指定函数封装得到,所述框架文件用于Hook所述目标内核函数,所述目标内核函数位于内核空间,所述第一指定函数和所述入口函数位于用户空间;
第一运行模块,用于在所述第一指定函数的运行过程中,将系统调用表中第二系统调用号对应的地址修改为所述入口函数的地址,并根据所述第二系统调用号进行调用,跳转至所述入口函数,所述系统调用表位于所述内核空间,且所述系统调用表包括系统调用号、函数与函数地址之间的对应关系;
第二运行模块,用于在所述入口函数的运行过程中,将所述系统调用表中所述第一系统调用号对应的地址修改为所述第二指定函数的起始地址,使得根据所述第一系统调用号进行调用时运行所述第二指定函数。
8.根据权利要求7所述的装置,其特征在于,所述第二运行模块还包括:
分配单元,用于在所述内核空间中分配内存;
存储单元,用于在分配的内存中存储所述第二指定函数;
修改地址单元,用于将所述系统调用表中所述目标内核函数的地址修改为所述第二指定函数的起始地址,使得根据所述目标内核函数对应的第一系统调用号进行调用时运行所述第二指定函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510991253.4/1.html,转载请声明来源钻瓜专利网。