[发明专利]Android应用加固方法有效
申请号: | 201910109822.6 | 申请日: | 2019-01-28 |
公开(公告)号: | CN109918872B | 公开(公告)日: | 2021-06-29 |
发明(设计)人: | 杨学轶;李强;单亦伟;李一鸣;杨明阳;刘宗斌;张令臣;马存庆 | 申请(专利权)人: | 中国科学院数据与通信保护研究教育中心 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;吴欢燕 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | android 应用 加固 方法 | ||
1.一种Android应用加固方法,其特征在于,包括:
对Android应用的原始源代码中需要保护的部分代码,提取所述部分代码中方法调用和被调用方法的信息;
对于每一被调用方法,确定所述被调用方法对应的不相关方法,并根据所述对应的不相关方法生成新的方法调用,将所述新的方法调用替换所述被调用方法对应的方法调用,生成新的源代码;
编写语义恢复代码,根据所述新的源代码和所述语义恢复代码,生成加固后的Android应用;
其中,所述原始源代码为Java代码;所述语义恢复代码,用于根据所述新的源代码恢复所述原始源代码的执行语义;
确定所述被调用方法对应的不相关方法的具体步骤包括:
对于每一所述被调用方法,根据筛选算法分析所述被调用方法的名称和签名,以及所述被调用方法对应的方法调用的调用类型和调用时使用的参数类型,选择所述被调用方法对应的不相关方法;
选择用于代替所述被调用方法的不相关方法的具体步骤包括:
将有效参数的数目和尺寸分别不小于所述被调用方法的有效参数的数目和尺寸的任一不相关方法,作为所述被调用方法对应的不相关方法;
其中,所述不相关方法,指与所述需要保护的部分代码不相关的其他方法。
2.根据权利要求1所述的Android应用加固方法,其特征在于,编写语义恢复代码的具体步骤包括:
将根据各所述方法调用所使用的寻址路径和路径上的偏移量,以及各所述新的方法调用所使用的寻址路径和路径上的偏移量,获取各所述方法调用的入口和各所述新的方法调用的入口,并将每一所述新的方法调用的入口修改为所述新的方法调用对应的方法调用的入口作为代码逻辑,根据所述代码逻辑用C语言编写所述语义恢复代码。
3.根据权利要求2所述的Android应用加固方法,其特征在于,生成新的源代码与编写语义恢复代码之间还包括:
将各所述方法调用和各所述新的方法调用置于临时程序中,执行所述临时程序,获取本地机器码;
对所述本地机器码进行分析,获取各所述方法调用所使用的寻址路径和路径上的偏移量,以及各所述新的方法调用所使用的寻址路径和路径上的偏移量。
4.根据权利要求3所述的Android应用加固方法,其特征在于,对所述本地机器码进行分析的具体步骤包括:
对Android设备编译器生成的包含所述本地机器码的文件进行分析,或者在所述临时程序执行中,对所述临时程序内存中的所述本地机器码文件映射进行分析。
5.根据权利要求2所述的Android应用加固方法,其特征在于,根据所述新的源代码和所述语义恢复代码,生成加固后的Android应用的具体步骤包括:
将所述语义恢复代码以NDK编程的形式保存在C动态链接库.so库中,并采用JNI的形式调用所述.so库,且调用所述.so库在执行所述部分代码之前;
将所述.so库和所述新的源代码编译打包,生成加固后的Android应用。
6.根据权利要求1所述的Android应用加固方法,其特征在于,提取所述部分代码中方法调用和被调用方法的信息的具体步骤包括:
根据预处理算法对所述部分代码进行解析,获取所述部分代码中方法调用和被调用方法的信息;
其中,所述方法调用的信息包括调用类型和调用时使用的参数类型;所述被调用方法的信息包括被调用方法的名称和签名。
7.根据权利要求1所述的Android应用加固方法,其特征在于,所述不相关方法为系统内部已有方法接口、所述Android应用内部已有方法接口或者自定义的新的方法。
8.根据权利要求1至7任一所述的Android应用加固方法,其特征在于,对Android应用的原始源代码中需要保护的部分代码,提取所述部分代码中方法调用和被调用方法的信息之前还包括:
读取所述Android应用的原始源代码,并确定所述原始源代码中需要保护的部分代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院数据与通信保护研究教育中心,未经中国科学院数据与通信保护研究教育中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910109822.6/1.html,转载请声明来源钻瓜专利网。