[发明专利]用于修复应用的方法和装置有效
申请号: | 201611047097.7 | 申请日: | 2016-11-21 |
公开(公告)号: | CN108089870B | 公开(公告)日: | 2022-01-21 |
发明(设计)人: | 张鸿洋;牛禹;党海涛;杜杰;曹昕 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 修复 应用 方法 装置 | ||
本申请公开了用于修复应用的方法和装置。该方法的一具体实施方式包括:接收目标应用的执行指令;执行目标应用的目标字节码,其中,目标应用的目标字节码是从所连接的第一服务器预先接收的,并且目标应用的目标字节码是第一服务器通过在对目标应用的代码编译所获取的字节码中的至少一个函数中添加条件分支语句所生成的;对于至少一个函数中的每一个函数,确定该函数中的条件分支语句中的条件是否成立,并且响应于确定该函数中的条件分支语句中的条件成立,执行预先生成的补丁中与该函数对应的已修复的函数;呈现目标应用的目标字节码的执行结果。该实施方式实现了对应用的快速修复。
技术领域
本申请涉及计算机技术领域,具体涉及漏洞修复技术领域,尤其涉及用于修复应用的方法和装置。
背景技术
通常应用发布后,在使用过程中,经常会被发现存在各种漏洞。由于漏洞的存在,不仅会严重影响用户的体验,还会给用户带来极大的安全隐患。
目前,当已发布的应用出现漏洞时,通常需要应用厂商发布对漏洞修复后的新版本。已安装应用的客户端通过将应用升级成新版本的应用来克服漏洞。
然而,应用厂商发布新版本一般具有周期性,导致不能及时地对应用进行修复。
发明内容
本申请的目的在于提出一种改进的用于修复应用的方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种用于修复应用的方法,该方法包括:接收目标应用的执行指令;执行目标应用的目标字节码,其中,目标应用的目标字节码是从所连接的第一服务器预先接收的,并且目标应用的目标字节码是第一服务器通过在对目标应用的代码编译所获取的字节码中的至少一个函数中添加条件分支语句所生成的;对于至少一个函数中的每一个函数,确定该函数中的条件分支语句中的条件是否成立,并且响应于确定该函数中的条件分支语句中的条件成立,执行预先生成的补丁中与该函数对应的已修复的函数;呈现目标应用的目标字节码的执行结果。
在一些实施例中,接收目标应用的执行指令之前,还包括:从所连接的第二服务器接收预先生成的补丁文件,其中,预先生成的补丁文件是第二服务器通过如下步骤生成的:对应用的代码中的待修复的类进行修复,以获取已修复的类;对已修复的类进行编译,以获取已修复的类的字节码;对已修复的类的字节码进行优化,以生成补丁;将应用的代码中的待修复的类中的函数的信息写入配置文件中;将补丁和配置文件打包成补丁文件。
在一些实施例中,从所连接的第二服务器接收预先生成的补丁文件之后,还包括:读取配置文件中的函数的信息,从补丁中获取与配置文件中的函数的信息对应的已修复的函数,并存储在预设存储路径下。
在一些实施例中,确定该函数中的条件分支语句中的条件是否成立,包括:将该函数的信息与配置文件中的函数的信息进行匹配,若匹配成功,确定该函数中的条件分支语句中的条件成立。
在一些实施例中,执行预先生成的补丁中与该函数对应的已修复的函数,包括:执行预设存储路径下与匹配成功的配置文件中的函数的信息对应的已修复的函数。
第二方面,本申请提供了一种用于修复应用的装置,该装置包括:指令接收单元,配置用于接收目标应用的执行指令;目标字节码执行单元,配置用于执行目标应用的目标字节码,其中,目标应用的目标字节码是从所连接的第一服务器预先接收的,并且目标应用的目标字节码是第一服务器通过在对目标应用的代码编译所获取的字节码中的至少一个函数中添加条件分支语句所生成的;函数执行单元,配置用于对于至少一个函数中的每一个函数,确定该函数中的条件分支语句中的条件是否成立,并且响应于确定该函数中的条件分支语句中的条件成立,执行预先生成的补丁中与该函数对应的已修复的函数;结果呈现单元,配置用于呈现目标应用的目标字节码的执行结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611047097.7/2.html,转载请声明来源钻瓜专利网。