[发明专利]补丁生成方法、装置、设备及存储介质有效
申请号: | 202011543282.1 | 申请日: | 2020-12-23 |
公开(公告)号: | CN112631640B | 公开(公告)日: | 2022-11-04 |
发明(设计)人: | 宋玉成 | 申请(专利权)人: | 苏州三六零智能安全科技有限公司 |
主分类号: | G06F8/656 | 分类号: | G06F8/656;G06F8/71;G06F8/53 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 薛福玲 |
地址: | 215000 江苏省苏州市苏州工业*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 补丁 生成 方法 装置 设备 存储 介质 | ||
本发明涉及计算机技术领域,公开了一种补丁生成方法、装置、设备及存储介质,该方法包括:获取待更新文件与更新文件,并获取所述待更新文件与所述更新文件的区别信息;根据所述区别信息获取目标程序包;对所述目标程序包进行反编译,并根据所述区别信息与反编译结果获取目标区别代码;对所述目标区别代码进行反射处理,以生成反射代码;根据预设补丁模板代码与所述反射代码生成补丁。本发明通过获取更新文件与待更新文件的区别信息,进而根据区别信息得到程序包进行反编译,以生成补丁。提升了热修复过程中补丁生成的效率,节省了补丁生成的时间。
技术领域
本发明涉及计算机技术领域,尤其涉及一种补丁生成方法、装置、设备及存储介质。
背景技术
目前,应用程序修复主要有迭代修复、热修复等方式,迭代修复是获取下一版本的安装包,并重新安装以修复当前版本的bug;而热修复是通过补丁更新,及时进行修复,热修复可以在系统正常运行的状态下,将补丁应用到处于生产状态(非开发状态)的系统。为提升热修复的效率,需要快速便捷的补丁生成方法。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种补丁生成方法、装置、设备及存储介质,旨在解决现有技术中补丁生成效率较低的技术问题。
为实现上述目的,本发明提供一种补丁生成方法,所述补丁生成方法包括以下步骤:
获取待更新文件与更新文件,并获取所述待更新文件与所述更新文件的区别信息;
根据所述区别信息获取目标程序包;
对所述目标程序包进行反编译,并根据所述区别信息与反编译结果获取目标区别代码;
对所述目标区别代码进行反射处理,以生成反射代码;
根据预设补丁模板代码与所述反射代码生成补丁。
可选地,所述获取待更新文件与更新文件,并获取所述待更新文件与所述更新文件的区别信息的步骤,具体包括:
获取待更新文件与更新文件,并通过语法解析工具对所述待更新文件与所述更新文件进行分析,以获取区别代码及所述区别代码对应的区别位置;
将所述区别代码及所述区别位置作为所述区别信息。
可选地,所述根据所述区别信息获取目标程序包的步骤,具体包括:
根据所述区别代码及所述区别位置确定对应的区别文件,并根据所述区别文件获取对应的目标程序包。
可选地,所述对所述目标程序包进行反编译,并根据所述区别信息与反编译结果获取目标区别代码的步骤,具体包括:
获取所述目标程序包的原代码集合,并对所述原代码集合进行反编译,以生成反编汇代码集合,将所述反编汇代码集合作为反编译结果;
根据所述区别信息对所述反编汇代码合集进行检索,以获取目标区别代码。
可选地,所述获取所述目标程序包的原代码集合,并对所述原代码集合进行反编译,以生成反编汇代码集合,将所述反编汇代码集合作为反编译结果的步骤,具体包括:
获取所述目标程序包的java代码集合,并将所述java代码集合反编译为smali代码集合,将所述smali代码集合作为反编译结果。
可选地,所述根据所述区别信息对所述反编汇代码合集进行检索,以获取目标区别代码的步骤,具体包括:
根据区别信息获取为java代码的区别代码及所述区别代码对应的区别位置,并通过所述区别代码及所述区别位置对所述smali代码集合进行检索,获取为smali代码的目标区别代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州三六零智能安全科技有限公司,未经苏州三六零智能安全科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011543282.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种空心泥壳成型机
- 下一篇:领域适应方法、装置、电子设备及存储介质