[发明专利]一种基于随机混淆的Android软件协同加固方法有效

专利信息
申请号: 201710255286.1 申请日: 2017-04-19
公开(公告)号: CN107122629B 公开(公告)日: 2017-12-26
发明(设计)人: 舒明雷;周书旺;王英龙;杨美红;杨明;魏诺;孔祥龙;高天雷 申请(专利权)人: 山东省计算中心(国家超级计算济南中心)
主分类号: G06F21/12 分类号: G06F21/12;G06F21/60
代理公司: 济南泉城专利商标事务所37218 代理人: 支文彬
地址: 250014 山东省济*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 随机 混淆 android 软件 协同 加固 方法
【说明书】:

技术领域

发明涉及软件加固领域,具体涉及一种基于随机混淆的Android软件协同加固方法。

背景技术

Android是一款源码开放的移动智能终端操作系统,它基于Linux内核,由谷歌开发。Android自上市以来,其市场占有率逐年攀升,2016年上半年Android在全球智手机操作系统的占有率为86.2%。目前Android系统已经遍布我们生活的方方面面,例如手机、平台电脑、电视、手表、车载系统甚至健康检测设备等。

一个Android软件开发从需求分析、到最后的定型发布,以及随后的不断升级,都需要开发单位投入大量的人财物。但是Android软件具有很强的流通性,无法防止被恶意篡改或盗版。被篡改或盗版的Android软件不仅会导致用户信息泄露,严重的还会导致用户资金损失,同时这在很大程度上损害了开发者的利益,所以Android软件的安全保护十分重要。

发明内容

本发明为了克服以上技术的不足,提供了一种有效防止Android软件被篡改和盗版的一种基于随机混淆的Android软件协同加固方法。

本发明克服其技术问题所采用的技术方案是:

一种基于随机混淆的Android软件协同加固方法,包括如下步骤:

a)解压需要加固的Android软件,分别获得classes.dex文件和bin文件;

b)对classes.dex文件头header进行随机混淆,对classes.dex文件增加无用随机代码;

c)对源文件中的bin文件进行重命名并将原bin文件名称作为加载器名称,完成对加载器的重命名,重命名后的加载器loder将classes.dex与重命名后的bin文件隔离;

d)计算混淆后的classes.dex文件的hash值hash_dex,并对hash_dex进行加密,将加密后为hash_dex文件保存至加载器loder中;

e)计算加载器loder的hash值hash_loder,计算重命名后的bin文件hash值hash_core;

f)对重命名后的bin文件进行加密并生成密文ciphertext,将ciphertext、hash_loder和hash_core组成文件date;

g)将date文件、bin文件以及混淆后的classes.dex文件进行重新签名,打包生成加固后的APK。

上述步骤b)中的随机混淆包括如下步骤:

b-1)利用整数随机函数生成一个随机数N,1500<N<2500;

b-2)计算机以N为参数并输入随机字符生成函数,生成一个长度length=N的byte数组;

b-3) 将长度为N的byte数组插入到dex头文件的第P个位置上,其中P=0x28+N%(0x70-0x28),

其中,0x70为dex头文件原始程度,0x28为magic、checksum、signature、fileSize和headerSize 5字段的长度和;

b-4) 对随机数N进行自定义加密,加密结果为8byte编码,并将8byte编码追加到dex文件尾部;

b-5) 更新dex文件校验码字段checksum,用于根据alder32算法校验dex文件除去magic、checksum两字段外的文件的正确性;

b-6) 更新dex文件哈希值字段signature,signature是利用SHA-1算法计算dex文件除去magic、checksum和signature三字段外的哈希值,用于判断文件完整性;

b-7) 更新dex文件长度字段fileSize的值为:fileSize=filesize+N+8;

b-8) 更新dex头文件长度字段headerSize的值为:headerSize=headerSize+N+8。

上述步骤d)中的加密方式为AES加密。

本发明的有益效果是:本基于随机混淆的Android软件协同加固方法第一是对dex头文件随机混淆加固,第二是对bin文件的安全动态加载加固。通过随机混淆的协同加固方法对Android软件进行保护,增强了代码的安全性。有效防止Android软件被恶意篡改或盗版的现象发生。

附图说明

图1为本发明的流程图。

具体实施方式

下面结合附图1对本发明做进一步说明。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东省计算中心(国家超级计算济南中心),未经山东省计算中心(国家超级计算济南中心)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710255286.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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