约有 66 项符合查询结果, 以下是第 5 - 7项。
费时 < 1 秒。
张老师,在分析的过程中碰到一些问题。
0: kd> .thread
Implicit thread is now 8dc8e6b8
0: kd> .process
Implicit process is now 8a0d6030
0: kd> !thread 8dc8e6b8
THREAD 8dc8e6b8 Cid 12d8.06b4 Teb: 7ffd3000 Win32Thread: 00000000 RUNNING on processor 0
Not impersonating
DeviceMap 8f608840
Owning Process 8a0d6030 ...
Posted in Windows内核调试
by
wrong
on 2011-03-28
现在有点明白了,原来一直担心跳到KiTrap03后,异常分发,如果没有调试器,因为是内核中未处理的异常,系统会蓝屏。
Posted in Windows内核调试
by
wrong
on 2011-03-24
张老师,代码看了,比较复杂。
当int 3指令出现在代码中,CPU执行这条指令后,会跳转到KiTrap03,然后进入异常分发,异常处理后会中断返回。int 2d重用KiTrap03是否是重用的异常分发之后的步骤?
Posted in Windows内核调试
by
wrong
on 2011-03-24
我晕了,看得越多越胡涂,仔细想了想,我的理解是这样,如果这个int 3是在调试器中设置的,调试器收到异常并且恢复执行后,会将这个int 3恢复成原来的指令并且从这个指令处开始执行。
如果这个int 3本身是程序里面的,调试器捕捉到后直接恢复执行就会直接跳过这条指令。不知道这样的理解对不对?这些动作是调试器完成的嘛?
但是,如果调试器不存在,int 2d重用KiTrap03进入了异常分发KiDispatchException,并且没有异常处理,程序不会Crash嘛?
Posted in Windows内核调试
by
wrong
on 2011-03-22
周末,电脑启动后就无法操作了,CPU 为100%,本以为等会就好,不过等了大概半个小时,还是这样子,于是强制crash,不过虽然有了dump,却不知从何处下手,张老师能帮忙分析下嘛?或者说下大概的思路。
附件是mini dump,扩展名改成了TXT方便上传。
Posted in Windows内核调试
by
wrong
on 2011-03-22
当前进程可能是随机的,但是CR3的值总是livekd进程的。
在网上找了篇文章,说的和张老师差不多 http://analyze-v.com/?p=410
Posted in Windows内核调试
by
wrong
on 2011-03-15
使用!handle命令观察一个event,
0:000> !handle 88 f
Handle 88
Type Event
Attributes 0
GrantedAccess 0x1f0003:
Delete,ReadControl,WriteDac,WriteOwner,Synch
QueryState,ModifyState
HandleCount 2
PointerCount 3
Name
Object Specific Information
Event Type Manual Reset
Event is ...
Posted in Windows内核调试
by
wrong
on 2011-03-14
软件调试第4章中,介绍KiTrap03对于x86的int 3指令会做特殊的处理,会将IP值减1,在第18章中讲调试服务的时候,说int 2d会跳转到KiTrap03,并列举了DebugService2的代码。
...
cd2d int 2d
cc int 3
...
没明白后面为什么要加一条int 3,按照第4章中的逻辑,eip会指在int 2d指令的中间啊。和后面加不加int 3有什么关系。
Posted in Windows内核调试
by
wrong
on 2011-03-10
在使用livekd的时候,经常会提示
WARNING: Process directory table base DCA49340 doesn't match CR3 DCA49360,
看了一下,
DCA49340 是windbg进程的,
而DCA49360是livekd的,
理论上cr3会保存当前进程的directory table base,什么样的条件下,它们会不一致?
Posted in Windows内核调试
by
wrong
on 2011-03-02