一种指令分析方法、装置、计算设备及存储介质制造方法及图纸

技术编号:39327204 阅读:11 留言:0更新日期:2023-11-12 16:04
本发明专利技术涉及应用开发领域,特别涉及一种指令分析方法、装置、计算设备及存储介质,方法包括:设置搜索指针;根据搜索指针从待执行的指令流中依次获取指令并进行判断,直到完成所有待执行的指令的判断,包括:判断搜索指针中当前指令的指令类型;若当前指令为通用寄存器操作指令,则确定当前指令对寄存器的操作;若当前指令对寄存器的操作为写操作,则确定寄存器的状态为空闲状态;将寄存器的状态写入寄存器状态表;根据寄存器状态表中各寄存器的状态,在空闲状态的寄存器中存储指令分析代码。本发明专利技术通过搜索指针读取指令,确定各寄存器的使用情况,以便在空闲寄存器中存储指令分析代码对指令执行过程进行分析。指令执行过程进行分析。指令执行过程进行分析。

【技术实现步骤摘要】
一种指令分析方法、装置、计算设备及存储介质


[0001]本专利技术涉及应用开发领域,特别涉及一种指令分析方法、装置、计算设备及存储介质。

技术介绍

[0002]随着计算机技术的发展,逐渐衍生形成了多种不同的指令集架构。每一种处理器采用的指令集各不相同,各有其应用特点和应用领域。
[0003]通过不同的工具链,上层应用在跨指令集架构上实现了兼容性。但是在二进制代码层面,各架构的应用程序在安全性、有效性、执行效率等关键问题上表现各不同、处理方式不同。因此需要从二进制层面分析,才能找到问题的根源,并从二进制层面入手解决这些问题。其中一项重要的分析角度是分析二进制指令中寄存器的使用情况,从而为继续分析各架构应用提供分析数据。现有技术中对解析寄存器使用情况没有较好的技术手段。
[0004]为此,需要一种新的指令分析方法和装置。

技术实现思路

[0005]为此,本专利技术提供一种指令分析方法,以力图解决或者至少缓解上面存在的问题。
[0006]根据本专利技术的第一方面,提供一种指令分析方法,适于在计算设备中运行,方法包括:设置搜索指针;根据搜索指针从待执行的指令流中依次获取指令并进行判断,直到完成所有待执行的指令的判断,包括:判断搜索指针中当前指令的指令类型;若当前指令为通用寄存器操作指令,则确定当前指令对寄存器的操作;若当前指令对寄存器的操作为写操作,则确定寄存器的状态为空闲状态;将寄存器的状态写入寄存器状态表;根据寄存器状态表中各寄存器的状态,在空闲状态的寄存器中存储指令分析代码,以便执行指令分析代码对指令执行过程进行分析。
[0007]可选的,在根据本专利技术的方法中,还包括:若当前指令对寄存器的操作为读操作,则确定寄存器的状态为占用状态。
[0008]可选的,在根据本专利技术的方法中,还包括:若当前指令为通用寄存器操作指令,判断寄存器状态表中是否存在通用寄存器操作指令所操作寄存器状态的记录;若存在,则从待执行的指令流中依次获取下一条指令,并进行下一条指令的判断。
[0009]可选的,在根据本专利技术的方法中,还包括:若当前指令不是通用寄存器指令,则判断当前指令是否为跳转指令或返回指令;若当前指令为返回指令,则结束指令搜索。
[0010]可选的,在根据本专利技术的方法中,还包括:若当前指令为跳转指令,则判断跳转指令是否为立即数跳转指令;若跳转指令为立即数跳转指令,则确定该立即数跳转指令的目标地址;设置搜索指针指向目标地址,对目标地址的指令进行判断。
[0011]可选的,在根据本专利技术的方法中,还包括:若跳转指令不是立即数跳转指令,则判断是否能够根据该条跳转指令计算出所要跳转的目标地址;若能够计算出所要跳转的目标地址,则对目标地址的指令进行判断。
[0012]可选的,在根据本专利技术的方法中,还包括:若不能计算出所要跳转的目标地址,则从待执行的指令流中依次获取下一条指令,并进行下一条指令的判断。
[0013]可选的,在根据本专利技术的方法中,还包括:若当前指令不是跳转指令或返回指令,则从待执行的指令流中依次获取下一条指令,并进行下一条指令的判断。
[0014]根据本专利技术的第二方面,提供了一种指令分析装置,适于驻留在计算设备中,装置包括:指针模块适于设置搜索指针;判断模块适于根据搜索指针从待执行的指令流中依次获取指令并进行判断,直到完成所有待执行的指令的判断,包括:判断搜索指针中当前指令的指令类型;若当前指令为通用寄存器操作指令,则确定当前指令对寄存器的操作;若为写操作,则确定寄存器的状态为空闲状态;存储模块,适于将寄存器的状态写入寄存器状态表;分析模块,适于根据寄存器状态表中各寄存器的状态,在空闲状态的寄存器中存储指令分析代码,以便执行指令分析代码对指令执行过程进行分析。
[0015]根据本专利技术的第三方面,提供了一种寄存器状态确定方法,适于在计算设备中执行,方法包括:设置搜索指针;根据搜索指针从待执行的指令流中依次获取指令并进行判断,直到完成所有待执行的指令的判断;判断搜索指针中当前指令的指令类型;若当前指令为通用寄存器操作指令,则确定当前指令对寄存器的操作;若当前指令对寄存器的操作为写操作,则确定寄存器的状态为空闲状态;若当前指令对寄存器的操作为读操作,则确定寄存器的状态为占用状态。
[0016]根据本专利技术的第四方面,提供了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中,一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本专利技术的指令分析方法的指令。
[0017]根据本专利技术的第五方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,该指令当由计算设备执行时,使得计算设备执行根据本专利技术的指令分析方法。
[0018]本专利技术中的指令分析方法,适于在计算设备中执行,方法包括:设置搜索指针;根据搜索指针从待执行的指令流中依次获取指令并进行判断,直到完成所有待执行的指令的判断,包括:判断搜索指针中当前指令的指令类型;若当前指令为通用寄存器操作指令,则确定当前指令对寄存器的操作;若为写操作,则确定寄存器的状态为空闲状态;将寄存器的状态写入寄存器状态表;根据寄存器状态表中各寄存器的状态,在空闲状态的寄存器中存储指令分析代码,以便执行指令分析代码对指令执行过程进行分析。本专利技术能够通过对搜索指针读取指令,并根据指令确定所要操作的寄存器状态,从而确定在程序运行过程中各寄存器的使用情况,以便在空闲寄存器中存储指令分析代码对指令执行过程进行分析。
附图说明
[0019]为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本专利技术公开的上述以及其他目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0020]图1示出了根据本专利技术一个示范性实施例的指令分析方法100的示意图;
图2示出了根据本专利技术一个示范性实施例的计算设备200的结构框图;图3示出了根据本专利技术一个示范性实施例的指令分析装置300的示意图;图4示出了根据本专利技术一个示范性实施例的搜索和判断指令的示意图;图5示出了根据本专利技术一个示范性实施例的寄存器状态确定方法500的示意图。
具体实施方式
[0021]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。相同的附图标记通常指代相同的部件或元素。
[0022]图1示出了根据本专利技术一个示范性实施例的指令分析方法100的示意图。本专利技术的指令分析方法100适于在计算设备中执行。
[0023]图2示出了根据本专利技术一个示范性实施例的计算设备200本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种指令分析方法,适于在计算设备中运行,其特征在于,所述方法包括:设置搜索指针;根据所述搜索指针从待执行的指令流中依次获取指令并进行判断,直到完成所有待执行的指令的判断,包括:判断搜索指针中当前指令的指令类型;若当前指令为通用寄存器操作指令,则确定当前指令对寄存器的操作;若当前指令对寄存器的操作为写操作,则确定所述寄存器的状态为空闲状态;将所述寄存器的状态写入寄存器状态表;根据所述寄存器状态表中各寄存器的状态,在空闲状态的寄存器中存储指令分析代码,以便执行指令分析代码对指令执行过程进行分析。2.如权利要求1所述的方法,其特征在于,所述方法还包括:若当前指令对寄存器的操作为读操作,则确定所述寄存器的状态为占用状态。3.如权利要求2所述的方法,其特征在于,所述方法还包括:若当前指令为通用寄存器操作指令,判断寄存器状态表中是否存在通用寄存器操作指令所操作寄存器的状态的记录;若存在,则从待执行的指令流中依次获取下一条指令,并进行下一条指令的判断。4.如权利要求1所述的方法,其特征在于,所述方法还包括:若当前指令不是通用寄存器指令,则判断当前指令是否为跳转指令或返回指令;若当前指令为返回指令,则结束指令搜索。5.如权利要求4所述的方法,其特征在于,所述方法还包括:若当前指令为跳转指令,则判断跳转指令是否为立即数跳转指令;若跳转指令为立即数跳转指令,则确定该立即数跳转指令的目标地址;设置搜索指针指向目标地址,并对目标地址的指令进行判断。6.如权利要求5所述的方法,其特征在于,所述方法还包括:若跳转指令不是立即数跳转指令,则判断是否能够根据该条跳转指令计算出所要跳转的目标地...

【专利技术属性】
技术研发人员:钟俊
申请(专利权)人:武汉深之度科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1