Windbg 我对反汇编代码做了什么错误
我正在尝试Naveen博客上提供的代码示例。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
当他运行
时!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”,实际发生的是应用程序刚刚退出(它通过进行系统调用来完成)。当应用程序退出时,调试器会像遇到断点一样获得控制 请仔细看看为什么在应用程序退出之前断点没有命中