[发明专利]一种安卓平台的可执行程序加密方法有效
申请号: | 201310004951.1 | 申请日: | 2013-01-07 |
公开(公告)号: | CN103914637B | 公开(公告)日: | 2017-06-09 |
发明(设计)人: | 陈彪;阚志刚;王卫民 | 申请(专利权)人: | 北京洋浦伟业科技发展有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 北京志霖恒远知识产权代理事务所(普通合伙)11435 | 代理人: | 郭栋梁 |
地址: | 100083 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 平台 可执行 程序 加密 方法 | ||
技术领域
本发明涉及软件处理技术,更具体地,涉及一种安卓平台的可执行程序加密方法。
背景技术
APK文件是Android安卓平台的应用程序包文件(application package file),是一种Android操作系统上的应用程序安装文件格式。一个Android应用程序的代码在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”文件。一个APK文件内包含被编译的代码文件(classes.dex文件)、文件资源(resources)、证书(certificates)和清单文件(manifest file:AndroidManifest.xml)。
由于Android平台采用Java语言开发,导致Apk中的代码易于反编译。在反编译的基础上,很容易实现Apk的篡改。APK篡改是指通过反编译APK文件,进行汇编级的代码分析、修改或插入代码,重新签名打包为新的APK文件,以达到改变程序原有行为的目的。
Apk篡改的主要流程包括:反编译;分析反编译后的代码;加入、修改或者删除代码;重新打包签名;发布篡改后的Apk。
目前,APK篡改在Android业界使用非常频繁,主要被应用于以下用途,包括:汉化,利用APK篡改技术,修改国外软件的资源文件达到汉化的目的;加入广告代码,利用APK篡改技术,加入广告代码;加入SP的扣费代码,利用APK篡改技术来加入SP的扣费代码;应用程序钓鱼,通过加入恶意的代码来窃取用户的隐私信息,从而达到应用程序钓鱼的目的;修改License代码,通过修改License代码以实现对软件的破解。可以看出,上述多个用途都严重损害了应用程序开发商的利益。
发明内容
为克服现有技术的上述缺陷,针对APK篡改这种情况,提出一种针对Android平台上可执行程序加密的方法,对APK中的dex文件进行加密,达到防止APK反编译的目的。
根据本发明的一个方面,提出了一种安卓操作系统的可执行程序加密方法,包括:
步骤1,通过打包工具将APK文件打包成加密的APK文件;
步骤2,通过拦截并且替换API的方式,进行运行时的加解密。
本发明通过提供一个APK可执行程序的加密方案,能够防止APK被反编译、被篡改和盗版,从而保护应用程序开发商的利益。
附图说明
图1为Java虚拟机执行流程;
图2 Dalvik VM执行APK的流程;
图3是根据本发明的可执行程序加密方法的流程图。
如图所示,为了能明确实现本发明的实施例的流程,在图中描述了特定的设备和运行顺序,但这仅为示意需要,并非意图将本发明限定在该特定设备、顺序、器件和环境中,根据具体需要,本领域的普通技术人员可以将这些器件和环境进行调整或者修改,所进行的调整或者修改仍然包括在后附的权利要求的范围中。
具体实施方式
下面结合附图和具体实施例对本发明提供的一种安卓平台的可执行程序加密方法进行详细描述。
以下的描述中,将描述本发明的多个不同的方面,然而,对于本领域内的普通技术人员而言,可以仅仅利用本发明的一些或者全部结构或者流程来实施本发明。为了解释的明确性而言,阐述了特定的数目、配置和顺序,但是很明显,在没有这些特定细节的情况下也可以实施本发明。在其他情况下,为了不混淆本发明,对于一些众所周知的特征将不再进行详细阐述。
Android平台使用Dalvik虚拟机来执行APK程序,但与通常的Java虚拟机执行Java程序时有一定的区别。Dalvik虚拟机(Dalvik Virtual Machine),是Google公司设计的用于Android平台的Java虚拟机,它可以支持已转换为dex(即Dalvik Executable)格式的Java应用程序的运行。
其中,dex格式是专为Dalvik虚拟机设计的一种压缩格式。Android平台自身提供了一个虚拟机(Dalvik),这种虚拟机执行的并非java字节码,而是dex格式的字节码,在Dalvik虚拟机中将java文件编译成Class类文件后,再次通过Android平台工具将此Class类文件转换成dex字节码。APK文件中的classes.dex就是dex格式的文件,是Dalvik虚拟机上运行的主要代码部分。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京洋浦伟业科技发展有限公司,未经北京洋浦伟业科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310004951.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:先导式控制阀组件
- 下一篇:单梁起重机智能手柄控制器的寿命测试仪