[发明专利]内核模块编译方法、装置、计算机设备和存储介质在审
申请号: | 202111283120.3 | 申请日: | 2021-11-01 |
公开(公告)号: | CN114003235A | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 邱旭;杜青松;姚宏亮;张耀斌;鄢来标 | 申请(专利权)人: | 北京技德系统技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/71 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 北京市通州区国家网*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内核 模块 编译 方法 装置 计算机 设备 存储 介质 | ||
1.一种内核模块编译方法,其特征在于,所述方法为:
根据不同版本的内核对待编译加载的内核模块源码进行适配;
判断在指定路径上是否存在已编译的内核模块;若存在,则比对已编译的内核模块与内核是否匹配:如果匹配则加载已编译的内核模块,如果不匹配则将加密的内核模块源码解密并复制到指定的隐藏目录下;若不存在,则将加密的内核模块源码解密并复制到指定的隐藏目录下;在内核上编译解密后的内核模块源码;加载编译后的内核模块。
2.如权利要求1所述的内核模块编译方法,其特征在于,所述方法中根据不同版本的内核对待编译加载的内核模块源码进行适配,包括:
根据Linux内核版本号对待引用的内核头文件进行适配;
根据Linux内核版本号对待调用的内核API进行适配;
根据Linux内核版本号对内核符号表进行适配。
3.如权利要求1所述的内核模块编译方法,其特征在于,所述方法还包括:
在内核上编译解密后的内核模块源码之后,
将编译后的内核模块复制到指定路径下,并删除解密后的内核模块源码。
4.如权利要求2所述的内核模块编译方法,其特征在于,所述方法中根据Linux内核版本号对待引用的内核头文件进行适配,具体为:
在待编译加载的内核模块源码中,通过判断LINUX_VERSION_CODE的宏定义来适配不同版本的linux内核,根据linux内核版本号引用不同路径的内核头文件。
5.如权利要求2所述的内核模块编译方法,其特征在于,所述方法中根据Linux内核版本号对待调用的内核API进行适配,具体为:
在待编译加载的内核模块源码中,根据Linux内核版本号对传递到API的函数参数进行设置:对函数参数的类型、个数进行设置。
6.如权利要求2所述的内核模块编译方法,其特征在于,所述方法中根据Linux内核版本号对内核符号表进行适配,具体为:
对拟使用的内核API进行导出,获取拟使用的内核API的地址,以便待编译加载的内核模块源码调用。
7.如权利要求1所述的内核模块编译方法,其特征在于,所述方法中比对已编译的内核模块与内核是否匹配,具体为:
通过modinfo mymodule.ko指令获取内核模块的vermagic信息,再通过uname–a指令获取内核的版本号,比较内核的版本信息与内核模块中的vermagic信息,确认已编译的内核模块与内核是否匹配。
8.一种内核模块编译装置,其特征在于,所述装置包括:
存储器,用于存储程序;
处理器,用于执行所述存储器中存储的程序,当所述存储器中存储的程序被执行时,所述处理器用于执行如权利要求1至7中任一项所述方法的步骤。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项所述方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京技德系统技术有限公司,未经北京技德系统技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111283120.3/1.html,转载请声明来源钻瓜专利网。