[发明专利]基于动态恢复so文件的Android应用加固方法在审

专利信息
申请号: 201611049813.5 申请日: 2016-11-24
公开(公告)号: CN106650327A 公开(公告)日: 2017-05-10
发明(设计)人: 文伟平 申请(专利权)人: 湖南鼎源蓝剑信息科技有限公司
主分类号: G06F21/12 分类号: G06F21/12;G06F21/14;G06F21/60
代理公司: 北京万象新悦知识产权代理事务所(普通合伙)11360 代理人: 黄凤茹
地址: 410205 湖南省长沙市长沙高新*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公布了一种Android应用加固方法,基于动态恢复Android系统应用程序动态链接库so文件,通过加密方法对so文件中的关键代码进行加固,包括加密过程和解密过程,加密过程对需要保护的Android应用程序进行加密,对关键代码所在的节进行加密并重新生成新的Android应用程序,包含原有的dex文件、解密后关键代码的so文件和加密后关键代码的so文件;解密过程在开始执行Android应用程序时,对加密后关键代码的so文件进行动态恢复,得到关键代码,再调用所述关键代码的方法。本发明对关键函数进行双层加密,增加逆向分析的难度,实现对代码的完整性进行保护,有效地抵抗静态分析;而且只对关键代码进行加密,保证程序运行效率。
搜索关键词: 基于 动态 恢复 so 文件 android 应用 加固 方法
【主权项】:
一种Android应用加固方法,基于动态恢复Android系统应用程序动态链接库so文件,通过二进制流加密方法对so文件中的关键代码进行加固,使得Android应用程序代码得到保护;所述加固方法包括加密过程和解密过程,具体包括如下步骤:A.加密过程:对需要保护的Android应用程序进行加密,具体设定需要加密的特定节的关键代码,对关键代码所在的节进行加密并重新生成新的Android应用程序;所述重新生成的新的Android应用程序中包含原有的dex文件、解密后关键代码的so文件和加密后关键代码的so文件;所述加密包括如下步骤:A1.对需要保护的Android应用程序解压,获得Android应用程序中的so文件,对所述so文件进行解析;A2.读取elf文件头,定位到节区头部表;A3.根据elf文件头,读取得到节区数量;A4.读取得到节区头部表中的所有项;A5.读取得到节表字符串表在节表中的索引,再找到节表字符串表的偏移;A6.读取节表字符串表中的字符串,将每一个节的名字保存起来;A7.比较每一个节的名字和自定义节的名字,如果匹配,则得到目标节的内容并保存;A8.设定密钥key1,使用密钥key1对步骤A7所述目标节的内容进行第一次加密,得到第一次加密后的中间数据;A9.设定密钥key2,使用密钥key2对步骤A8所述中间数据进行第二次加密;A10.将二次加密后得到数据更新到so文件中,得到新的so文件;A11.压缩重新生成apk,即完成加密过程;所述重新生成的apk中包含原有的dex文件以及包含解密和加密后关键代码的so文件;B.解密过程:在开始执行Android应用程序时,对加密后关键代码的so文件进行动态恢复,得到关键代码,再调用所述关键代码的方法;所述动态恢复具体执行如下操作:B1.在Android应用程序被载入内存后,执行Android应用程序中so文件中的程序;B2.在内存中找到so文件在进程中的地址;B3.在so文件中查找待解密的节的地址;B4.得到待解密的节占用的页的大小,修改占用页的读写权限;B5.执行关键代码时,从so文件中取得密钥key2,对待解密的节进行解密,得到中间代码;B6.针对步骤B5得到的中间代码,从so文件中取得密钥key1,进行第二次解密,得到最终的关键代码;B7.进行关键代码的方法调用。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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