一种实现APK文件保护的方法及装置制造方法及图纸

技术编号:15747149 阅读:274 留言:0更新日期:2017-07-03 04:00
本发明专利技术公开了一种实现APK文件保护的方法及装置,其中,所述方法包括:当检测到针对APK文件的字节码文件的处理指令时,获取所述字节码文件;调用预设修改文件修改所述字节码文件的代码,根据修改后的代码生成对应的伪字节码文件。本发明专利技术通过生成伪字节码文件的方式,实现了有效阻止恶意程序对字节码文件的反汇编分析,提高APK文件的安全等级,保护开发者和使用者的利益。

Method and device for implementing APK file protection

The invention discloses a method and device for realizing APK file protection, wherein, the method comprises the following steps: when the detected processing instructions for the APK file byte code file when acquiring the byte code file; call preset to modify the file to modify the bytecode file code, according to the modified corresponding code generation the pseudo byte code file. By generating a pseudo byte code file, the invention realizes the disassembly analysis of the bytecode program effectively preventing the malicious program from improving the security level of the APK file, and protects the interests of the developer and the user.

【技术实现步骤摘要】
一种实现APK文件保护的方法及装置
本专利技术涉及互联网
,尤其涉及一种实现APK文件保护的方法及装置。
技术介绍
APK文件的字节码文件即classes.dex文件,是APK文件的java源码编译后生成的java字节码文件。字节码文件由文件头、索引区和数据区三大部分组成。如果能够对Dex文件进行逆向,即可还原出APK文件的源代码,若在源代码的基础上加入恶意代码,重新签名打包,即可生成携带恶意代码的APK文件。随着Android移动终端平台的日益发展,第三方应用程序大量涌现,对第三方应用的盗版和重打包现象日益严重。由于Android平台软件使用的编程语言是Java,而Java源代码编译后的二进制代码极易被反编译,导致其破解难度远小于其他使用编译性语言编写的程序。因此,需要提供一种能够避免通过Dex文件进行逆向而还原出APK文件的源代码的实现APK文件保护的方法。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的实现APK文件保护的方法及装置。本专利技术的一个方面,提供了一种实现APK文件保护的方法,包括:当检测到针对APK文件的字节码文件的处理指令时,获取所述字节码文件;调用预设修改文件修改所述字节码文件的代码,根据修改后的代码生成对应的伪字节码文件。可选的,所述调用预设修改文件修改所述字节码文件的代码,具体包括:调用预设修改文件修改所述字节码文件中的特征值的编码方式,所述特征值为所述字节码文件的核心代码。可选的,所述调用预设修改文件修改所述字节码文件的代码,具体包括:调用预设修改文件修改所述字节码文件中的特征值对应代码在所述字节码文件的代码中所处位置,所述特征值为所述字节码文件的核心代码。可选的,所述字节码文件包括数据段,所述数据段包括所述特征值;所述调用预设修改文件修改所述字节码文件中的特征值对应代码在所述字节码文件的代码中所处位置,具体包括:调用预设修改文件修改所述特征值的代码在所述数据段的代码中所处位置,以修改所述特征值对应代码在所述字节码文件的代码中所处位置。可选的,所述调用预设修改文件修改所述字节码文件的代码,具体包括:调用预设修改文件删除所述字节码文件中部分代码。可选的,在所述当检测到针对APK文件的字节码文件的处理指令时,获取所述字节码文件之后,所述方法还包括:判断是否存在所述预设修改文件;若不存在所述预设修改文件,则生成所述预设修改文件,并执行调用预设修改文件修改所述字节码文件的代码的步骤。可选的,所述方法还包括:将所述字节码文件进行加密处理,并将加密后的字节码文件备份到所述APK文件的lib目录下的SO文件中;将所述SO文件作为代码数据写入壳程序文件。本专利技术的另一个方面,提供了一种实现APK文件保护的装置,包括:获取单元,适于当检测到针对APK文件的字节码文件的处理指令时,获取所述字节码文件;修改单元,适于调用预设修改文件修改所述获取单元获取的字节码文件的代码;生成单元,适于根据修改单元修改后的代码生成对应的伪字节码文件。可选的,所述修改单元,具体适于调用预设修改文件修改所述字节码文件中的特征值的编码方式,所述特征值为所述字节码文件的核心代码。可选的,所述修改单元,具体适于调用预设修改文件修改所述字节码文件中的特征值对应代码在所述字节码文件的代码中所处位置,所述特征值为所述字节码文件的核心代码。可选的,所述字节码文件包括数据段,所述数据段包括所述特征值;所述修改单元,具体适于调用预设修改文件修改所述特征值的代码在所述数据段的代码中所处位置,以修改所述特征值对应代码在所述字节码文件的代码中所处位置。可选的,所述修改单元,具体适于调用预设修改文件删除所述字节码文件中部分代码。可选的,所述装置还包括:判断单元,适于在所述获取单元获取所述字节码文件之后,判断是否存在所述预设修改文件;相应地,所述生成单元,还适于在所述判断单元的判断结果为不存在所述预设修改文件时,生成所述预设修改文件,并使所述修改单元执行调用预设修改文件修改所述字节码文件的代码的操作。可选的,所述装置还包括:加密单元,适于将所述字节码文件进行加密处理,并将加密后的字节码文件备份到所述APK文件的lib目录下的SO文件中;处理单元,适于将所述SO文件作为代码数据写入壳程序文件。本专利技术实施例中提供的技术方案,至少具有如下技术效果或优点:在本专利技术实施例中,当检测到针对APK文件的字节码文件的处理指令时,则获取所述字节码文件,通过调用预设修改文件修改所述字节码文件的代码,根据修改后的代码生成对应的伪字节码文件,进而通过生成伪字节码文件的方式,使第三方无法通过逆向破解字节码文件而还原出对应的APK文件的源代码,有效阻止恶意程序对字节码文件的反汇编分析,进而提高APK文件的安全等级,保护开发者和使用者的利益。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的一种实现APK文件保护的方法的流程图;图2示出了根据本专利技术另一实施例的一种实现APK文件保护的方法的流程图;图3示出了根据本专利技术一个实施例的一种实现APK文件保护的装置的结构示意图;图4示出了根据本专利技术另一实施例的一种实现APK文件保护的装置的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本专利技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。本
技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本专利技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。图1示意性示出了本专利技术一个实施例的实现APK文件保护的方法的流程图。参照图1,本专利技术实施例的实现APK文件保护的方法具体包括以下步骤:S11、当检测到针对APK文件的字节码文件的处理指令时,获取所述字节码文件。其中,字节码文件即classes.dex文件,是APK文件的java源码编译后生成的java字节码文件。字节码文件由文件头、索引区和数据区三大部分组成。可理解的是,当检测到针对APK文件的字节码文件的处理指令本文档来自技高网
...
一种实现APK文件保护的方法及装置

【技术保护点】
一种实现APK文件保护的方法,包括:当检测到针对APK文件的字节码文件的处理指令时,获取所述字节码文件;调用预设修改文件修改所述字节码文件的代码,根据修改后的代码生成对应的伪字节码文件。

【技术特征摘要】
1.一种实现APK文件保护的方法,包括:当检测到针对APK文件的字节码文件的处理指令时,获取所述字节码文件;调用预设修改文件修改所述字节码文件的代码,根据修改后的代码生成对应的伪字节码文件。2.根据权利要求1所述的方法,所述调用预设修改文件修改所述字节码文件的代码,具体包括:调用预设修改文件修改所述字节码文件中的特征值的编码方式,所述特征值为所述字节码文件的核心代码。3.根据权利要求1所述的方法,所述调用预设修改文件修改所述字节码文件的代码,具体包括:调用预设修改文件修改所述字节码文件中的特征值对应代码在所述字节码文件的代码中所处位置,所述特征值为所述字节码文件的核心代码。4.根据权利要求3所述的方法,其特征在于,所述字节码文件包括数据段,所述数据段包括所述特征值;所述调用预设修改文件修改所述字节码文件中的特征值对应代码在所述字节码文件的代码中所处位置,具体包括:调用预设修改文件修改所述特征值的代码在所述数据段的代码中所处位置,以修改所述特征值对应代码在所述字节码文件的代码中所处位置。5.根据权利要求1所述的方法,所述调用预设修改文件修改所述字节码文件的代码,具体包括:调用预设修改文件删除所述字节码文件中部分代码。6....

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

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

1