[发明专利]基于动态加载的Java SDK代码加解密方法及终端在审
申请号: | 202010625106.6 | 申请日: | 2020-07-02 |
公开(公告)号: | CN111832014A | 公开(公告)日: | 2020-10-27 |
发明(设计)人: | 王庆栋;李鹏飞 | 申请(专利权)人: | 北京智游网安科技有限公司 |
主分类号: | G06F21/52 | 分类号: | G06F21/52 |
代理公司: | 深圳市君胜知识产权代理事务所(普通合伙) 44268 | 代理人: | 陈专 |
地址: | 100000 北京市海淀区东北旺西路8*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 动态 加载 java sdk 代码 解密 方法 终端 | ||
1.一种基于动态加载的Java SDK代码加解密方法,其特征在于,所述基于动态加载的Java SDK代码加解密方法包括:
解析Jar包中的class文件,将所述class文件中的函数转换为无代码的接口函数;
将Jar包进行加密隐藏,如果是Android平台的Jar包,则将Jar包转换为Android系统的DEX文件后进行加密;
当加密操作完成后,输出接口Jar、解密引擎Jar和加密后的Jar;
将加密后的Jar作为资源文件放入应用源码工程,并将接口Jar和解密引擎Jar引入工程,并在使用加密后的Jar之前,初始化调用解密引擎Jar;
启动集成了加密SDK的应用,并在运行时启动解密引擎Jar,获取当前进程的主类加载器;
解密引擎Jar进行解密并使用主类加载器加载解密后的Jar中的代码到内存中,应用正常调用解密后SDK的代码。
2.根据权利要求1所述的基于动态加载的Java SDK代码加解密方法,其特征在于,所述将所述class文件中的函数转换为无代码的接口函数,具体包括:
根据字节码文件的二进制文件结构,解析Jar包中的每个class文件;
获取每个class文件中所有函数的代码段,删除代码段中保存的二进制代码指令,将每个class文件中的函数转换为无代码的接口函数。
3.根据权利要求2所述的基于动态加载的Java SDK代码加解密方法,其特征在于,所述接口函数中无代码,只有函数声明。
4.根据权利要求1所述的基于动态加载的Java SDK代码加解密方法,其特征在于,所述解析Jar包中的class文件,之前还包括:
如果是Android AAR格式的SDK,则需要从AAR中解压出Jar包。
5.根据权利要求1所述的基于动态加载的Java SDK代码加解密方法,其特征在于,所述如果是Android平台的Jar包,则将Jar包转换为Android系统的DEX文件后进行加密,具体包括:
如果是Android平台的Jar包,需要通过使用Dx工具将Jar包中的class文件转为Android Dalvik虚拟机支持的DEX格式的DEX文件。
6.根据权利要求1所述的基于动态加载的Java SDK代码加解密方法,其特征在于,所述接口函数用于开发者集成SDK时引用SDK中的代码,不会编译到应用中。
7.一种终端,其特征在于,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于动态加载的Java SDK代码加解密程序,所述基于动态加载的Java SDK代码加解密程序被所述处理器执行时实现如权利要求1-6任一项所述的基于动态加载的Java SDK代码加解密方法的步骤。
8.一种存储介质,其特征在于,所述存储介质存储有基于动态加载的Java SDK代码加解密程序,所述基于动态加载的Java SDK代码加解密程序被处理器执行时实现如权利要求1-6任一项所述的基于动态加载的Java SDK代码加解密方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京智游网安科技有限公司,未经北京智游网安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010625106.6/1.html,转载请声明来源钻瓜专利网。