[发明专利]一种防止Android应用被反编译的应用加固方法及系统在审
申请号: | 201710396176.7 | 申请日: | 2017-05-27 |
公开(公告)号: | CN107292134A | 公开(公告)日: | 2017-10-24 |
发明(设计)人: | 吕麟;谭国栋 | 申请(专利权)人: | 北京思特奇信息技术股份有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京轻创知识产权代理有限公司11212 | 代理人: | 杨立 |
地址: | 100089 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 防止 android 应用 反编译 加固 方法 系统 | ||
1.一种防止Android应用被反编译的应用加固方法,其特征在于,包括以下步骤:
S1,将Android应用的源APK文件采用加密算法加密成解壳数据,将得到的解壳数据与预设的解壳程序的DEX文件合并后得到新解壳程序的DEX文件,并在新解壳程序的DEX文件末尾加入表示解壳数据长度的字段;
S2,根据新解壳程序的DEX文件修改源APK文件的资源配置文件后,用源APK文件的资源配置文件替换新解壳程序的资源配置文件,并用源APK文件的资源文件替换与新解壳程序相对应的资源文件;
S3,读取新解壳文件的DEX文件末尾字段获取解壳数据长度,根据解壳数据长度读取解壳数据,用与S1中的加密算法对应的解密算法解密得到解壳数据保存在内存中,动态加载内存中的解壳数据运行Android应用。
2.如权利要求1所述的防止Android应用被反编译的应用加固方法,其特征在于,所述S1还包括:在新解壳程序的DEX文件末尾加入表示解壳数据长度的字段后,修改新解壳程序的DEX文件的文件头信息;所述文件头信息包括:文件检验码、唯一性验证算法和DEX文件尺寸信息;
所述S3还包括:根据文件头信息验证新解壳程序DEX文件后,根据解壳数据长度读取解壳数据。
3.如权利要求1所述的防止Android应用被反编译的应用加固方法,其特征在于,所述S2中所述根据新解壳程序的DEX文件修改源APK文件的资源配置文件的过程为:根据新解壳程序的DEX文件修改用于权限申请和定义配置的Androidmanifest.xml文件。
4.如权利要求1所述的防止Android应用被反编译的应用加固方法,其特征在于,所述S3中所述动态加载内存中的解壳数据运行Android应用的过程为:使用DexClassLoader类加载器动态加载内存中的解壳数据中的DEX文件运行Android应用。
5.如权利要求1至4任一项所述的防止Android应用被反编译的应用加固方法,其特征在于,所述S1中所述加密算法包括:对称加密算法和非对称加密算法。
6.一种防止Android应用被反编译的应用加固系统,其特征在于,所述系统包括:
加固模块,用于将Android应用的源APK文件采用加密算法加密成解壳数据,将得到的解壳数据与预设的解壳程序的DEX文件合并后得到新解壳程序的DEX文件,并在新解壳程序的DEX文件末尾加入表示解壳数据长度的字段;
配置模块,用于根据新解壳程序的DEX文件修改源APK文件的资源配置文件后,用源APK文件的资源配置文件替换新解壳程序的资源配置文件,并用源APK文件的资源文件替换与新解壳程序相对应的资源文件;
运行模块,用于读取新解壳文件的DEX文件末尾字段获取解壳数据长度,根据解壳数据长度读取解壳数据,用与加固模块中的加密算法对应的解密算法解密得到解壳数据保存在内存中,动态加载内存中的解壳数据运行Android应用。
7.如权利要求6所述的防止Android应用被反编译的应用加固系统,其特征在于,所述加固模块还用于在新解壳程序的DEX文件末尾加入表示解壳数据长度的字段后,修改新解壳程序的DEX文件的文件头信息;所述文件头信息包括:文件检验码、唯一性验证算法和DEX文件尺寸信息;
所述运行模块还用于根据文件头信息验证新解壳程序DEX文件后,根据解壳数据长度读取解壳数据。
8.如权利要求6所述的防止Android应用被反编译的应用加固系统,其特征在于,所述配置模块还用于根据新解壳程序的DEX文件修改用于权限申请和定义配置的Androidmanifest.xml文件。
9.如权利要求6所述的防止Android应用被反编译的应用加固系统,其特征在于,所述运行模块还用于使用DexClassLoader类加载器动态加载内存中的解壳数据中的DEX文件运行Android应用。
10.如权利要求6至9任一项所述的防止Android应用被反编译的应用加固系统,其特征在于,所述加固模块中所述加密算法包括:对称加密算法和非对称加密算法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710396176.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:人工智能的混淆技术方法及装置
- 下一篇:一种程序代码保护方法和装置