[发明专利]一种程序指令的执行方法及装置有效
申请号: | 202110728572.1 | 申请日: | 2021-06-29 |
公开(公告)号: | CN113312088B | 公开(公告)日: | 2022-05-17 |
发明(设计)人: | 庹凌云;王文东;沈英哲;陈远建;吕彦辉 | 申请(专利权)人: | 北京熵核科技有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/455 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 陈霁 |
地址: | 100192 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 指令 执行 方法 装置 | ||
1.一种程序指令的执行方法,包括:
在编译第一程序时,
针对第一程序中的若干预定函数,记录各预定函数的起始地址和结束地址,以及各预定函数中的所有地址跳转指令的目标地址;所述预定函数中包括第一函数和第二函数;
在执行第一程序时,
当在第一函数中执行第一地址跳转指令时,确定所述第一地址跳转指令的目标地址,是否处在已记录的第一函数的起始地址至结束地址之间、且处于已记录的第一函数的所有地址跳转指令的目标地址之中;
若结果为否,则中止执行第一地址跳转指令;
当在第一函数中执行第一函数调用指令时,确定第一函数调用指令的目标地址,是否为已记录的第一函数调用指令访问的第二函数的起始地址;
若结果为否,则中止执行第一函数调用指令。
2.根据权利要求1的方法,其中,
所述针对第一程序中的若干预定函数,记录各预定函数的起始地址和结束地址,以及各预定函数中的所有地址跳转指令的目标地址,包括:
针对第一程序中的若干预定函数建立各自对应的跳转表,在所述跳转表中记录其对应的函数的起始地址和结束地址,以及该函数中所有地址跳转指令的目标地址。
3.根据权利要求2的方法,其中:
所述当在第一函数中执行第一地址跳转指令时,确定所述第一地址跳转指令的目标地址,是否处在已记录的第一函数的起始地址至结束地址之间、且处于已记录的第一函数的所有地址跳转指令的目标地址之中,包括:
当在第一函数中执行第一地址跳转指令时,确定所述第一地址跳转指令的目标地址,是否处在第一函数对应的跳转表中记录的,第一函数的起始地址至结束地址之间、以及所有地址跳转指令的目标地址之中;
所述当在第一函数中执行第一函数调用指令时,确定第一函数调用指令的目标地址,是否为已记录的第一函数调用指令访问的第二函数的起始地址,包括:
当在第一函数中执行第一函数调用指令时,确定所述第一函数调用指令的目标地址,是否为第一函数调用指令访问的第二函数对应的跳转表中记录的第二函数的起始地址。
4.根据权利要求3的方法,还包括,
在跳转表中记录其对应的预定函数中的所有地址跳转指令的目标地址时,在所述跳转表中建立所述目标地址的索引,以及将所述跳转指令指向的对象由目标地址替换为该目标地址的索引;
所述确定所述第一地址跳转指令的目标地址,是否处在第一函数对应的跳转表中记录的,所有地址跳转指令的目标地址之中,包括:
确定第一地址跳转指令指向的所述索引,是否在第一函数对应的跳转表中包括的索引的范围内。
5.根据权利要求1的方法,其中,第一地址跳转指令为Jump指令,第一函数调用指令为call指令。
6.根据权利要求1的方法,其中,所述程序指令为字节码指令,通过虚拟机执行。
7.根据权利要求6的方法,其中,所述虚拟机为Java虚拟机。
8.根据权利要求1的方法,其中,所述程序指令为微处理器指令,通过微处理器执行。
9.一种程序指令的执行装置,包括:
预处理单元,配置为,在编译第一程序时,针对第一程序中的若干预定函数,记录各预定函数的起始地址和结束地址,以及各预定函数中的所有地址跳转指令的目标地址;所述预定函数中包括第一函数和第二函数;
第一指令判断单元,配置为,在执行第一程序时,当在第一函数中执行第一地址跳转指令时,确定所述第一地址跳转指令的目标地址,是否处在已记录的第一函数的起始地址至结束地址之间、且处于已记录的第一函数的所有地址跳转指令的目标地址之中;
第一指令终止单元,配置为,若结果为否,则中止执行第一地址跳转指令;
第二指令判断单元,配置为,当在第一函数中执行第一函数调用指令时,确定第一函数调用指令的目标地址,是否为已记录的第一函数调用指令访问的第二函数的起始地址;
第二指令终止单元,配置为,若结果为否,则中止执行第一函数调用指令。
10.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-8中任一项的所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京熵核科技有限公司,未经北京熵核科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110728572.1/1.html,转载请声明来源钻瓜专利网。