[发明专利]实现软件安装包功能修改的方法及终端在审
申请号: | 201610243033.8 | 申请日: | 2016-04-19 |
公开(公告)号: | CN107305495A | 公开(公告)日: | 2017-10-31 |
发明(设计)人: | 檀景辉 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京弘权知识产权代理事务所(普通合伙)11363 | 代理人: | 逯长明,许伟群 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 软件 安装 功能 修改 方法 终端 | ||
技术领域
本发明涉及应用软件处理技术领域,特别涉及一种实现软件安装包功能修改的方法及终端。
背景技术
随着技术的发展,适用于各类终端及操作系统的应用软件的种类和数量不断增加。例如,由美国苹果公司开发的操作系统iOS(英文:iPhone Operating System)广泛支持各类应用软件的运行,其中,可以将能够运行于iOS上的应用软件的安装包称为iOS软件安装包,以下将以iOS软件安装包为例对各类应用软件安装包的构建过程进行说明。
具体的,构建iOS软件安装包的方法一般为:根据要实现的应用功能编写程序代码,对编写的程序代码进行编译,编译成功,得到能够实现相应应用功能的iOS软件安装包。
如果需要对iOS软件安装包所实现的功能进行修改,如需要在现有功能的基础上增加一些功能,或者需要对现有功能中的部分独立功能进行删除,通常是对iOS应用软件的源代码进行修改并对修改后的源代码重新编译进而得到修改后的IOS软件安装包,实现过程相对比较繁琐。
发明内容
本发明的发明目的在于提供一种无需对软件安装包的源代码进行修改及重新编译即可对软件安装包的功能进行修改的实现软件安装包功能修改的方法及终端。
本发明实施例公开了如下技术方案:
第一方面,本发明实施例提供了一种实现软件安装包功能修改的方法,包括:
在目标软件安装包的解压文件中添加用于实现预设功能的动态库;
修改所述解压文件中的可执行文件,以使所述可执行文件运行时从所述动态库中调用实现所述预设功能的方法类;
对所述解压文件重新签名并压缩得到修改后的软件安装包。
本实现方式通过在目标软件安装包的解压文件中引入可以实现预设功能的动态库,并通过对目标软件安装包的解压文件中的可执行文件进行修改,使得可执行文件运行时从动态库中调用方法类,进而使目标软件安装包能够实现动态库中添加的相关应用功能,达到在不修改应用软件源程序代码及不对源程序代码重新编译的前提下,实现对目标软件安装包功能修改的效果。
结合第一方面,在第一方面的第一种可能的实现方式中,所述可执行文件中包含多个高级精简指令集设备ARM结构运行片段,其中所述多个ARM结构运行片段分别适用于不同系列的ARM处理器。结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述修改所述解压文件中的可执行文件,包括:
修改所述可执行文件中的所有所述ARM结构运行片段;
或者,
修改所述多个ARM结构运行片段中的适用于最低版本系列的ARM处理器的ARM结构运行片段。
采用本实现方式,当可执行文件中包括多个ARM结构运行片段时,可以分别对各个ARM结构运行片段进行修改,从而可以得到分别针对不同系列ARM处理器的应用程序运行片段,其中分别针对不同系列ARM处理器的应用程序运行片段均可以独立实现目标应用软件的应用功能。
另外,当可执行文件中包括多个ARM结构运行片段时,可以仅对适用于最低版本系列ARM处理器的ARM结构运行片段进行修改。由于iOS终端使用的ARM CPU都是向下兼容的,因此,仅对适用于最低版本系列ARM处理器的ARM结构运行片段进行修改,得到的ARM结构运行片段也是可以正常运行在其它较高版本系列的ARM CPU上,由此可以在修改内容较少的前提下得到能够适用于各类版本系列的ARM CPU上的IOS软件安装包。结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,若修改的为所述多个ARM结构运行片段中的适用于最低版本系列的ARM处理器的ARM结构运行片段,则所述方法还包括删除所述多个ARM结构运行片段中的未被修改的ARM结构运行片段。
采用本实现方式,当仅对多个ARM结构运行片段中的适用于最低版本系列的ARM处理器的ARM结构运行片段进行修改时,可以将其它不用修改的ARM结构运行片段删除,可以减小目标软件安装包的大小,另外可以保证目标软件运行在版本的ARM CPU上时,均能运行修改后的ARM结构运行片段。
结合第一方面的第一种、第二种或者第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述修改所述解压文件中的可执行文件,以使所述可执行文件运行时从所述动态库中调用实现所述预设功能的方法类,包括:
在待修改的ARM结构运行片段的加载命令子片段中设置所述动态库的描述序列,其中,所述描述序列包括所述动态库的基本信息命令及所述动态库的搜索路径命令;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610243033.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种企业级系统研发框架
- 下一篇:应用程序APP下载方法及无线网络设备