Windbg 我对反汇编代码做了什么错误

Windbg 我对反汇编代码做了什么错误,windbg,sos,Windbg,Sos,我正在尝试Naveen博客上提供的代码示例。 当他运行时!u($ip)命令,他得到了一个很好的反汇编,但当我尝试运行相同的东西时,我似乎遇到了一些无法反汇编的非托管代码 0:000> !u ($ip) Unmanaged code 77555e74 c3 ret 77555e75 8da42400000000 lea esp,[esp] 77555e7c 8d642400 lea esp,[esp] 77555

我正在尝试Naveen博客上提供的代码示例。
当他运行
时!u($ip)
命令,他得到了一个很好的反汇编,但当我尝试运行相同的东西时,我似乎遇到了一些无法反汇编的非托管代码

0:000> !u ($ip)   
Unmanaged code  
77555e74 c3              ret  
77555e75 8da42400000000  lea     esp,[esp]  
77555e7c 8d642400        lea     esp,[esp]  
77555e80 8d542408        lea     edx,[esp+8]  
77555e84 cd2e            int     2Eh  
77555e86 c3              ret  
77555e87 90              nop  
77555e88 55              push    ebp  
77555e89 8bec            mov     ebp,esp  
77555e8b 8da42430fdffff  lea     esp,[esp-2D0h]  
知道我做错了什么吗?

试试: .台词 l+s


在命令窗口中。还要确保您的符号已加载。您可以使用lm命令来显示加载的模块。

您的列表是完全有效的本机代码反汇编。“int 2Eh”部分告诉我执行系统调用的是代码:

这意味着代码很可能在ntdll.dll中,这是其作业所在的系统库。指令指针指向“ret”。我猜前面的指令是一个“sysenter”,实际发生的是应用程序刚刚退出(它通过进行系统调用来完成)。当应用程序退出时,调试器会像遇到断点一样获得控制

请仔细看看为什么在应用程序退出之前断点没有命中