windbg 教程

Windbg入门实战讲解

本秂侑毒 提交于 2019-12-11 11:30:56
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> windbg作为windows调试的神器。是查看内核某些结构体,挖掘漏洞,调试系统内核,调试驱动等必不可少的工具。但是由于windbg命令众多,界面友好程度较差,从而造成新人上手不易,望而却步。本文抛砖引玉,从基础入手,讲解windbg。希望同作为新人的我们一起进步! 注意:本文省略部分为:1.如何加载系统符号。2.如何开启双机调试。因为这部分的内容,网络上太多了。读者可自行百度。但是请注意:这两部分也是很重要的。 0×1 程序代码 为了整体掌握windbg的调试流程。本文实例采用自己编写。好处是可以更为主动的熟悉windbg的调试命令,更加直观的查看windbg的显示结果。 0×2 windbg调试入口 打开windbg,点击:File->Open Executable,选中编译好的exe文件。Windbg会自动给程序下一个断点。但是我们不知道这个断点是否属于我们程序的区域。所以,我们先要看下,断点是断在了什么地方。我们在windbg命令中输入!address 断点地址。如下图所示: 图中不仅仅显示了断点所在的“领空区域”,还显示了一些文件的其他属性。由于此时的断点不再我们需要的领空,所以下面要使用上文提过的伪寄存器了。我们在windbg中输入:bp $exentry。也可以输入bp @$exentry。