获取已终止进程的退出代码

Jon*_*han 5 windbg

我正在调试WinDbg中的进程,并退出该进程:

0:009> g
(bunch of regs...)
ntdll!NtTerminateProcess+0xc:
770ad43c c20800          ret     8
0:009> g
       ^ No runnable debuggees error in 'g'
Run Code Online (Sandbox Code Playgroud)

此时,如何获取进程的退出代码?

Tho*_*ler 5

你可以找到它作为ZwTerminateProcess的第二个参数.NtTerminateProcess只是它的内核版本,对吗?

0:000> kb
ChildEBP RetAddr  Args to Child              
003ff414 7774d5ac ffffffff 1234abcd 00000000 ntdll!ZwTerminateProcess+0x12
003ff430 759c79ec 00000000 77e8f3b0 ffffffff ntdll!RtlExitUserProcess+0x85
...
Run Code Online (Sandbox Code Playgroud)

或者是RtlExitUserProcess的第四个参数

0:000> kn
 # ChildEBP RetAddr  
00 003ff414 7774d5ac ntdll!ZwTerminateProcess+0x12
01 003ff430 759c79ec ntdll!RtlExitUserProcess+0x85
...

0:000> .frame 01
01 003ff430 759c79ec ntdll!RtlExitUserProcess+0x85

0:000> dd esp L4
003ff414  7771fcc2 7774d5ac ffffffff 1234abcd
Run Code Online (Sandbox Code Playgroud)