[发明专利]一种APK应用加固的方法及系统在审
申请号: | 201310725091.0 | 申请日: | 2013-12-25 |
公开(公告)号: | CN103902858A | 公开(公告)日: | 2014-07-02 |
发明(设计)人: | 潘博文;乔伟;肖新光 | 申请(专利权)人: | 武汉安天信息技术有限责任公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 430000 湖北省*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 apk 应用 加固 方法 系统 | ||
技术领域
本发明涉及移动终端应用安全领域,特别涉及一种APK应用加固的方法及系统。
背景技术
随着Android移动终端平台的日益发展,第三方应用程序大量涌现,对第三方应用的盗版和重打包现象日益严重。由于Android下APK能够很容易的由dex2jar和JD-GUI、JAD等反编译工具反编译为易于阅读的JAVA代码,从而代码中的明文字符串、库函数调用、核心功能函数等都一目了然,使得非法开发者对第三方应用程序的盗版或者核心功能的逆向工程变得更加容易。
发明内容
本发明提供了一种APK应用加固的方法及系统,解决了APK代码易于被反编译显示的问题,能够使第三方应用程序加固,最大化保护APK应用程序的安全。
一种APK应用加固的方法,包括:
向JVM中导入待加固的文件,所述文件为文件源码或打包的APK文件;基于源码的加固通常是导入类代码,通常为*.java文件;
对待加固文件进行预处理,分析待加固文件代码的语义为字符串对象,或库函数调用,或核心功能代码块;
根据分析结果,对待加固文件加密:
如果为字符串对象,则根据用户自定义的加密方式加密;
如果为库函数调用,则加密被调用的类名、方法名、并进行反射调用;
如果为核心功能代码块,则加密并动态生成加密后的代码;
JVM类初始化,对加密后的字符串对象、库函数调用及核心功能代码块以静态成员、静态代码块方式提取到类初始化过程中;
待加固文件的加固结果导出,分别导出加固后的源文件或APK文件。基于源码的导出结果为加固后的*.java源文件,基于打包APK的导出结果为加固后的APK文件。
所述的方法中,所述用户自定义的加密方式为标准加密方式或已知的任一字符串加密方式。
本发明还提供一种APK应用加固的系统,包括:
加载模块,用于向JVM中导入待加固的文件,所述文件为文件源码或打包的APK文件;
分析模块,用于对待加固文件进行预处理,分析待加固文件代码的语义为字符串对象,或库函数调用,或核心功能代码块;
加固模块,用于根据分析结果,对待加固文件加密:
如果为字符串对象,则根据用户自定义的加密方式加密;
如果为库函数调用,则加密被调用的类名、方法名、并进行反射调用;
如果为核心功能代码块,则加密并动态生成加密后的代码;
初始化模块,用于JVM类初始化,对加密后的字符串对象、库函数调用及核心功能代码块以静态成员、静态代码块方式提取到类初始化过程中;
文件生成模块,用于待加固文件的加固结果导出,分别导出加固后的源文件或APK文件。
所述的系统,所述用户自定义的加密方式为标准加密方式或已知的任一字符串加密方式。
本发明方法及系统的优势在于,提供了一种APK应用的加固方案,利用JVM中类初始化的特性和JAVA反射机制,对代码中的字符串、库函数的调用以及部分代码块进行加固保护,并且提供基于源码的加固方式和基于打包APK的加固方式,极大降低了对加固后应用程序的逆向工程的可能性,从而达到最大化保护应用开发者版权的目的。
本发明提供了一种APK 应用加固的方法及系统,主要针对Android下APK应用的代码加固方案,并且提供了源码级和非源码级的两种加固方式。所述方法为,导入待加固文件源码或APK文件,并对待加固文件进行预处理,分析其语义,针对不同的对象采取不同的加密方式,将加密后的对象进行JVM类初始化处理,将加密后的对象以静态成员、静态代码块等方式提取到类初始化过程中,最后将加固结果导出。通过本发明的方法,能够对Android下的APK应用程序进行加固处理,使反编译结果中不会出现任何明文字符串和库函数的显示调用,并隐藏了核心代码功能,极大提增加了对APK文件逆向分析的难度,从而起到对开发者的应用代码的保护作用。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明APK应用加固的方法流程图;
图2为本发明APK应用加固的系统结构示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉安天信息技术有限责任公司,未经武汉安天信息技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310725091.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种确定飞机位置的方法
- 下一篇:一种中小停车场智能车辆引导系统及引导方法