【发布时间】:2019-03-27 08:27:46
【问题描述】:
当我研究一个可执行文件时,我找到了下面的代码:
MOV EAX,11B9
MOV EDX,7FFE0300
CALL DWORD PTR DS:[EDX]
RETN 10
这用于要求系统调用。到这里为止,没有问题。
我在Windows OS的整个系统调用代码中搜索,但在第一行“MOV EAX,11B9”的指令中没有一个等于11B9。
大家可以指导一下,这里到底是什么意思?
【问题讨论】:
-
ret 10真的很奇怪;这不是 4 的倍数。这个函数是用一些 16 位推送指令调用的吗?哦,我猜你所有的数字都是十六进制的,但你漏掉了0x前缀或h后缀。 -
我从 Olly 调试器复制了整个代码。是的,数字是十六进制的,但我关心的不是指令 ret 10!我对 11B9 系统调用值感到困惑。
标签: windows assembly x86 system-calls