3

我正在尝试做一些反转来找出幕后的函数调用。

在使用 windbg 进行调试时,我遇到了一个电话,

mov     edx,offset SharedUserData!SystemCallStub
call    dword ptr [edx]

调用导致下面的代码,

ntdll!KiFastSystemCall:

8bd4        mov     edx,esp
0f34        sysenter

根据文档,eax 包含系统调用序号。 eax中的值为11CC。

我试图弄清楚,这个将被调用的函数实际上是什么。有谁知道我该如何进一步进行?

4

2 回答 2

4

基本上,您需要一种转储 SSDT 的方法——在 x32 上,这可以轻松完成。可能最简单的方法是寻找一个实用程序,该实用程序将沿着必要的索引转储 SSDT,您将看到与该特定索引相对应的内容。基本上,eax 会将索引存储在函数表中,因此系统调度程序会在某些时候执行 call FunctionTable[eax]调用表的最新列表可以在这里找到

于 2012-01-27T10:44:56.860 回答
2

0x1xxx 范围用于 Win32k 系统调用。请参阅此处获取列表。

于 2012-01-27T14:04:50.123 回答