[发明专利]应用防破解方法和装置在审
| 申请号: | 201510728491.6 | 申请日: | 2015-10-30 |
| 公开(公告)号: | CN105279399A | 公开(公告)日: | 2016-01-27 |
| 发明(设计)人: | 王桂明;包沉浮 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
| 主分类号: | G06F21/12 | 分类号: | G06F21/12 |
| 代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
| 地址: | 100085 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 应用 破解 方法 装置 | ||
1.一种应用防破解方法,其特征在于,所述方法包括:
获取所述应用对应的被第一虚拟机解析的第一虚拟机指令,所述第一虚拟机指令基于对所述应用的源代码进行编译生成,所述第一虚拟机为解析所述第一虚拟机指令以生成机器指令的虚拟机;
选取所述第一虚拟机指令中部分第一虚拟机指令,以及将所述部分第一虚拟机指令转换为被第二虚拟机解析的第二虚拟机指令,所述第二虚拟机为解析所述第二虚拟机指令生成机器指令的虚拟机;
基于第一虚拟机指令中未被转换的第一虚拟机指令与第二虚拟机指令,生成所述应用对应的可执行文件,以使得所述可执行文件被执行时,由所述第一虚拟机、第二虚拟机分别执行所述未被转换的第一虚拟机指令、第二虚拟机指令。
2.根据权利要求1所述的方法,其特征在于,所述第一虚拟机、第二虚拟机均为Java虚拟机,所述第一虚拟机指令为Java字节码。
3.根据权利要求1-2之一所述的方法,其特征在于,所述方法还包括:在所述基于第一虚拟机指令中未被转换的第一虚拟机指令与第二虚拟机指令,生成所述应用对应的可执行文件之后,将所述可执行文件与第二虚拟机的源代码进行打包,生成所述应用对应的安装包文件。
4.根据权利要求3所述的方法,其特征在于,所述将所述部分第一虚拟机指令转换为被第二虚拟机解析的第二虚拟机指令包括:
基于第一虚拟机指令与第二虚拟机指令的对应关系表,将所述部分第一虚拟机指令转换为所述第二虚拟机指令。
5.根据权利要求3所述的方法,其特征在于,所述将所述部分第一虚拟机指令转换为被第二虚拟机解析的第二虚拟机指令包括:
提取所述部分第一虚拟机指令中的操作码与操作数;
以第二虚拟机指令对应的预设指令格式对所述操作码与操作数进行编码,生成所述第二虚拟机指令。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
设置所述操作码与操作数在所述第二虚拟机指令中对应的字段的长度,基于所述字段的长度,调整所述预设指令格式。
7.一种应用防破解装置,其特征在于,所述装置包括:
获取单元,配置用于获取所述应用对应的被第一虚拟机解析的第一虚拟机指令,所述第一虚拟机指令基于对所述应用的源代码进行编译生成,所述第一虚拟机为解析所述第一虚拟机指令以生成机器指令的虚拟机;
处理单元,配置用于选取所述第一虚拟机指令中部分第一虚拟机指令,以及将所述部分第一虚拟机指令转换为被第二虚拟机解析的第二虚拟机指令,所述第二虚拟机为解析所述第二虚拟机指令生成机器指令的虚拟机;
生成单元,配置用于基于第一虚拟机指令中未被转换的第一虚拟机指令与第二虚拟机指令,生成所述应用对应的可执行文件,以使得所述可执行文件被执行时,由所述第一虚拟机、第二虚拟机分别执行所述未被转换的第一虚拟机指令、第二虚拟机指令。
8.根据权利要求7所述的装置,其特征在于,所述第一虚拟机、第二虚拟机均为Java虚拟机,所述第一虚拟机指令为Java字节码。
9.根据权利要求7-8之一所述的装置,其特征在于,所述装置还包括:
安装包生成单元,配置用于在所述基于第一虚拟机指令中未被转换的第一虚拟机指令与第二虚拟机指令,生成所述应用对应的可执行文件之后,将所述可执行文件与第二虚拟机的源代码进行打包,生成所述应用对应的安装包文件。
10.根据权利要求9所述的装置,其特征在于,所述处理单元包括:
第一转换子单元,配置用于基于第一虚拟机指令与第二虚拟机指令的对应关系表,将所述部分第一虚拟机指令转换为所述第二虚拟机指令。
11.根据权利要求9所述的装置,其特征在于,所述处理单元包括:
提取子单元,配置用于提取所述部分第一虚拟机指令中的操作码与操作数;
第二转换子单元,配置用于以第二虚拟机指令对应的预设指令格式对所述操作码与操作数进行编码,生成所述第二虚拟机指令。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
调整单元,配置用于设置所述操作码与操作数在所述第二虚拟机指令中对应的字段的长度,基于所述字段的长度,调整所述预设指令格式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510728491.6/1.html,转载请声明来源钻瓜专利网。





