好吧,基本上我写了一个汇编函数来检测运行时是否存在某个进程。我不太了解内联汇编的含义,即使我用asm包装器包装了汇编代码,它仍然将内部代码检测为C代码...基本上它是这样的:
__inline bool isProcLoaded()
{
_asm
{
mov ah, 0x48
int 0x68 ; After compiling it breaks on this line, the 'int' is highlighted
cmp ax ...
}
}
这是什么问题,我该如何解决?
最佳答案
这可能是因为int
是一个中断指令,由于大多数中断都具有特权(related),因此在当今的用户模式下该指令很少使用。
没有更多的细节,我无法告诉您您打算在这里实现什么,尽管从头开始搜索后看起来类似于一种用于检测SoftICE调试器的方法,并且该代码相当古老(DOS和Windows早期时代),所以似乎在现代操作系统上,您会收到0xC0000005
STATUS_ACCESS_VIOLATION
异常。