首页
社区
课程
招聘
[已解决] [求助]windbg调试win10内核单步无法正常进行 50.00雪花
发表于: 2023-3-25 12:40 5961

[已解决] [求助]windbg调试win10内核单步无法正常进行 50.00雪花

2023-3-25 12:40
5961

2: kd> t
nt!KiSystemCall64Shadow+0x3f:
fffff803576131bf 4883ec08 sub rsp,8 2: kd> t nt!KiSystemCall64Shadow+0x43: fffff803576131c3 55 push rbp
2: kd> t
nt!KiSystemCall64Shadow+0x37:
fffff803576131b7 4153 push r11 1: kd> t nt!KiSystemCall64Shadow+0x37: fffff803576131b7 4153 push r11
0: kd> t
nt!KiSystemCall64Shadow+0x39:
fffff803576131b9 6a33 push 33h 1: kd> t nt!KiSystemCall64Shadow+0x44: fffff803576131c4 4881ec58010000 sub rsp,158h
2: kd> t
nt!KiSystemCall64Shadow+0x39:
fffff803576131b9 6a33 push 33h 0: kd> t nt!KiSystemCall64Shadow+0x37: fffff803576131b7 4153 push r11
3: kd> t
nt!KiSystemCall64Shadow+0x4b:
fffff803`576131cb 488dac2480000000 lea rbp,[rsp+80h]

 

总是走几步自己就跳转回去了,内核和用户符号都加载了,虚拟机是win10.19044.1288,主机用win10和win11测试过可以正常调试xp但是win10单步就会混乱


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 1
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
因为线程切换,核心切换
2023-3-28 18:30
1
雪    币: 3601
活跃值: (1918)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
3
请问这个问题应该怎么解决呢?还是只能这样调试,我试过.process /i /p 没效果,翻了翻文档也没找到.
2023-3-29 15:29
0
雪    币: 60
活跃值: (170)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4

设置一下条件断点或者把cpu数量改成一个。
条件断点:  bp nt!KiSystemCall64Shadow+0x3f ".if (@$cpu == 1) {gc}"
把cpu == 1改成当前cpu编号 用!thread看一下,这时可以单步调试,你会发现过一会儿又会回到nt!KiSystemCall64Shadow+0x3f处, 此时再用!thread看一下,已经切换到其它的Win32Thread,运行在同一个processor。如果不开条件断点,由于SMP, 执行流程会在不同的processor跳来跳去,你用用!thread看一下就知道了,如
1: kd> !thread
THREAD ffffd20f0fbad080  Cid 0740.0874  Teb: 0000007904131000 Win32Thread: 0000000000000000 RUNNING on processor 1
2: kd> !thread
THREAD ffffd20f0fa35080  Cid 0740.086c  Teb: 000000790412d000 Win32Thread: 0000000000000000 RUNNING on processor 2

最后于 2023-3-29 21:10 被f0rever编辑 ,原因:
2023-3-29 21:03
1
游客
登录 | 注册 方可回帖
返回
//