防篡改APK的生成方法和装置、安装及运行方法和装置制造方法及图纸

技术编号:15501176 阅读:143 留言:0更新日期:2017-06-03 22:40
本发明专利技术实施例中公开了一种防篡改APK的生成方法和装置、安装及运行方法和装置,属于移动终端移动终端应用安全技术领域。所述防篡改APK的生成方法包括:解压原始APK,获取解压后的指定APK文件的循环冗余校验码CRC;将所述循环冗余校验码CRC按照设定方式进行处理,得到校验值,将校验值写入校验文件,并确定校验文件的保存路径;将所述原始APK和校验文件整合,生成目标APK。本发明专利技术实施例中所提供的方案,依据原始APK中的指定APK文件的循环冗余校验码CRC实现了对APK的防篡改,为APK的防篡改防护提供了一种全新的方式,且该方案实施简单、快捷,提高了终端用户APK安装应用的安全性,更好的保障了用户的利益。

Method and device for generating tamper proof APK, installation and operation method and device

The embodiment of the invention discloses a method and a device for generating tamper proof APK, an installation and operation method and a device, belonging to the technical field of mobile terminal mobile terminal application safety. The method includes generating the tamper APK: extracting the original APK, access to the specified APK file after decompression of the cyclic redundancy check code CRC; the CRC cyclic redundancy check code according to a set of calibration values, and will write checksum checksum files, and to determine the path to save the file check; the original APK file and check integration, generate APK. In the embodiment of the invention provide solutions, on the basis of the original APK specified in the APK file of the CRC cyclic redundancy check code to achieve the tamper resistant of APK, provides a new way for the anti tamper protection of APK, and the implementation of the scheme is simple and fast, to improve the security of the terminal user installed applications APK, better protect the interests of users.

【技术实现步骤摘要】
防篡改APK的生成方法和装置、安装及运行方法和装置
本专利技术涉及移动终端应用安全
,具体涉及一种防篡改APK的生成方法和装置、安装及运行方法和装置。
技术介绍
随着互联网通信技术的快速发展,各种移动终端设备已经成为人们生活必不可少的工具,具有各种各样功能的终端应用程序APP也层出不穷,为用户带来了更加便捷的体验。APK(AndroidPackage)即安卓Android安装包,是Android操作系统上的应用程序安装文件格式。由于Android平台采用Java语言开发,导致APK中的代码易于被反编译,通过反编译APK文件,进行代码的分析、修改或者插入,再重新签名打包为新的APK文件,以达到改变程序原有行为的目的,容易实现对APK的篡改。APK的篡改行为严重损害了应用程序开发商的利益和积极性,而利用APK篡改技术,通过加入恶意代码使得Android用户面临隐私泄露和财产损失的危险,严重影响了用户的应用安全。因此,APK的防篡改就变得尤为重要。目前,对于APK的防篡改防护,多是采用对dex文件进行修改来增加攻击的难度,如对部分或整个dex文件进行加密,或者对dex文件做字节码变形,实现对APK的加固,但是这些方式都需要对APK代码进行修改及再编译,增加了技术人员的工作量,且在APK文件运行在内存中时,仍存在从内存中dump到完整的dex文件的风险。
技术实现思路
针对现有技术中存在的缺陷,本专利技术实施例的目的在于提供一种能够克服上述问题或者至少能够部分地解决上述问题的一种防篡改APK的生成方法和装置、安装及运行方法和装置。为实现上述目的,在本专利技术的一个实施例中提供了:一种防篡改APK的生成方法,所述生成方法包括:解压原始APK,获取解压后的指定APK文件的循环冗余校验码CRC;将所述循环冗余校验码CRC按照设定方式进行处理,得到校验值,将校验值写入校验文件,并确定校验文件的保存路径;将所述原始APK和校验文件整合,生成目标APK。优选的,如上所述的生成方法,所述将校验值写入校验文件包括:将所述校验值按照设定加密算法进行加密,得到校验值密文,将校验值密文写入校验文件。在本专利技术的一个实施例中提供了:一种防篡改APK的生成装置,所述生成装置包括:第一校验码获取模块,用于解压原始APK,获取解压后的指定APK文件的循环冗余校验码CRC;校验文件生成模块,用于将所述循环冗余校验码CRC按照设定方式进行处理,得到校验值,将校验值写入校验文件;校验文件路径确定单元,用于确定所述校验文件的保存路经;防篡改APK生成模块,用于将所述原始APK文件和校验文件整合,生成目标APK。优选的,如上所述的生成装置,所述校验文件生成模块包括:校验值加密单元,用于将所述校验值按照设定加密算法进行加密,得到校验值密文,将校验值密文写入校验文件。在本专利技术的一个实施例中提供了:一种应用程序的安装方法,所述应用程序的APK为所述任一防篡改APK的生成方法生成的目标APK,所述安装方法包括:获取目标APK;解析目标APK,得到其原始APK和校验文件;安装所述原始APK,并根据所述校验文件的保存路径保存校验文件。在本专利技术的一个实施例中提供了:一种应用程序的安装装置,所述安装装置包括:目标APK获取模块,用于获取目标APK;目标APK解析模块,用于解析目标APK,得到其原始APK和校验文件;程序安装模块,用于安装所述第一原始APK,并根据所述校验文件的保存路径保存校验文件。在本专利技术的一个实施例中提供了:一种应用程序的运行方法,所述应用程序为如上所述安装方法安装的应用程序,所述运行方法包括:接收用户的应用程序运行指令;根据所述应用程序的安装路径,获取应用程序安装目录中的指定APK文件的循环冗余校验码CRC;将所述循环冗余校验码CRC按照设定方式进行处理,得到第一校验值;根据所述应用程序的校验文件的保存路经提取其校验文件中的第二校验值;判断所述第一校验值和第二校验值是否一致,若是,则正常运行应用程序,若否,则提示用户应用程序被篡改。优选的,如上所述的运行方法,若所述校验文件中保存的为将所述第二校验值按照设定加密算法进行加密后的第二校验值密文,还包括:根据与设定加密算法对应的解密算法解密第二校验值密文,得到第二校验值。优选的,如上所述的运行方法,若所述校验文件中保存的为将所述第二校验值按照设定加密算法进行加密后的第二校验值密文,还包括:将所述第一校验值按照设定加密算法进行加密处理,得到第一校验值密文,判断第一校验值密文和第二校验值密文是否一致,若是,则正常运行应用程序,若否,则提示用户应用程序被篡改。在本专利技术的一个实施例中提供了:一种应用程序的运行装置,所述运行装置包括:运行指令接收模块,用于接收用户的应用程序运行指令;第二校验码获取模块,用于根据所述应用程序的安装路径,获取应用程序安装目录中的指定APK文件的循环冗余校验码CRC;校验值生成模块,用于将所述循环冗余校验码CRC按照设定方式进行处理,得到第一校验值;校验值提取模块,用于根据所述应用程序的校验文件的保存路经提取其校验文件中的第二校验值;防篡改判断模块,用于判断所述第一校验值和第二校验值是否一致,若是,则正常运行应用程序,若否,则提示用户应用程序被篡改。优选的,如上所述的运行装置,若所述校验文件中保存的为将所述第二校验值按照设定加密算法进行加密后的第二校验值密文,所述校验值提取模块包括:校验值解密单元,用于根据与设定加密算法对应的解密算法解密所述第二校验值密文,得到第二校验值。优选的,如上所述的运行装置,若所述校验文件中保存的为将所述第二校验值按照设定加密算法进行加密后的第二校验值密文,所述校验值生成模块包括:校验值加密单元,用于将所述第一校验值按照设定加密算法进行加密处理,得到第一校验值密文;所述防篡改判断模块,用于判断第一校验值密文和第二校验值密文是否一致,若是,则正常运行应用程序,若否,则提示用户应用程序被篡改。本专利技术的有益效果在于:本专利技术实施例中所提供的防篡改APK的生成方法和装置、安装及运行方法和装置,利用APK文件中指定APK文件的循环冗余校验码CRC实现了对APK的防篡改,为APK的防篡改防护提供了一种全新的方式,且该方法很多好的利用循环冗余校验码的唯一性特点,实施简单、快捷,能够方便的实现对APK文件是否被篡改的判断。本专利技术实施例中提供的方案,能够在APK代码运行之前,首先对APK是否被篡改的判断,在APK被篡改时提醒终端用户,提高了应用程序安装运行的安全性,更好的保障了用户的利益。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,附图仅限于示出优选实施方式的目的,而并不认为是本专利技术的限制,且对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的一个实施例中提供的一种防篡改APK的生成方法的流程示意图;图2为本专利技术的一个实施例中的解压后的APK的文件结构示意图;图3为本专利技术的一个实施例中提供的一种防篡改APK的生成装置的结构示意图;图4为本专利技术的一个实施例中提供的一种防篡改APK的生成装置的结构示本文档来自技高网...
防篡改APK的生成方法和装置、安装及运行方法和装置

【技术保护点】
一种防篡改APK的生成方法,其特征在于,包括:解压原始APK,获取解压后的指定APK文件的循环冗余校验码CRC;将所述循环冗余校验码CRC按照设定方式进行处理,得到校验值,将校验值写入校验文件,并确定校验文件的保存路径;将所述原始APK和校验文件整合,生成目标APK。

【技术特征摘要】
1.一种防篡改APK的生成方法,其特征在于,包括:解压原始APK,获取解压后的指定APK文件的循环冗余校验码CRC;将所述循环冗余校验码CRC按照设定方式进行处理,得到校验值,将校验值写入校验文件,并确定校验文件的保存路径;将所述原始APK和校验文件整合,生成目标APK。2.根据权利要求1所述的生成方法,其特征在于,所述将校验值写入校验文件包括:将所述校验值按照设定加密算法进行加密,得到校验值密文,将校验值密文写入校验文件。3.根据权利要求1所述的生成方法,其特征在于,所述校验文件的保存路径为目标APK安装在的终端设备中的指定位置。4.根据权利要求1所述的生成方法,其特征在于,所述校验文件的保存路径为目标APK在终端设备安装后其原始APK的安装目录文件。5.根据权利要求1所述的生成方法,其特征在于,所述校验文件的保存路径为目标APK生成前其原始APK的第一目录文件。6.一种防篡改APK的生成装置,其特征在于,包括:第一校验码获取模块,用于解压原始APK,获取解压后的指定APK文件的循环冗余校验码CRC;校验文件生成模块,用于将所述循环冗余校验码CRC按照设定方式进行处理,得到校验值,将校验值写入校验文件;校验文件路径确定单元,用于确定所述校验文件的保存路经;防篡改APK生成模块,用于将所述原始APK文件和校验文件整合,生成目标APK。7.一种应用程序的安装方法,其特征在于,所述应用程序的APK为采用权利要求1至5中任意一种生成方法生成的目标APK,所述安装方法包括:获取目标APK;解...

【专利技术属性】
技术研发人员:刘敏
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1