[发明专利]一种Android应用程序加固方法有效
申请号: | 201710107567.2 | 申请日: | 2017-02-27 |
公开(公告)号: | CN107092816B | 公开(公告)日: | 2020-07-28 |
发明(设计)人: | 凌捷;林擎宇;谢锐;柳毅;龚怡 | 申请(专利权)人: | 广东工业大学 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F21/60;H04L29/06 |
代理公司: | 广东广信君达律师事务所 44329 | 代理人: | 杨晓松 |
地址: | 510062 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 android 应用程序 加固 方法 | ||
1.一种Android应用程序加固方法,其特征在于,包括步骤:
S1:对需要保护的Android应用程序使用密钥K进行加密,将源程序的hash值保存到服务器;
S2:对密钥K进行非对称加密得到密文T,将私钥PK保存到服务器;
S3:将密文T截图成图片,以二进制流嵌入到另一张图片的文件尾部;其中,密文图片二进制流嵌入的图片为Android应用程序的源程序资源文件的任意一张图片;
S4:将加密后的程序密文嵌入到解壳程序dex文件尾部,将签名打包,并将 数字证书上传到服务器中;
S5:解壳程序运行时,验证服务器的数字证书,并取出密文图片;
S6:使用OCR识别把密文图片还原为字符串,从服务器中获得私钥PK,解密字符串得到密钥K;
S7:使用密钥K对加密后的Android应用程序解密,验证服务器返回的hash值;
S8:动态加载运行解密后的Android应用程序,通过java反射机制运行Android应用程序。
2.如权利要求1所述的Android应用程序加固方法,其特征在于,步骤S1中对Android应用程序加密的算法是AES算法,对Android应用程序的hash加密算法是MD5算法,所述MD5值保存于服务器中。
3.如权利要求1所述的Android应用程序加固方法,其特征在于,步骤S2中,对密钥K进行非对称加密的算法是RSA算法,RSA私钥保存于服务器中。
4.如权利要求1所述的Android应用程序加固方法,其特征在于,步骤S4中对解 壳程序签名的数字证书来源为可靠的发行机构,且所述数字证书上传在服务器中。
5.如权利要求1所述的Android应用程序加固方法,其特征在于,步骤S5中还包括步骤:若验证服务器的数字证书不通过,则强制停止解壳程序的运行。
6.如权利要求1所述的Android应用程序加固方法,其特征在于,步骤S7中还包括步骤:若验证hash值不通过,则强制停止解密Android应用程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东工业大学,未经广东工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710107567.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:断路器触头组件装配设备的线圈进料装置
- 下一篇:一种玩具车组装机