比如,我在 NtCreateFile 下断点,断下下来。怎么知道是哪个进程调用了这个 NtCreateFile ?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
要不你问问 ChatGPT 先?
---------------------------------------------- 分割线 ----------------------------------------------
在 Windbg 中获取当前进行系统调用的进程信息可以通过查看当前线程的上下文来实现。当你在 NtCreateFile 下断点时,可以使用 !process 命令来获取当前线程所属的进程信息。具体步骤如下:
在 Windbg 中下断点,例如:
bp ntdll!NtCreateFile
运行程序,等待程序触发断点。
当程序触发断点时,使用 ~ 命令查看当前所有线程的信息。
~*
找到当前线程的编号,例如 0n1234。
使用 !process 命令来查看当前线程所属的进程信息,例如:
!process 0 0 0 0n1234
其中,0n1234 是当前线程的编号。
在输出中查找 PROCESS 字段,即可确定当前线程所属的进程。
注意,如果当前线程正在执行系统调用,那么它的上下文中会包含有关系统调用的信息,例如系统调用的函数名和参数。你可以使用 k 命令查看当前线程的调用栈,以查找系统调用的来源。
lracker !process
有 chatGPT 资源吗