- C++反汇编与逆向分析技术揭秘(第2版)
- 钱林松 张延清
- 434字
- 2021-09-27 17:05:08
1.5 调试工具WinDbg
WinDbg是微软公司出品的一个支持32/64位程序调试的免费调试器,既支持有源码的程序调试,又支持无源码的程序调试。WinDbg不仅可以调试应用程序,还可以进行内核调试。WinDbg的一个强大之处在于可以从微软的符号服务器中获取系统符号文件,使应用程序或内核调试的反汇编代码可读性更好。WinDbg界面如图1-27所示,图中的标号说明如下。
![](https://epubservercos.yuewen.com/216E0A/21191463201767206/epubprivate/OEBPS/Images/033-1.jpg?sign=1738926103-CAATWp60noLNlHbcLL0XuwcddEnOf2am-0-4c04b0a1cadb9c17d6c08e5a9454d300)
图1-27 WinDbg界面
1:命令汇编窗口。
2:寄存器窗口。
3:内存变量窗口。
4:栈窗口。
虽然WinDbg也提供图形界面操作,但它最强大的地方还是调试命令,通常情况下会结合图形界面和命令行进行操作,初学者可以从一些常用的调试命令开始,通过快捷键F1查看命令的使用帮助,WinDbg的常用命令如表1-2所示。
表1-2 WinDbg的常用命令
![](https://epubservercos.yuewen.com/216E0A/21191463201767206/epubprivate/OEBPS/Images/033-2.jpg?sign=1738926103-CWRzkeWiPzN3hfpGsPsVqMKtat2IUsg1-0-9220d0a505c6ff12b5b688a90d5c3826)
通过实际操作演练,我们使用命令调试“Hello world”程序,将“Hello world”程序对话框标题修改为“I Like C++”,如图1-28所示,步骤如下。
![](https://epubservercos.yuewen.com/216E0A/21191463201767206/epubprivate/OEBPS/Images/034-2.jpg?sign=1738926103-Xc5uGFHEDFfOL648zbiQUXsnx31UWteV-0-90c1a6b06e755d0d970a18a48b8bcd9f)
图1-28 使用WinDbg修改程序
- 加载可执行程序Ctrl+E。
- 输入命令执行到入口代码:g $exentry。
- 输入命令查看反汇编代码:u。
- 输入命令修改内存:eza 00403000 "I Like C++"。
- 输入命令查看修改的数据:da 00403000。
- 输入命令运行程序:g。