一种生成应用安装包、执行应用的方法及装置的制造方法

文档序号:8259287阅读:220来源:国知局
一种生成应用安装包、执行应用的方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别涉及一种生成应用安装包、执行应用的方法及
>J-U ρ?α装直。
【背景技术】
[0002]随着Android操作系统以及应用技术的发展,在Android操作系统中出现了各类应用以满足用户的各种需求。在开发应用的过程中,为了防止应用安装包中的文件被修改,并重新打包发布的恶意行为,需要提供一种对应用的安装包中文件的代码进行保护的方法。
[0003]现有技术中,提供了一种代码混淆的方式来保护应用的安装包中文件的代码,其原理是将代码中类信息名称、函数名称、变量名称修改为不易看懂的与原名称不相同的代号,以增加其他开发人员理解该应用的代码的难度,以达到保护应用的安装文件的代码的效果。例如将某函数名为display O,将安装文件的代码中所有该函数名修改为D O,此时其他开发人员无法通过该函数名确定该函数的具体意义。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]通过代码混淆的方式,仅是增加了识别代码的难度,无法保护该应用的安装包中文件的代码的逻辑和数据,因此应用安装包中的文件还会有被修改的可能。

【发明内容】

[0006]为了解决现有技术的问题,本发明实施例提供了一种生成应用安装包、执行应用的方法及装置。所述技术方案如下:
[0007]—方面,提供了一种生成应用安装包的方法,所述方法包括:
[0008]通过对应用安装包解压缩处理,获取所述应用安装包中包含有所述应用的逻辑的可执行文件以及除所述可执行文件以外的第一文件;
[0009]在所述可执行文件的代码中,修改实现所述应用逻辑的函数的声明类型,并将实现所述应用逻辑的函数对应的代码进行加密;
[0010]将所述第一文件,修改后的所述可执行文件以及预设的动态链接库,重新打包生成所述应用对应的应用安装包,其中所述动态链接库用于还原实现所述应用逻辑的函数对应的声明类型,并对实现所述应用逻辑的函数对应的代码进行解密。
[0011]另一方面,提供了一种执行应用的方法,所述方法包括:
[0012]在系统运行应用安装包时,获取所述应用安装包中的包含有所述应用的逻辑的可执行文件,除所述可执行文件以外的第一文件以及预设的动态链接库;
[0013]调用所述动态链接库,在所述可执行文件的代码中还原实现所述应用逻辑的函数的声明类型,并将实现所述应用逻辑的函数对应的代码进行解密;
[0014]根据所述第一文件,修改后的所述可执行文件执行所述应用。
[0015]另一方面,提供了一种生成应用安装包的装置,所述装置包括:
[0016]第一获取模块,用于通过对应用安装包解压缩处理,获取所述应用安装包中包含有所述应用的逻辑的可执行文件以及除所述可执行文件以外的第一文件;
[0017]第一修改模块,用于在所述可执行文件的代码中,修改实现所述应用逻辑的函数的声明类型,并将实现所述应用逻辑的函数对应的代码进行加密;
[0018]打包模块,用于将所述第一文件,修改后的所述可执行文件以及预设的动态链接库,重新打包生成所述应用对应的应用安装包,其中所述动态链接库用于还原实现所述应用逻辑的函数对应的声明类型,并对实现所述应用逻辑的函数对应的代码进行解密。
[0019]另一方面,提供了一种执行应用的装置,所述装置包括:
[0020]第三获取模块,用于在系统运行应用安装包时,获取所述应用安装包中的包含有所述应用的逻辑的可执行文件,除所述可执行文件以外的第一文件以及预设的动态链接库;
[0021]第二修改模块,用于调用所述动态链接库,在所述可执行文件的代码中还原实现所述应用逻辑的函数的声明类型,并将实现所述应用逻辑的函数对应的代码进行解密;
[0022]执行模块,用于根据所述第一文件,修改后的所述可执行文件执行所述应用。
[0023]本发明实施例提供的技术方案带来的有益效果是:
[0024]通过修改应用安装包中包含有应用的逻辑的可执行文件实现应用逻辑的函数的声明类型并加密该函数对应的代码,以重新生成该应用安装包。可以隐藏应用安装包中的实现该应用的逻辑,无法被其他人员修改,提高了应用的安全性。
【附图说明】
[0025]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026]图1是本发明实施例一提供的生成应用安装包的方法流程图;
[0027]图2是本发明实施例二提供的生成应用安装包的方法流程图;
[0028]图3是本发明实施例三提供的执行应用的方法流程图;
[0029]图4是本发明实施例四提供的执行应用的方法流程图;
[0030]图5是本发明实施例五提供的生成应用安装包的装置结构示意图;
[0031]图6是本发明实施例六提供的执行应用的装置结构示意图。
【具体实施方式】
[0032]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0033]实施例一
[0034]本发明实施例提供了一种生成应用安装包的方法,参见图1,方法流程包括:
[0035]101:通过对应用安装包解压缩处理,获取应用安装包中包含有应用的逻辑的可执行文件以及除可执行文件以外的第一文件;
[0036]102:在可执行文件的代码中,修改实现应用逻辑的函数的声明类型,并将实现应用逻辑的函数对应的代码进行加密;
[0037]103:将第一文件,修改后的可执行文件以及预设的动态链接库,重新打包生成应用对应的应用安装包,其中动态链接库用于还原实现应用逻辑的函数对应的声明类型,并对实现应用逻辑的函数对应的代码进行解密。
[0038]本发明实施例通过修改应用安装包中包含有应用的逻辑的可执行文件实现应用逻辑的函数的声明类型并加密该函数对应的代码,以重新生成该应用安装包。可以隐藏应用安装包中的实现该应用的逻辑,无法被其他人员修改,提高了应用的安全性。
[0039]实施例二
[0040]本发明实施例提供了一种生成应用安装包的方法,参见图2,方法流程包括:
[0041]201:通过对应用安装包解压缩处理,获取应用安装包中包含有应用的逻辑的可执行文件以及除可执行文件以外的第一文件。
[0042]其中,Android应用的安装包通常是使用ZIP压缩文件格式,因此可以按照正常ZIP解压缩处理方式对该应用的安装包进行解压缩,得到应用安装包中的各种文件。
[0043]其中,应用安装包中的文件中必须要包含符合Android规定的必要文件,还可以包含通过其他语言(例如:C++语言)编写的动态链接库文件。Android应用主要由JAVA语言来进行编写,但是由于JAVA语言不能够完成一些与系统结合的功能,因此提供了通过其他语言来实现的方案,并通过Native方法进行声明,用以声明该方法不是JAVA语言实现,并需要调用动态链接库文件来调用加载动态链接库对应的方法。
[0044]202:在可执行文件的代码中,修改实现应用逻辑的函数的声明类型,并将实现应用
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1