【技术实现步骤摘要】
本专利技术属于计算机软件开发,具体涉及一种基于控制流监控的动态生成代码的指令转换方法。
技术介绍
1、动态指令转换(dynamic instruction translation,dit)也被称为动态二进制翻译(dynamic binary translation,dbt),是一种在运行时将程序指令从一种指令集转换成当前物理处理器指令集的方法,主要用来解决在一种处理器上运行异构指令集程序的需求。
2、dit既要解决一个可执行文件静态代码的转换问题,也要解决程序动态生成的代码的转换问题。对于可执行文件静态代码,现有方法通常是在程序加载时完成转换以提高可执行文件执行效率,然而,对于程序动态生成的代码的转换,现有技术则是采用监视指令的跳转地址再进行相关判断操作的处理方式完成转换,具体为,如果跳转目标地址位于动态指令相关代码的内存页中且该动态指令未被转换则触发段错误,dit引擎监视到该异常后尝试以基本块为单位转换目标地址指向的指令区域,转换完成后恢复异常继续执行。
3、然而现有方法存在无法预先转换动态指令、仅能以基本块为
...【技术保护点】
1.一种基于控制流监控的动态生成代码的指令转换方法,其特征在于,具体包括以下步骤:
2.根据权利要求1所述的指令转换方法,其特征在于,所述对于页属性修改指令增加的指令断点执行对该目标内存页的代码转换的方式为:获取目标内存页所在寄存器,再从该寄存器获取目标内存页地址,最后根据目标内存页地址对该目标内存页执行代码转换。
3.根据权利要求1所述的指令转换方法,其特征在于,所述对于可执行页写指令增加的指令断点执行获取目标内存页地址的方式为:获取指令转换配置文件记录的目标内存页所在寄存器,再从该寄存器获取目标内存页地址。
4.根据权利要求1所
...【技术特征摘要】
1.一种基于控制流监控的动态生成代码的指令转换方法,其特征在于,具体包括以下步骤:
2.根据权利要求1所述的指令转换方法,其特征在于,所述对于页属性修改指令增加的指令断点执行对该目标内存页的代码转换的方式为:获取目标内存页所在寄存器,再从该寄存器获取目标内存页地址,最后根据目标内存页地址对该目标内存页执行代码转换。
3.根据权利要求1所述的指令转换方法,其特征在于,所述对于可执行页写指令增加的指令断点执行获取目标内存页地址的方式为:获取指令转换配置文件记录的目标内...
【专利技术属性】
技术研发人员:温研,
申请(专利权)人:北京麟卓信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。