《Windows核心编程》第3章——深入理解handle
2021-02-12 19:21
阅读:567
重启之后开启Local Kernel Debugging:
开启成功:
加载符号表之后,就可以使用!process命令了:
- 解决windbg源码调试的问题:
添加源文件路径:
开启源码级别的调试:
给TestHandle.exe的main函数下断点:
运行后自动弹出源码调试:
- 研究句柄
再开一个windbg用内核调试。!process 0 0 命令找到TestHandle.exe的信息:
查看这个进程的所有句柄信息(同时也显示出了OBJECT的信息,来给我们提供验证):
下面,借助对TestHandle.exe的调试我们知道38号句柄是hEvent:
查看0x38号句柄的信息(这个信息被我当做“结果”来验证我的“推理”过程):
- 推理步骤
查看TestHandle的EProcess结构:
得到TableCode,这个值指向一级、二级或三级句柄表(具体是几级句柄表由末尾数决定):
根据低两位判断句柄表的层级。TableCode低位是1,说明是一个二级句柄表(可以参考这个文章的分析:https://www.cnblogs.com/lsh123/p/7296423.html):
文章来自:搜素材网的编程语言模块,转载请注明文章出处。
文章标题:《Windows核心编程》第3章——深入理解handle
文章链接:http://soscw.com/index.php/essay/54587.html
文章标题:《Windows核心编程》第3章——深入理解handle
文章链接:http://soscw.com/index.php/essay/54587.html
评论
亲,登录后才可以留言!