Assembly 查找特权和敏感指令

Assembly 查找特权和敏感指令,assembly,x86,arm,Assembly,X86,Arm,在给定的isa(比方说x86或arm)中,有没有办法确定特定指令是特权指令还是敏感指令?/ 我们可以查看文档并得出结论,但通过使用汇编指令,这是否可以解决这个问题? 编辑:此外,所有isa的文档都没有指定指令是否像arm一样敏感(尽管x86明确指定了这一点)。所以应该有办法解决这个问题。钩住PrivilegeException向量(或等效向量)以指向报告故障的处理程序。执行指令。如果您没有看到异常,它就没有特权。大多数汇编语言不包含任何元编程功能。如果您知道您运行的是未经授权的,则可以执行该指


在给定的isa(比方说x86或arm)中,有没有办法确定特定指令是特权指令还是敏感指令?/
我们可以查看文档并得出结论,但通过使用汇编指令,这是否可以解决这个问题?

编辑:此外,所有isa的文档都没有指定指令是否像arm一样敏感(尽管x86明确指定了这一点)。所以应该有办法解决这个问题。

钩住PrivilegeException向量(或等效向量)以指向报告故障的处理程序。执行指令。如果您没有看到异常,它就没有特权。

大多数汇编语言不包含任何元编程功能。如果您知道您运行的是未经授权的,则可以执行该指令并获得违规通知,但如何执行将取决于操作系统/环境。敏感指令如何,它可以更改特权数据结构,而无需通知或保护错误?我不确定特权数据结构(例如,中断向量表)必须可以从用户模式访问-也就是说,CPU必须处于监控模式(或等效模式)为了能够修改它。然而,指令不一定是“正常”指令以外的任何指令,只是它们以更高的权限级别执行。因此,我认为没有一种简单的方法可以检测特定指令本身是敏感的,因为它的敏感度取决于执行上下文。。。