有谁知道我可以检测到正在执行哪些CPU指令?
我对检测由最近的Intel和AMD CPU实现的AES指令特别感兴趣。是否有可能编写一个检测这些指令的内核模块?还是内核甚至不知道发送给CPU的特定CPU指令?
大多数时候,CPU在不涉及内核的情况下执行进程的指令。仅当用户级进程导致陷阱时,内核才需要介入,方法是尝试执行无效的指令(此处因各种原因而无效)或调用软件中断。AES指令直接执行,内核不知道它们正在执行。
我不认为您可以使用任何相关的性能计数器。AES指令具有一种异常的执行模式,这种模式在统计学上可能是可识别的,但是我从未尝试过...而且这通常也不适用。
您可以尝试使用适当配置的仿真器(例如Bochs),或者分析二进制文件以确定它们使用的指令-Debian:x86-64二进制文件使用哪些指令?有关后者的更多信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句