[发明专利]一种应用程序修复方法及装置在审
申请号: | 201910859381.1 | 申请日: | 2019-09-11 |
公开(公告)号: | CN110543323A | 公开(公告)日: | 2019-12-06 |
发明(设计)人: | 陈志强 | 申请(专利权)人: | 北京搜狐新动力信息技术有限公司 |
主分类号: | G06F8/656 | 分类号: | G06F8/656 |
代理公司: | 11227 北京集佳知识产权代理有限公司 | 代理人: | 薛娇<国际申请>=<国际公布>=<进入国 |
地址: | 100190 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序代码 新版本 函数指针 修复 应用程序 方法函数 服务器 应用程序修复 应用程序执行 程序修复 用户体验 热修复 跳转 下载 替换 指向 审核 检测 申请 | ||
1.一种应用程序修复方法,其特征在于,包括:
检测服务器上是否有新版本的应用程序代码文件;
如果所述服务器上有新版本的应用程序代码文件,则下载所述新版本的应用程序代码文件;
将所述新版本的应用程序代码文件的函数指针指向应用程序中待修复的方法的函数指针;
设置应用程序执行到所述待修复的方法的函数指针时,跳转到从所述新版本的应用程序代码文件的函数指针处开始执行。
2.根据权利要求1所述的方法,其特征在于,所述新版本的应用程序代码文件为新版本的JavaScript应用程序代码文件;
所述将所述新版本的应用程序代码文件的函数指针指向应用程序中待修复的方法的函数指针,包括:
将所述新版本的JavaScript应用程序代码文件转换成Objective-C语言代码文件;
设置所述Objective-C语言代码文件的函数指针指向应用程序中待修复的方法的函数指针。
3.根据权利要求2所述的方法,其特征在于,所述设置应用程序执行到所述待修复的方法的函数指针时,跳转到从所述新版本的应用程序代码文件的函数指针处开始执行,包括:
在运行到所述应用程序的Objective-C语言代码文件中的,待修复的方法的函数指针时,执行消息转发处理;其中,所述消息转发处理被设置为跳转到所述新版本的应用程序代码文件的函数指针处开始执行。
4.根据权利要求1至3中任一权利要求所述的方法,其特征在于,在下载所述新版本的应用程序代码文件后,所述方法还包括:
校验下载的所述新版本的应用程序代码文件是否合法,如果下载的所述新版本的应用程序代码文件合法,则将所述新版本的应用程序代码文件的函数指针指向应用程序中待修复的方法的函数指针。
5.根据权利要求4所述的方法,其特征在于,所述下载所述新版本的应用程序代码文件包括获取服务器下发的应用程序脚本文件和加密后的应用程序脚本文件的校验值;
所述校验下载的所述新版本的应用程序代码文件是否合法,包括:
计算接收到的应用程序脚本文件的校验值;
对所述加密后的应用程序脚本文件的校验值进行解码,得到所述服务器下发的应用程序脚本文件的校验值;
对比计算得到的应用程序脚本文件的校验值与所述服务器下发的应用程序脚本文件的校验值是否相同;
如果计算得到的应用程序脚本文件的校验值与所述服务器下发的应用程序脚本文件的校验值相同,则确定下载的所述新版本的应用程序代码文件合法。
6.一种应用程序修复装置,其特征在于,包括:
代码检测单元,用于检测服务器上是否有新版本的应用程序代码文件;
代码下载单元,用于当所述服务器上有新版本的应用程序代码文件时,下载所述新版本的应用程序代码文件;
第一设置单元,用于将所述新版本的应用程序代码文件的函数指针指向应用程序中待修复的方法的函数指针;
第二设置单元,用于设置应用程序执行到所述待修复的方法的函数指针时,跳转到从所述新版本的应用程序代码文件的函数指针处开始执行。
7.根据权利要求6所述的装置,其特征在于,所述新版本的应用程序代码文件为新版本的JavaScript应用程序代码文件;
所述第一设置单元,包括:
代码转换单元,用于将所述新版本的JavaScript应用程序代码文件转换成Objective-C语言代码文件;
指针设置单元,用于设置所述Objective-C语言代码文件的函数指针指向应用程序中待修复的方法的函数指针。
8.根据权利要求7所述的装置,其特征在于,所述第二设置单元设置应用程序执行到所述待修复的方法的函数指针时,跳转到从所述新版本的应用程序代码文件的函数指针处开始执行时,具体用于:
在运行到所述应用程序的Objective-C语言代码文件中的,待修复的方法的函数指针时,执行消息转发处理;其中,所述消息转发处理被设置为跳转到所述新版本的应用程序代码文件的函数指针处开始执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京搜狐新动力信息技术有限公司,未经北京搜狐新动力信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910859381.1/1.html,转载请声明来源钻瓜专利网。