windbg调试的一个小问题
Windows内核调试
windbg调试的一个小问题
微小
2015-08-25, 19:52 下午
首先向张老师表示感谢,因为以前我发的俩帖子张老师都给予答复
这次想问的是:
我在windbg中用a命令写代码:
push 0x80
push 0x79
前者自动扩展符号位,变成push ffffff80h了。。。。。后者正常。
请问张老师,这里该怎么写?
另外还有一个问题:
windows窗口消息8000h是什么含义,好像头文件中没有定义,是否可以认为就是用户自定义的消息?
(都是很小的问题,老师忙的话就请忽略吧)
Re: windbg调试的一个小问题
Bombs
2015-08-26, 10:01 上午
刚试了下,确实是这样,貌似是个BUG。不过可以用eb指令替代下:
0:000> eb . 68 80 00 00 00
0:000> u .
ntdll!DbgBreakPoint:
7c92120e 6880000000 push 80h
Re: windbg调试的一个小问题
微小
2015-08-26, 14:53 下午
多谢回复。e命不行,因为那要改很多地方
Re: windbg调试的一个小问题
格蠹老雷
2015-08-26, 18:31 下午
只是反汇编时把立即数做符号扩展了,内存里的机器码仍然是1个字节
0:000> u esp
000cfb08 6a80 push 0FFFFFF80h
000cfb0a 6a7b push 7Bh
上面6a80就是机器码
Re: windbg调试的一个小问题
微小
2015-08-28, 09:48 上午
多谢张老师回复!