【技术实现步骤摘要】
一种用于保护APK的方法和装置
本专利技术属于移动互联网应用安全防护领域,具体涉及一种用于保护APK的方法和装置。
技术介绍
随着互联网时代的快速发展,尤其是移动互联网的发展,出现了越来越多的APP,这些手机端的APP使得人们可以方便的购买各种各样的产品、便捷的快速支付等等。但是随着APP的普及,手机端APP的安全变的越来越重要。由于手机端APP开发人员的疏忽或者知识局限性,每个APP都存在一定的安全漏洞,这些漏洞一旦被恶意用户掌握,带来的危害将是不可估量的。虽然Android平台本身有比较规范的安全机制,如应用层引用签名机制、应用权限控制机制保护程序的安全;内核层通过沙箱机制隔离不同进程的资源,并辅助独特的内存管理机制和进程间通信机制等。但是,由于Android本身的开源性、推广的开放性等因素,安卓平台在自身架构、架构的安全机制以及平台的运营模式等方面均存在一定的不足,这些问题一旦被攻击者利用,用户的利益将受到侵害。针对Android系统中APK应用所面临的各种风险和威胁,市面出现了很多应对措施和保护方法, ...
【技术保护点】
1.一种用于保护APK的方法,其特征在于,该方法包括:/n解压APK文件获得APK中的所有文件,包括classs.dex、lib、META-INFO、AndroidManifest.xml、res;/nso库加密,调用密码库中加密算法对so库文件中text字段加密;/ndex文件加密,调用密码库中加密算法对classs.dex文件进行加密;/n加壳和打包,将Dex壳文件、so库、AndroidManifest.xml文件、META-INFO打包成新的APK;/n对新的APK进行签名。/n
【技术特征摘要】
1.一种用于保护APK的方法,其特征在于,该方法包括:
解压APK文件获得APK中的所有文件,包括classs.dex、lib、META-INFO、AndroidManifest.xml、res;
so库加密,调用密码库中加密算法对so库文件中text字段加密;
dex文件加密,调用密码库中加密算法对classs.dex文件进行加密;
加壳和打包,将Dex壳文件、so库、AndroidManifest.xml文件、META-INFO打包成新的APK;
对新的APK进行签名。
2.根据权利要求1所述的用于保护APK的方法,其特征在于,所述so库加密包括:
通过密码库产生密钥key1和向量IV1,利用密码库中白盒算法将密钥key1放入加密白盒文件wbFile1;
根据密钥key1生成解密白盒文件decwbFile1,将解密白盒文件decwbFile1和向量IV1放入assets文件夹;
使用白盒文件wbFile1和向量IV1作为实数,调用密码库中加密算法对so库文件中text字段加密,并将加密后数据填充回text字段,通过自定义变量对字符串和符号表进行混淆处理。
3.根据权利要求2所述的用于保护APK的方法,其特征在于,加密后的so库仍然存放于lib目录下。
4.根据权利要求1所述的用于保护APK的方法,其特征在于,所述dex文件加密包括:
通过密码库产生密钥key2和向量IV2,利用密码库中白盒算法将密钥key2放入白盒文件wbFile2;
根据密钥key2生成解密白盒文件decwbFile2,将解密白盒文件decwbFile2和向量IV2放入assets文件夹;
使用白盒文件wbFile2和向量IV2作为实数,调用密码库中加密算法对classs.dex文件进行加密,并将加密后的classs.dex作为普通文件存储。
5.根据权利要求1所述的用于保护APK的方法,其特征在于,所述加壳和打包还包括:
使用hash算法对加密后dex文件和so库进行计算,获取其签名值,并将其存入META-INFO中,以便进行完整性校验。
...
【专利技术属性】
技术研发人员:危学艳,卞芳,
申请(专利权)人:航天信息股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。