[系统安全] Windbg Preview调试记录
Posted _Zer0
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[系统安全] Windbg Preview调试记录相关的知识,希望对你有一定的参考价值。
本文为笔者从零基础学习系统安全相关内容的笔记,如果您对系统安全、逆向分析等内容感兴趣或者想要了解一些内容,欢迎关注。本系列文章将会随着笔者在未来三年的读研过程中持续更新。
前文链接
[系统安全] PE文件格式详解1
[系统安全] PE文件格式详解2
逆向调试工具介绍
windows下调试工具主要有Ollydbg、IDA、Windbg。调试的程序主要分成两类,一类是用户态下程序,一类是内核态下程序。Windbg的一个升级版是Windbg Preview,这个也是本篇文章记录的内容。
一般情况下用户态程序调试使用Ollydbg或者IDA,内核态程序调试使用Windbg。
需要注意的是Windbg调试器需要符号文件来获取有关代码模块的信息(函数名、变量名等)。也就是VS编译生成的一个.pdb
后缀文件。
用户模式程序调试
先使用VS编译代码生成exe文件和pdb文件
void MyFunction(long p1, long p2, long p3)
long x = p1 + p2 + p3;
long y = 0;
y = x / p2;
int main()
long a = 2;
long b = 0;
MyFunction(a, b, 5);
return 0;
从Windbg Preview中打开,并在main处设置断点
然后点击run之后就可以进行常规调试
内核模式程序调试
进行内核调试时,操作系统将被冻结,这种情况下不可能运行调试器。因此,调试内核的常用方法是使用VMware。
注意: 需要修改被调试机器的开机启动项和其他设置,windows XP下修改C:\\boot.ini文件,
Win7下因为没有C:\\boot.ini文件,就需要其他方式修改。这里以win7为实验环境。
第一步先配置虚拟机,添加一个硬件串行端口
设置管道名称
配置系统调试模式
补充: 引导配置数据 (BCD) 文件提供用于描述启动应用程序和启动应用程序设置的存储。 存储中的对象和元素会替换 Boot.ini内容。
设置端口com1
bcdedit /dbgsettings serial baudrate:115200 debugport:1
复制一个开机选项,取名DebugEntry
bcdedit /copy current /d DebugEntry
增加一个开机引导项
bcdedit /displayorder current 上面生成的id
激活debug
bcdedit /debug 上面生成的id ON
重启进入调试引导
配置调试器
然后过一分钟左右才能连上
以上是关于[系统安全] Windbg Preview调试记录的主要内容,如果未能解决你的问题,请参考以下文章