[发明专利]一种防止Android应用被反编译的应用加固方法及系统在审
申请号: | 201710396176.7 | 申请日: | 2017-05-27 |
公开(公告)号: | CN107292134A | 公开(公告)日: | 2017-10-24 |
发明(设计)人: | 吕麟;谭国栋 | 申请(专利权)人: | 北京思特奇信息技术股份有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京轻创知识产权代理有限公司11212 | 代理人: | 杨立 |
地址: | 100089 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 防止 android 应用 反编译 加固 方法 系统 | ||
技术领域
本发明涉及应用加固领域,尤其涉及一种防止Android应用被反编译的应用加固方法及系统。
背景技术
Android(安卓)平台在登陆市场几年间,发展迅速,占据了大量的移动终端市场,已经逐渐成为了移动终端的最普及的操作系统,同时基于其中的软件应用数目也相当惊人,然而与之并生的安全问题却始终没有得到良好的解决,安全威胁越来越多,并且威胁程度也在逐步加深。特别是开发者发布的Android应用会被其他人恶意反编译,从而获取到APP(应用的英文缩写)中的重要信息,这样无论对开发者还是用户都带来了很不好的影响。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种防止Android应用被反编译的应用加固方法及系统,目的在于防止APP被恶意反编译获取到重要数据,保护使用者和开发者的权益。
本发明解决上述技术问题的技术方案如下:
一种防止Android应用被反编译的应用加固方法,包括以下步骤:
S1,将Android应用的源APK文件采用加密算法加密成解壳数据,将得到的解壳数据与预设的解壳程序的DEX文件合并后得到新解壳程序的DEX文件,并在新解壳程序的DEX文件末尾加入表示解壳数据长度的字段;
S2,根据新解壳程序的DEX文件修改源APK文件的资源配置文件后,用源APK文件的资源配置文件替换新解壳程序的资源配置文件,并用源APK文件的资源文件替换与新解壳程序相对应的资源文件;
S3,读取新解壳文件的DEX文件末尾字段获取解壳数据长度,根据解壳数据长度读取解壳数据,用与S1中的加密算法对应的解密算法解密得到解壳数据保存在内存中,动态加载内存中的解壳数据运行Android应用。
本发明的有益效果是:在对Android应用进行安全加固后,能够防止APP被恶意反编译获取到重要数据,保护使用者和开发者的权益;且在不影响合法应用便利的前提下,能对任意应用进行安全加固,同时能够保证应用的安全性,从而保证Android系统健康平稳的发展。
在上述技术方案的基础上,本发明还可以做如下改进:
进一步,所述S1还包括:在新解壳程序的DEX文件末尾加入表示解壳数据长度的字段后,修改新解壳程序的DEX文件的文件头信息;所述文件头信息包括:文件检验码、唯一性验证算法和DEX文件尺寸信息;
所述S3还包括:根据文件头信息验证新解壳程序DEX文件后,根据解壳数据长度读取解壳数据。
采用上述进一步方案的有益效果是:使用解壳数据长度字段标记解壳数据的大小,方便的进行解壳得到正确的APK文件,同时使用头文件来验证文件的正确性和唯一性,保证了加固过程中的数据正确率并能保证文件的唯一性,提高安全性。
进一步,所述S2中所述根据新解壳程序的DEX文件修改源APK文件的资源配置文件的过程为:根据新解壳程序的DEX文件修改用于权限申请和定义配置的Androidmanifest.xml文件。
采用上述进一步方案的有益效果是:使用全局配置文件给DEX赋予系统权限并定义相应的配置可以灵活设置加固过程所需要的权限和配置,在保证加固效率的前提下提高了加固过程的安全性。
进一步,所述S3中所述动态加载内存中的解壳数据运行Android应用的过程为:使用DexClassLoader类加载器动态加载内存中的解壳数据中的DEX文件运行Android应用。
采用上述进一步方案的有益效果是:使用专门的类加载器来动态加载DEX文件,使Android应用的运行的出错概率小,提高了Android应用运行的稳定性。
进一步,所述S1中所述加密算法包括:对称加密算法和非对称加密算法。
采用上述进一步方案的有益效果是:提供多种方式的加密算法可以根据不同的需求选择使用,保证应用加固目的的同时增加了适用范围。
一种防止Android应用被反编译的应用加固系统,所述系统包括:
加固模块,用于将Android应用的源APK文件采用加密算法加密成解壳数据,将得到的解壳数据与预设的解壳程序的DEX文件合并后得到新解壳程序的DEX文件,并在新解壳程序的DEX文件末尾加入表示解壳数据长度的字段;
配置模块,用于根据新解壳程序的DEX文件修改源APK文件的资源配置文件后,用源APK文件的资源配置文件替换新解壳程序的资源配置文件,并用源APK文件的资源文件替换与新解壳程序相对应的资源文件;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710396176.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:人工智能的混淆技术方法及装置
- 下一篇:一种程序代码保护方法和装置