![C++反汇编与逆向分析技术揭秘(第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/733/40796733/b_40796733.jpg)
上QQ阅读APP看书,第一时间看更新
1.5 调试工具WinDbg
WinDbg是微软公司出品的一个支持32/64位程序调试的免费调试器,既支持有源码的程序调试,又支持无源码的程序调试。WinDbg不仅可以调试应用程序,还可以进行内核调试。WinDbg的一个强大之处在于可以从微软的符号服务器中获取系统符号文件,使应用程序或内核调试的反汇编代码可读性更好。WinDbg界面如图1-27所示,图中的标号说明如下。
![](https://epubservercos.yuewen.com/216E0A/21191463201767206/epubprivate/OEBPS/Images/033-1.jpg?sign=1739137675-apiZiuUBVZS2PLD1zwyOgKWcrdjiZ5SU-0-74b7c29a2592d82fceedfb73434df53d)
图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=1739137675-O0v2jBaiMmE0Ss7rWJGPYoeVvL80cIMe-0-c5000e6765ba08da9b5597da17c56c50)
通过实际操作演练,我们使用命令调试“Hello world”程序,将“Hello world”程序对话框标题修改为“I Like C++”,如图1-28所示,步骤如下。
![](https://epubservercos.yuewen.com/216E0A/21191463201767206/epubprivate/OEBPS/Images/034-2.jpg?sign=1739137675-fF8tBUMbgBDpoAt1sQ1lqqsy5y756DOa-0-acdb6304070a432bd155c5d8ac0a4c20)
图1-28 使用WinDbg修改程序
- 加载可执行程序Ctrl+E。
- 输入命令执行到入口代码:g $exentry。
- 输入命令查看反汇编代码:u。
- 输入命令修改内存:eza 00403000 "I Like C++"。
- 输入命令查看修改的数据:da 00403000。
- 输入命令运行程序:g。