首页
社区
课程
招聘
[旧帖] [求助]为什么我在调试时不出现系统全局变量的名称? 0.00雪花
发表于: 2007-9-30 15:00 4506

[旧帖] [求助]为什么我在调试时不出现系统全局变量的名称? 0.00雪花

2007-9-30 15:00
4506
《Undocumented Windows NT》中有如下的代码段,我这里没有XP的DBG文件,只有从官方网站上下载的PDB文件(我的系统文件和符号均是checked版本),我按照网上的方法将PDB文件转换成了NMS文件并加载,在将ntoskrnl.exe等模块反汇编时却任然不能象书中所说的那样--在反汇编代码中出现全局变量的名称,不知为何?
例:
TEST [DebugVariable], 0x80
JZ HideFromReverseEngineering
PUSH ..
PUSH ..
PUSH ..
CALL DbgPrint

HideFromReverseEngineering:

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费
支持
分享
最新回复 (2)
雪    币: 462
活跃值: (53)
能力值: ( LV9,RANK:460 )
在线值:
发帖
回帖
粉丝
2
从Windows XP开始Microsoft已经不再发行DBG格式的系统调试符号文件了。你的情况最可能是系统文件与符号文件不匹配造成的。你最好使用symchk工具来下载相应的符号文件。另外,使用物理地址扩展(PAE)的系统,内核文件实际上是ntkrnlpa.exe,而不是ntoskrnl.exe,加载调试符号时一定要注意。
2007-10-1 07:51
0
雪    币: 204
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
在你和msdn的指引下,我重新实验了一遍,将hal和kernel的符号加载上,但仍然只有函数的名称,而没有内核变量的名称在汇编代码中出现。例如《Undocumented Windows NT》中函数_KeI386AllocateGdtSelectors有名叫_KiNumberFreeSelectors$S10229的变量,但我这里只显示地址!
2007-10-10 20:41
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册