[发明专利]程序漏洞修复方法、装置及计算机可读存储介质在审
申请号: | 202010195033.1 | 申请日: | 2020-03-18 |
公开(公告)号: | CN111324491A | 公开(公告)日: | 2020-06-23 |
发明(设计)人: | 黎明德 | 申请(专利权)人: | 深圳TCL数字技术有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 518054 广东省深圳市前海深港合作区前湾一路鲤鱼门街一号前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 漏洞 修复 方法 装置 计算机 可读 存储 介质 | ||
本发明公开了一种程序漏洞修复方法,该程序漏洞修复方法包括:获取应用程序中应用函数的函数标识信息及补丁列表信息;检测所述补丁列表信息中是否存储有所述函数标识信息;若所述补丁列表信息中存储有所述函数标识信息,则根据所述函数标识信息和所述补丁列表信息对所述应用函数执行对应的修复操作。本发明还公开了一种程序漏洞修复装置和一种计算机可读存储介质。本发明能够实现减小补丁修复文件内存大小的功能,实现不通过整体替换的方法修复中间件程序漏洞的功能,实现通过动态加载修复中间件程序漏洞的功能。
技术领域
本发明涉及计算机技术领域,尤其涉及程序漏洞修复方法、装置及计算机可读存储介质。
背景技术
目前,应用程序漏洞的修复方法都是直接替换应用程序,需要对整个应用程序都进行修改,并全部升级;这种修复方式需要在应用程序修复完成后重新启动才能生效。当需要修复应用程序的缺陷或者为应用程序增加功能,要中断应用程序和操作系统的运行,影响应用程序的正常运行,升级包占用的内存较大,升级包占用较多的网络资源。
发明内容
本发明的主要目的在于提出一种程序漏洞修复方法、装置及计算机可读存储介质,旨在实现不通过整体替换的方法修复应用程序漏洞。
为实现上述目的,本发明提供一种程序漏洞修复方法,所述程序漏洞修复方法包括如下步骤:
获取应用程序中应用函数的函数标识信息及补丁列表信息;
检测所述补丁列表信息中是否存储有所述函数标识信息;
若所述补丁列表信息中存储有所述函数标识信息,则根据所述函数标识信息和所述补丁列表信息对所述应用函数执行对应的修复操作。
可选地,当所述应用函数的函数类型为Java函数类型时,所述根据所述函数标识信息和所述补丁列表信息对所述应用函数执行对应的修复操作的步骤,包括:
将所述补丁列表信息中的所述函数标识信息确定为修复标识信息;
将与所述修复标识信息对应的应用函数确定为修复函数;
根据所述补丁列表信息获取与所述修复标识信息对应的补丁函数;
将所述应用程序中的所述修复函数替换为所述补丁函数。
可选地,当所述应用函数的函数类型为native函数类型时,所述根据所述函数标识信息和所述补丁列表信息对所述应用函数执行对应的修复操作的步骤,还包括:
将所述补丁列表信息中的所述函数标识信息确定为修复标识信息;
将与所述修复标识信息对应的应用函数确定为修复函数;
根据所述补丁列表信息获取与所述修复标识信息对应的补丁地址信息;
当所述修复函数运行时,基于所述补丁地址信息运行所述修复函数。
可选地,所述将与所述修复标识信息对应的应用函数确定为修复函数的步骤之后,包括:
根据所述补丁列表信息获取与所述修复标识信息对应的补丁偏移地址;
根据所述修复标识信息和所述补丁偏移地址,得到函数内存地址;
将所述函数内存地址替换为所述补丁地址信息。
可选地,所述根据修复标识信息和补丁偏移地址,得到函数内存地址的步骤,包括:
根据所述修复标识信息获取与所述修复标识信息对应的函数进程编号;
根据所述函数进程编号获取对应的内存运行地址;
基于所述内存运行地址和所述补丁偏移地址进行计算,得到函数内存地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳TCL数字技术有限公司,未经深圳TCL数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010195033.1/2.html,转载请声明来源钻瓜专利网。