[发明专利]指令模拟引擎的判别方法、装置、设备及介质在审
申请号: | 202011407107.X | 申请日: | 2020-12-04 |
公开(公告)号: | CN112559328A | 公开(公告)日: | 2021-03-26 |
发明(设计)人: | 李智 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/56 |
代理公司: | 北京市立方律师事务所 11330 | 代理人: | 张筱宁;张海秀 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 指令 模拟 引擎 判别 方法 装置 设备 介质 | ||
1.一种指令模拟引擎的判别方法,其特征在于,包括:
获取采用进阶精简指令集机器汇编语言编写的测试代码;
在运行所述测试代码过程中执行用于触发普林斯顿结构的缓存特性的指令修改操作,得到对应的触发结果;
其中,若所述触发结果为触发成功,则确定所述终端设备的运行环境为指令模拟引擎;
若所述触发结果为触发失败,则确定所述终端设备的运行环境为非指令模拟引擎。
2.根据权利要求1所述的方法,其特征在于,所述指令修改操作为修改所述测试代码文本中变量的操作;若所述触发结果为触发失败,则继续运行所述测试代码,直至满足预设的运行结束条件,得到用于表征所述运行环境为非指令模拟引擎的第一运行结果;
若所述触发结果为触发成功,则根据所述指令修改操作对所述测试代码文本中的变量进行修改,得到修改后的测试代码文本;运行所述修改后的测试代码文本,直至满足预设的运行结束条件,得到用于表征所述运行环境为指令模拟引擎的第二运行结果。
3.根据权利要求2所述的方法,其特征在于,所述测试代码文本包括循环语句,所述循环语句中包括第一循环变量,所述第一运行结果为所述第一循环变量的值,所述指令修改操作为将所述第一循环变量修改为第二循环变量的操作,所述第二运行结果为所述第二循环变量的值。
4.根据权利要求3所述的方法,其特征在于,所述第一循环变量为自增加变量,所述运行结束条件为所述第一循环变量的值等于第一设定值或所述第二循环变量的值等于第二设定值。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若确定所述终端设备的运行环境为指令模拟引擎,则对所述终端设备进行安全性鉴定,得到对应的安全性鉴定结果。
6.一种指令模拟引擎的判别装置,其特征在于,包括:
代码获取模块,用于获取采用进阶精简指令集机器汇编语言编写的测试代码;
代码运行模块,用于在运行所述测试代码过程中执行用于触发普林斯顿结构的缓存特性的指令修改操作,得到对应的触发结果;
结果判别模块,用于在所述触发结果为触发成功时,确定所述终端设备的运行环境为指令模拟引擎、以及在所述触发结果为触发失败,确定所述终端设备的运行环境为非指令模拟引擎。
7.根据权利要求6所述的装置,其特征在于,所述指令修改操作为修改所述测试代码文本中变量的操作;所述代码运行模块具体用于:
在所述触发结果为触发失败时,继续运行所述测试代码,直至满足预设的运行结束条件,得到用于表征所述运行环境为非指令模拟引擎的第一运行结果;
在所述触发结果为触发成功时,根据所述指令修改操作对所述测试代码文本中的变量进行修改,得到修改后的测试代码文本,以及运行所述修改后的测试代码文本,直至满足预设的运行结束条件,得到用于表征所述运行环境为指令模拟引擎的第二运行结果。
8.根据权利要求7所述的装置,其特征在于,所述测试代码文本包括循环语句,所述循环语句中包括第一循环变量,所述第一运行结果为所述第一循环变量的值,所述指令修改操作为将所述第一循环变量修改为第二循环变量的操作,所述第二运行结果为所述第二循环变量的值。
9.一种电子设备,其特征在于,包括:
处理器和存储器;
所述存储器,用于存储计算机操作指令;
所述处理器,用于通过调用所述计算机操作指令,执行权利要求1至5中任一项所述的方法。
10.一种计算机可读介质,其特征在于,所述可读介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现权利要求1至5中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011407107.X/1.html,转载请声明来源钻瓜专利网。