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

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

1.一种基于随机混淆的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。

2.根据权利要求1所述的基于随机混淆的Android软件协同加固方法,其特征在于:所述步骤d)中的加密方式为AES加密。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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