[发明专利]防篡改APK的生成方法和装置、安装及运行方法和装置在审
申请号: | 201611069393.7 | 申请日: | 2016-11-29 |
公开(公告)号: | CN106778099A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 刘敏 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F21/56 |
代理公司: | 北京天悦专利代理事务所(普通合伙)11311 | 代理人: | 田明,张海秀 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 篡改 apk 生成 方法 装置 安装 运行 | ||
技术领域
本发明涉及移动终端应用安全技术领域,具体涉及一种防篡改APK的生成方法和装置、安装及运行方法和装置。
背景技术
随着互联网通信技术的快速发展,各种移动终端设备已经成为人们生活必不可少的工具,具有各种各样功能的终端应用程序APP也层出不穷,为用户带来了更加便捷的体验。
APK(Android Package)即安卓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按照设定方式进行处理,得到第一校验值;
根据所述应用程序的校验文件的保存路经提取其校验文件中的第二校验值;
判断所述第一校验值和第二校验值是否一致,若是,则正常运行应用程序,若否,则提示用户应用程序被篡改。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611069393.7/2.html,转载请声明来源钻瓜专利网。