【技术实现步骤摘要】
一种通用CPU自解释指令执行的虚拟机实现方法
本专利技术属于软件安全领域,具体涉及一种通用CPU自解释指令执行的虚拟机实现方法。
技术介绍
在软件安全领域,代码保护效果最好的形式即为虚拟机代码保护。这种方案由于存在私有的指令编码和CPU解释器,所以可以很好的保护目标代码不被逆向工程。在Windows平台,由于只需要考虑x86/x64架构,因此实现自定义的虚拟机相对容易,典型的产品如VMProtect。而在移动平台比如iOS/Android,需要考虑x86/x64/arm/arm64/arm64e等一系列架构,因此需要设计一种相对通用的虚拟机实现方案。
技术实现思路
本专利技术所要解决的技术问题便是针对上述现有技术的不足,提供一种通用CPU自解释指令执行的虚拟机实现方法,能快速准确的实现CPU自解释指令执行的虚拟机化。本专利技术所采用的技术方案是:一种通用CPU自解释指令执行的虚拟机实现方法,包括以下步骤:步骤10、CPU指令集分类:将目标二进制代码分类为硬件指令和软件指令并分别进行编码,如目标二进制代码为硬件指令,进入步骤20,如目标二进制代码为软件指令,进入步骤30;步骤20、硬件指令处理:保持硬件指令类型不变,对其进行寄存器映射替换,然后将其用于CPU自解释执行,进入步骤40;步骤30、软件指令处理:将软件指令拆分成自定义的编码格式,在执行过程中利用软件代码模拟其对应的功能,进入步骤40;步骤40、虚拟机:调取当前CPU对等的寄存器上下文、步骤20中处理 ...
【技术保护点】
1.一种通用CPU自解释指令执行的虚拟机实现方法,其特征在于,包括以下步骤:/n步骤10、CPU指令集分类:将目标二进制代码分类为硬件指令和软件指令并分别进行编码,如目标二进制代码为硬件指令,进入步骤20,如目标二进制代码为软件指令,进入步骤30;/n步骤20、硬件指令处理:保持硬件指令类型不变,对其进行寄存器映射替换,然后将其用于CPU自解释执行,进入步骤40;/n步骤30、软件指令处理:将软件指令拆分成自定义的编码格式,在执行过程中利用软件代码模拟其对应的功能,进入步骤40;/n步骤40、虚拟机:调取当前CPU对等的寄存器上下文、步骤20中处理完成的硬件指令和步骤30中处理完成的软件指令并进行组合,得到所述的虚拟机。/n
【技术特征摘要】
1.一种通用CPU自解释指令执行的虚拟机实现方法,其特征在于,包括以下步骤:
步骤10、CPU指令集分类:将目标二进制代码分类为硬件指令和软件指令并分别进行编码,如目标二进制代码为硬件指令,进入步骤20,如目标二进制代码为软件指令,进入步骤30;
步骤20、硬件指令处理:保持硬件指令类型不变,对其进行寄存器映射替换,然后将其用于CPU自解释执行,进入步骤40;
步骤30、软件指令处理:将软件指令拆分成自定义的编码格式,在执行过程中利用软件代码模拟其对应的功能,进入步骤40;
步骤40、虚拟机:调取当前CPU对等的寄存器上下文、步骤20中处理完成的硬件指令和步骤30中处理完...
【专利技术属性】
技术研发人员:刘柏江,
申请(专利权)人:成都云铀子网络科技有限公司,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。