[发明专利]移动应用程序的安全加固的方法及装置有效
申请号: | 201711422051.3 | 申请日: | 2017-12-25 |
公开(公告)号: | CN107977553B | 公开(公告)日: | 2020-07-10 |
发明(设计)人: | 贾世准;麦松涛;冯晓荣 | 申请(专利权)人: | 中国电子产品可靠性与环境试验研究所 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 陈金普 |
地址: | 511300 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 移动 应用程序 安全 加固 方法 装置 | ||
1.一种移动应用程序的安全加固的方法,其特征在于,包括以下步骤:
对待加固的移动应用程序的APK文件进行解压,获取待加固dex文件和Manifest文件;
在所述待加固dex文件中,对待保护的类和方法的索引代码进行抽取分离,抽取待保护的类和方法的索引代码,并重写待保护的类和方法的程序入口代码,获得已加固dex文件;
对所述索引代码进行加密,获取加密索引代码数据并进行单独存放;
生成用于解密所述加密索引代码数据并动态还原所述索引代码的so库文件;
在所述Manifest文件中更改用于读取所述程序入口代码的加载器的信息;
利用签名工具对所述已加固dex文件、所述加密索引代码数据、所述so库文件和更改后的所述Manifest文件重新打包,获得加固后的所述APK文件;
在利用签名工具对所述已加固dex文件、所述加密索引代码数据、所述so库文件和更改后的所述Manifest文件重新打包的步骤之前,还包括:
在所述so库文件中加入防调试代码,所述防调试代码用于防止恶意调试器对所述APK文件进行调试。
2.根据权利要求1所述的移动应用程序的安全加固的方法,其特征在于,通过椭圆曲线加密算法对所述索引代码进行加密。
3.根据权利要求1所述的移动应用程序的安全加固的方法,其特征在于,在利用签名工具对所述已加固dex文件、所述加密索引代码数据、所述so库文件和更改后的所述Manifest文件重新打包的步骤之前,还包括:
在所述已加固dex文件中添加用于校验所述移动应用程序完整性和签名证书的防篡改功能代码。
4.根据权利要求1所述的移动应用程序的安全加固的方法,其特征在于,用于解密所述加密索引代码数据的解密私钥和用于验证所述移动应用程序完整性和签名证书的指纹信息保存在云端的加固服务器中。
5.一种移动应用程序的安全加固的装置,其特征在于,包括:
解压获取模块,用于对待加固的移动应用程序的APK文件进行解压,获取待加固dex文件和Manifest文件;
抽取重写模块,用于在所述待加固dex文件中,对待保护的类和方法的索引代码进行抽取分离,抽取待保护的类和方法的索引代码,并重写待保护的类和方法的程序入口代码,获得已加固dex文件;
加密模块,用于对所述索引代码进行加密,获取加密索引代码数据并进行单独存放;
生成模块,用于生成用于解密所述加密索引代码数据并动态还原所述索引代码的so库文件;
更改模块,用于在所述Manifest文件中更改用于读取所述程序入口代码的加载器的信息;
打包模块,用于利用签名工具对所述已加固dex文件、所述加密索引代码数据、所述so库文件和更改后的所述Manifest文件重新打包,获得加固后的所述APK文件;
还包括调试模块,用于在所述so库文件中加入防调试代码,所述防调试代码用于防止恶意调试器对所述APK文件进行调试。
6.一种可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行权利要求1-4中任意一项所述方法的步骤。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-4中任意一项所述方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子产品可靠性与环境试验研究所,未经中国电子产品可靠性与环境试验研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711422051.3/1.html,转载请声明来源钻瓜专利网。