扩充指令的模拟方法和装置与流程

文档序号:11864471阅读:来源:国知局

技术特征:

1.一种扩充指令的模拟方法,其特征在于,包括:

根据二进制可执行程序中的用户态软中断指令,确定与扩充指令对应的指令模拟程序的内存位置,其中,所述用户态软中断指令与二进制可执行程序中的扩充指令对应;

根据所述内存位置,调用并执行与扩充指令对应的指令模拟程序。

2.根据权利要求1所述的方法,其特征在于,在所述根据二进制可执行程序中的用户态软中断指令,确定与扩充指令对应的指令模拟程序的内存位置之前,还包括:

接收替换指令,所述替换指令中包括各扩充指令以及与各扩充指令一一对应的用户态软中断指令;

根据替换指令,将各扩充指令分别替换为与各扩充指令一一对应的用户态软中断指令。

3.根据权利要求1所述的方法,其特征在于,所述用户态软中断指令中还包括:第一寄存器标识;

在所述根据所述内存位置,调用并执行与扩充指令对应的指令模拟程序之前,还包括:

根据所述用户态软中断指令,将所述用户态软中断指令的程序计数器PC值存储至与所述第一寄存器标识对应的寄存器中;

相应的,在所述根据所述内存位置,调用并执行与扩充指令对应的指令模拟程序之后,还包括:

根据所述用户态软中断指令的PC值,确定并模拟执行所述二进制可执行程序中与用户态软中断指令的PC值对应的指令。

4.根据权利要求1所述的方法,其特征在于,在所述根据二进制可执行程序中的用户态软中断指令,确定与扩充指令对应的指令模拟程序的内存位置之前,还包括:

接收第一存储指令,所述第一存储指令包括第二寄存器标识;

根据所述第一存储指令,将具有与各扩充指令对应的指令模拟程序的指令集模拟器存储至内存中,并确定指令集模拟器在内存中的内存位置之后,将所述内存位置存储至与所述第二寄存器标识对应的寄存器中。

5.根据权利要求1-4任一项所述的方法,其特征在于,在所述根据二进制可执行程序中的用户态软中断指令,确定与扩充指令对应的指令模拟程序的内存位置之前,还包括:

接收第二存储指令,所述第二存储指令包括第三寄存器标识;

根据所述第二存储指令,将各扩充指令的各指令信息,分别存储至与所述第三寄存器标识对应的寄存器中。

6.根据权利要求5所述的方法,其特征在于,在所述根据所述内存位置,调用并执行与扩充指令对应的指令模拟程序之后,还包括:

接收清除指令,所述清除指令包括所述第三寄存器标识;

根据所述清除指令,清除与所述第三寄存器标识对应的寄存器中的各指令信息。

7.一种扩充指令的模拟装置,其特征在于,包括:

确定模块,用于根据二进制可执行程序中的用户态软中断指令,确定与扩充指令对应的指令模拟程序的内存位置,其中,所述用户态软中断指令与二进制可执行程序中的扩充指令对应;

执行模块,用于根据所述内存位置,调用并执行与扩充指令对应的指令模拟程序。

8.根据权利要求7所述的装置,其特征在于,还包括:

替换模块,用于在所述确定模块根据二进制可执行程序中的用户态软中断指令,确定与扩充指令对应的指令模拟程序的内存位置之前,接收替换指令,所述替换指令中包括各扩充指令以及与各扩充指令一一对应的用户态软中断指令;根据替换指令,将各扩充指令分别替换为与各扩充指令一一对应的用户态软中断指令。

9.根据权利要求7所述的装置,其特征在于,所述用户态软中断指令中还包括:第一寄存器标识;

所述扩充指令的模拟装置,还包括:

第一存储模块,用于在所述执行模块根据所述内存位置,调用并执行与扩充指令对应的指令模拟程序之前,根据所述用户态软中断指令,将所述用户态软中断指令的PC值存储至与所述第一寄存器标识对应的寄存器中;

跳转模块,用于在所述执行模块根据所述内存位置,调用并执行与扩充指令对应的指令模拟程序之后,根据所述用户态软中断指令的PC值,确定并模拟执行所述二进制可执行程序中与用户态软中断指令的PC值对应的指令。

10.根据权利要求7所述的装置,其特征在于,还包括:

第二存储模块,用于在所述确定模块根据二进制可执行程序中的用户态软中断指令,确定与扩充指令对应的指令模拟程序的内存位置之前,接收第一存储指令,所述第一存储指令包括第二寄存器标识;根据所述第一存储指令,将具有与各扩充指令对应的指令模拟程序的指令集模拟器存储至内存中,并确定指令集模拟器在内存中的内存位置之后,将所述内存位置存储至与所述第二寄存器标识对应的寄存器中。

11.根据权利要求7-10任一项所述的装置,其特征在于,还包括:

第三存储模块,用于在所述确定模块根据二进制可执行程序中的用户态软中断指令,确定与扩充指令对应的指令模拟程序的内存位置之前,接收第二存储指令,所述第二存储指令包括第三寄存器标识;根据所述第二存储指令,将各扩充指令的各指令信息,分别存储至与所述第三寄存器标识对应的寄存器中;

清除模块,用于在所述执行模块根据所述内存位置,调用并执行与扩充指令对应的指令模拟程序之后,接收清除指令,所述清除指令包括所述第三寄存器标识;根据所述清除指令,清除与所述第三寄存器标识对应的寄存器中的各指令信息。

12.一种扩充指令的模拟装置,其特征在于,包括:

测试子装置,第一寄存器和第二寄存器,其中,测试子装置分别与所述第一寄存器和所述第二寄存器连接;

所述测试子装置包括:指令集模拟器和处理器;

所述指令集模拟器,用于将二进制可执行程序中的扩充指令替换为用户态软中断指令;

所述处理器,用于在根据二进制可执行程序的执行次序,执行至所述用户态软中断指令时,根据第一寄存器中存储的指令集模拟器的内存位置,确定所述指令集模拟器,其中,所述指令集模拟器包括与各扩充指令对应的指令模拟程序;

所述指令集模拟器,还用于在确定所述指令集模拟器之后,调取并执行与扩充指令对应的指令模拟程序。

13.根据权利要求12所述的装置,其特征在于,所述指令集模拟器,还用于:

在所述指令集模拟器调取并执行与扩充指令对应的指令模拟程序之后,根据第二寄存器中存储的用户态软中断指令的PC值,确定并模拟执行所述二进制可执行程序中与用户态软中断指令的PC值对应的指令。

14.根据权利要求13所述的装置,其特征在于,所述处理器,还用于:

在所述处理器根据第一寄存器中存储的指令集模拟器的内存位置,确定所述指令集模拟器之前,确定所述用户态软中断指令的PC值,将所述用户态软中断指令的PC值存储至所述第二寄存器中。

15.根据权利要求12所述的装置,其特征在于,所述处理器,还用于:

在所述指令集模拟器将二进制可执行程序中的扩充指令替换为用户态软中断指令之前,将所述指令集模拟器存储至内存中,获取所述指令集模拟器在内存中的内存位置,将所述内存位置存储至所述第一寄存器中。

16.根据权利要求14-15任一项所述的装置,其特征在于,所述处理器,还用于:

在所述指令集模拟器将二进制可执行程序中的扩充指令替换为用户态软中断指令之前,将扩充指令的各指令信息,分别存储至与第一寄存器、第二寄存器不同的寄存器中。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1