加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

调试 – 当ntdll.dll映射到新进程时如何进入WinDBG

发布时间:2020-12-14 04:37:10 所属栏目:Windows 来源:网络整理
导读:当ntdll.dll映射到新进程时,并且在任何ntdll的进程初始化运行之前,我想使用以下命令进入WinDBG. sxe ld ntdll.dll; g 但是,这个技巧根本不起作用, ModLoad: 7c900000 7c9b0000 ntdll.dlleax=010043af ebx=7ffde000 ecx=020f18f5 edx=00000034 esi=00c2f720 e
当ntdll.dll映射到新进程时,并且在任何ntdll的进程初始化运行之前,我想使用以下命令进入WinDBG.

sxe ld ntdll.dll; g

但是,这个技巧根本不起作用,

ModLoad: 7c900000 7c9b0000   ntdll.dll
eax=010043af ebx=7ffde000 ecx=020f18f5 edx=00000034 esi=00c2f720 edi=00c2f6f2
eip=7c810867 esp=0006fffc ebp=00000720 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000             efl=00000200
7c810867  ??              ???
Processing initial command 'sxe ld ntdll.dll ;g'
0:000> sxe ld ntdll.dll ;g
(ae8.6f4): Break instruction exception - code 80000003 (first chance)
eax=00181eb4 ebx=7ffde000 ecx=00000001 edx=00000002 esi=00181f48 edi=00181eb4
eip=7c901230 esp=0006fb20 ebp=0006fc94 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202
ntdll!DbgBreakPoint:
7c901230 cc              int     3

那么,当ntdll.dll映射到新进程时,如何进入WinDBG?
谢谢

[UPDATE]

我完全按照jcopenha提到的步骤,但我不知道为什么Windbg会在Notepad.exe运行时发出一个奇怪的错误(内存访问错误).

请帮我一把!非常感谢!

0:000> .restart /f
CommandLine: C:WINDOWSNOTEPAD.EXE
Symbol search path is: D:SymbolsSymbols;SRV*D:SymbolsMySymbols*http://msdl.microsoft.com/download/symbols
Executable search path is: 
ModLoad: 01000000 01014000   notepad.exe
eax=0100739d ebx=7ffd9000 ecx=020f18f5 edx=0000004e esi=00f7f73a edi=00f7f6f2
eip=7c810867 esp=0007fffc ebp=0000024c iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000             efl=00000200
7c810867 ??              ???
0:000> u 7c810867
7c810867 ??              ???
            ^ Memory access error in 'u 7c810867'

[UPDATE2]
我发现在7c810867显示了一条奇怪的指令,但是p命令仍然可以工作.

它是WinDBG中的一个错误吗?

解决方法

如果您转到Debug->事件过滤器并将“创建过程”更改为“已启用”,则重新启动它将在ntdll.dll出现在模块列表中之前启动的应用程序.如果你然后执行sxe ld ntdll.dll; g它将在ntdll中停止!RtlUserThreadStart.

0:000> .restart /f
CommandLine: C:WindowsSystem32notepad.exe
Symbol search path is: SRV*d:symbols*http://msdl.microsoft.com/download/symbols
Executable search path is: 
ModLoad: 00000000`ffe00000 00000000`ffe35000   notepad.exe
00000000`7790c500 4883ec48        sub     rsp,48h
0:000> sxe ld ntdll.dll;g
ModLoad: 00000000`778e0000 00000000`77a89000   ntdll.dll
ntdll!RtlUserThreadStart:
00000000`7790c500 4883ec48        sub     rsp,48h

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读