[系统安全] 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处设置断点
[系统安全] Windbg Preview调试记录_第1张图片
然后点击run之后就可以进行常规调试
[系统安全] Windbg Preview调试记录_第2张图片


内核模式程序调试

进行内核调试时,操作系统将被冻结,这种情况下不可能运行调试器。因此,调试内核的常用方法是使用VMware。

注意: 需要修改被调试机器的开机启动项和其他设置,windows XP下修改C:\boot.ini文件,
Win7下因为没有C:\boot.ini文件,就需要其他方式修改。这里以win7为实验环境。

第一步先配置虚拟机,添加一个硬件串行端口,注意要把打印机删掉,只留一个穿行端口
[系统安全] Windbg Preview调试记录_第3张图片
设置管道名称
[系统安全] Windbg Preview调试记录_第4张图片

配置系统调试模式
第一种方法

补充: 引导配置数据 (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调试记录_第5张图片
重启进入调试引导
[系统安全] Windbg Preview调试记录_第6张图片

第二种方法
[系统安全] Windbg Preview调试记录_第7张图片
然后关机重启就可以。

配置调试器
[系统安全] Windbg Preview调试记录_第8张图片

然后过几秒左右就能连上
[系统安全] Windbg Preview调试记录_第9张图片
winxp符号表问题参考

https://moddemod.blog.csdn.net/article/details/106154240

你可能感兴趣的:(系统安全,系统安全,安全)