[发明专利]一种android应用加固方法及计算机设备有效
申请号: | 201911007092.5 | 申请日: | 2019-10-22 |
公开(公告)号: | CN110765424B | 公开(公告)日: | 2021-07-09 |
发明(设计)人: | 张涛 | 申请(专利权)人: | 福州汇思博信息技术有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京康盛知识产权代理有限公司 11331 | 代理人: | 梁锦平 |
地址: | 350001 福建省福州市鼓楼区铜*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 android 应用 加固 方法 计算机 设备 | ||
本发明提供一种android应用加固方法,获取待加固的APK,从APK中获取dex文件;将dex文件进行加密,将解密策略以及内存适配方案写入至so文件;重新编译,获得加固后的APK;本发明还提供一种计算机设备,配置了一套安全策略,有效的避免了apk被反编译,篡改,以及二次利用。
技术领域
本发明涉及一种android应用加固方法及计算机设备。
背景技术
目前android在全球移动市场中的市场占有率超过了6成,也就是说全球有超过一半的手机用户使用的是以android系统搭载的移动设备,也正是因为这个原因,全球的app应用在最近几年来呈井喷之势成长,随之带来的安全问题也催生了一大堆关于应用安全的解决方案,其中最引人瞩目的是apk的加固方案。
以往apk的加固方案采取的方式为不落地加载,即为内存加载,但是普遍的方案都为单纯的基于某个android系统版本所提出的方案,譬如在使用的是在 android4.4版本中,是使用dalvik对dex文件进行优化,所以内存加载的方式必然是直接加载dex文件,但是在4.4之后的版本,android系统是使用art虚拟机对dex文件进行优化,之前的方案并不能奏效,另外即使是在android4.4以后版本中,其对于dex文件内存加载的方式还不一致,不仅如此,内存加载的方式单一会容易使得黑客获取其代码逻辑,进行破解。
缺点1:以往的加固方案单一,并不能适配各个版本的android系统,在android 系统日益更新的今天,apk加固的方案也需与时俱进,进行适配。
缺点2:加固为不落地加载,但是这也是其一大缺点,在动态调试中,内存中还是容易获取完整的dex文件,所以即使是内存加载的方案,虽然能有效的防止静态分析,但是对于动态调试,如果内存加载的方案是单一的,很容易被人利用,使用内存dump等攻击手段。
发明内容
本发明要解决的技术问题,在于提供一种android应用加固方法及计算机设备,配置了一套安全策略,有效的避免了apk被反编译,篡改,以及二次利用。
本发明之一是这样实现的:一种android应用加固方法,包括:
步骤1、获取待加固的APK,从APK中获取dex文件;
步骤2、将dex文件进行加密,将解密策略以及内存适配方案写入至so文件;
步骤3、重新编译,获得加固后的APK。
进一步地,所述步骤1进一步具体为:获取待加固的APK,之后进行反编译,得到dex文件。
进一步地,所述步骤2进一步具体为:将dex文件进行压缩并加密,将解密策略以及内存适配方案写入至so文件。
进一步地,所述内存适配方案为:
若应用系统为android4.4,则使用dalvik进行加载dex文件,从而获取dex 实例;
若应用系统为android5.0到android6.0,则调用libart.so的openmemory方法加载dex文件,从而获取dex实例;
若应用系统为android 7.0到android7.1.2,则使用hook方案,在内存中进行替换加载中的虚dex,从而获取dex实例;
若应用系统为android8.0到android9.0,则会使用android的新机制内存加载的类加载器进行加载内存中的dex,获取dex实例。
本发明之二是这样实现的:一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于:所述处理器执行所述程序时实现以下步骤:
步骤1、获取待加固的APK,从APK中获取dex文件;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福州汇思博信息技术有限公司,未经福州汇思博信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911007092.5/2.html,转载请声明来源钻瓜专利网。