-
-
[旧帖] 问个关于段选择子0x3b 的段基址的问题 (操作失误结贴了 重发) 0.00雪花
-
发表于: 2012-1-29 14:48 2735
-
我的电脑是xp sp2 的系统,用SGDT指令访问GDTR的值为0x8003f00003ff
GDT首地址为0x8003f000,0x3b 所对应的段描述符的地址为0x8003f000+0x3b&0xfff8 = 0x8003f038,
我使用工具PsNull3和tuluka查看gdt 里查看0x3b所对应的段描述符的基址都为 0x7ffdf000 ,而使用
kernel detective 1.4.1 查看0x8003f038这个地址结果有时为ff 0f 00 d0 fd f3 40 7f,计算出base
为7ffdd000,有时为ff 0f 00 a0 fd f3 40 7f,计算出base 为7ffda000;而使用windbg 本地调试 db
命令 有时 显示lkd> db 0x8003f038
8003f038 ff 0f 00 c0 fd f3 40 7f , 计算出base 为7ffdc000,有时为lkd> db 0x8003f038
8003f038 ff 0f 00 d0 fd f3 40 7f- ,计算出base 为7ffdd000 。 为何kd 和windbg看内存的值会
和PsNull3和tuluka中不一样,而且这个值会变化?
GDT首地址为0x8003f000,0x3b 所对应的段描述符的地址为0x8003f000+0x3b&0xfff8 = 0x8003f038,
我使用工具PsNull3和tuluka查看gdt 里查看0x3b所对应的段描述符的基址都为 0x7ffdf000 ,而使用
kernel detective 1.4.1 查看0x8003f038这个地址结果有时为ff 0f 00 d0 fd f3 40 7f,计算出base
为7ffdd000,有时为ff 0f 00 a0 fd f3 40 7f,计算出base 为7ffda000;而使用windbg 本地调试 db
命令 有时 显示lkd> db 0x8003f038
8003f038 ff 0f 00 c0 fd f3 40 7f , 计算出base 为7ffdc000,有时为lkd> db 0x8003f038
8003f038 ff 0f 00 d0 fd f3 40 7f- ,计算出base 为7ffdd000 。 为何kd 和windbg看内存的值会
和PsNull3和tuluka中不一样,而且这个值会变化?
[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!
赞赏
赞赏
雪币:
留言: