[发明专利]一种Android系统的应用程序的加固方法有效

专利信息
申请号: 201610034627.8 申请日: 2016-01-19
公开(公告)号: CN105426708B 公开(公告)日: 2018-08-21
发明(设计)人: 文伟平 申请(专利权)人: 北京鼎源科技有限公司
主分类号: G06F21/14 分类号: G06F21/14
代理公司: 北京万象新悦知识产权代理事务所(普通合伙) 11360 代理人: 张肖琪
地址: 100086 北京市海淀*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公布了一种Android系统的应用程序的加固方法,通过二进制流加密对Android应用程序中的关键代码进行加固,保护应用程序代码;包括:解析classes.dex文件;定位到关键方法;进行第一次加密,得到中间数据;对中间数据进行第二次加密;计算新的dex文件的Hash值,加密后存入so文件中;计算得到新的dex文件checksum和signature的值,更新dex文件;重新生成apk,即完成加密过程。解密时,计算dex文件的Hash值,进行加密得到的Hash值与so文件中的值比较;进行二次解密操作,得到关键代码。本发明可使得无法通过反编译工具查看Android源码,且只对关键代码加密保护,保护代码的完整性,有效抵抗静态分析,防止Android程序代码被篡改,保证程序运行效率。
搜索关键词: 一种 android 系统 应用程序 加固 方法
【主权项】:
1.一种Android系统的应用程序的加固方法,通过二进制流加密方法对Android应用程序中的关键代码进行加固,使得Android应用程序代码得到保护;所述加固方法包括加密过程和解密过程,具体包括如下步骤:A.针对需要保护的Android应用程序,对关键代码进行加密,执行如下操作:A1.首先对需要保护的Android应用程序解压,获得Android应用程序中的classes.dex文件,对所述classes.dex文件进行解析;A2.设定需要加密的特定类的关键方法,定位到需要加密的特定类的关键方法;所述设定需要加密的特定类的关键方法,具体包括重要算法方法、验证登陆方法、系统关键流程方法中的一个或多个;A3.设定密钥key1,使用密钥key1对步骤A2所述关键方法的指令进行第一次加密,得到第一次加密后的中间数据;A4.设定密钥key2,使用密钥key2对步骤A3所述中间数据进行第二次加密;A5.将二次加密后得到数据更新到dex文件中,得到新的dex文件;A6.计算步骤A5所述新的dex文件的Hash值,该Hash值用于校验dex的完整性;对Hash值进行加密后存入到so文件中;A7.对于步骤A5所述新的dex文件,重新计算得到checksum和signature的值,更新dex文件;A8.压缩重新生成apk,即完成加密过程;所述重新生成的apk中包含关键代码加密的dex文件和包含解密和dex校验信息的so文件;B.开始执行Android应用程序时,对加密的Android应用程序进行解密得到关键代码,执行如下操作:B1.Android应用程序被载入内存后,执行so文件中的程序;B2.在内存中找到dex文件;B3.对于得到的dex文件,计算dex文件的Hash值,然后对Hash进行加密,得到加密后的Hash值;B4.将步骤B3所述加密后的Hash值和步骤A6所述so文件中保存的值进行比较;如果一致,则执行步骤B5,否则返回错误码,程序停止运行;B5.执行关键代码时,从so文件中取得密钥key2,对关键代码进行解密,得到中间代码;B6.针对步骤B5得到的中间代码,从so文件中取得密钥key1,进行第二次解密,得到最终的关键代码;B7.进行关键代码的方法调用。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京鼎源科技有限公司,未经北京鼎源科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201610034627.8/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code