• 安装VMware+Windbg+Win7内核驱动调试


    原文:https://blog.csdn.net/qq1841370452/article/details/52465243

    安装VMware+Windbg+Win7内核驱动调试的笔记。

    一、安装环境


    主机:      Win7 sp1 x64

    虚拟机: VMware 8 
    虚拟机OS: Win7 sp1 x32    
    Windbg: 6.12  

    二、虚拟机配置

    1.打开相应 vmware 虚拟机上的 “Virtaul Machine Settings“

    2.为了省事,这里将Printer 删除,为了让新配置的Serial Port 为1(如果不删除Printer,后面配出来的会是SerialPort =2,这还需要在虚拟机中再命令设置)

    (一)VMware+Windbg+Win7 内核驱动调试 ----(环境搭建) - 3792615 - 独一飞的博客 

         3.点击下面的ADD 添加一个新端口,请按照图片上的设置

                 

    (一)VMware+Windbg+Win7 内核驱动调试 ----(环境搭建) - 3792615 - 独一飞的博客

    4.”Next”,在 “Serial Port” 里选中 “Output to named pipe”

    5.”next”,然后如下设置:

    6.确定之后,回到如下界面,在右脚”Virtual Machine Settings” 页面时,在“I/O Mode” 里选中“Yield CPU on poll“

    7. Ok之后就设定完毕了。

    三、Windbg设置

    安装之后,设置一个桌面快捷方式,然后,右键->属性,在Target中的引号后面添加如下:

     -b -k com:port=\.pipecom_1,baud=115200,pipe

    -b:初始断点   -k:内核调试 com:port:命名管道 baud:波特率    pipe:管道
      
           四、虚拟机OS设置

    1、在 bootmgr 中下断点
              在 vista 及后续的 windows 已经取消了 ntldr 模块管理引导,转而以 bootmgr 模块管理引导系统。

      在我的 windows 7中要设定在哪个部分进行调试。

      windws 7 可调试部分有 4 个:bootmgr 模块、winload 模块、WinResume 模块以及 windows 内核模块 Nt 模块

     可以在上述的 4 个模块下断点进行调式
            (1) 以管理员身份运行“命令提示符”

    (2) 在“命令提示符”窗口中,输入以下命令:

    bcdedit /set {bootmgr} bootdebug on
            bcdedit /set {bootmgr} debugtype serial
            bcdedit /set {bootmgr} debugport 1
            bcdedit /set {bootmgr} baudrate 115200

    注意一个细节,bcdedit /set {bootmgr} debugport 1这一行最后的1 对应Serial Port 1,

    所以如果是Serial Port 2 则设置为bcdedit /set {bootmgr} debugport 2 ,否则连不上。

    在提示命令成功后,这样就在 windows7 中的 bootmgr 模块建立起可调试的机制。
    在运行 windows7 时到达 bootmgr 时就停止加载,vmware 中是黑屏,它正等待 serial port 的响应,
    运行 windbg 后,windbg 就和 windws 7 中的 bootmgr 建立起联线了

    下面是我的 windbg 在 bootmgr 模式下断点的响应信息:

    WARNING: Whitespace at start of path element
    Waiting to reconnect...
    BD: Boot Debugger Initialized
    Connected to Windows Boot Debugger 7601 x86 compatible target at (Thu Jul 24 09:12:47.771 2014 (UTC + 8:00)), ptr64 FALSE
    Kernel Debugger connection established.  (Initial Breakpoint requested)
    WARNING: Whitespace at start of path element
    Symbol search path is: e:localsymbols; SRV*e:symbols*http://msdl.microsoft.com/download/symbols
    Executable search path is: 
    Windows Boot Debugger Kernel Version 7601 UP Free x86 compatible
    Machine Name:
    Primary image base = 0x00400000 Loaded module list = 0x00491b80
    System Uptime: not available
    WARNING: Whitespace at start of path element
    Break instruction exception - code 80000003 (first chance)
    bootmgr!RtlpBreakWithStatusInstruction:
    00443914 cc              int     3

    2、在 winload 模块下断点
    同样在“命令提示符”中使用命令

    bcdedit /enum

    这条命令显示当前可用模块的 GUID

    (一)VMware+Windbg+Win7 内核驱动调试 ----(环境搭建) - 3792615 - 独一飞的博客
     

    3、在内核模块 Nt 模块下断点 
             WIN+R 打开运行输入msconfig打开启动配置对话框设置调试,请按照图片设置

             

            

           至此虚拟机中的操作系统也设置好了,重启后生效。

     五.测试WinDbg+VMware是否连接成功

        先打开虚拟机操作系统,然后启动WinDbg,出现下列信息则说明连接成功,此时虚拟机系统会停止(可能是黑屏),WinDbg会在系统启动上自动下int 3,这时按F5或键入g回车,系统即可正常启动

        

         至此WinDbg+VMWare+Win7 调试配置就已设置完成。

  • 相关阅读:
    【转】Uiautomator Api浅析
    【转】UiAutomator简要介绍
    后台自动启动appium
    adb通过wifi连接Android设备
    Python字符串处理和输入输出
    OJ题目输出的生成
    Weka的使用和二次开发(朴素贝叶斯及其属性选择)
    PointNet++论文理解和代码分析
    VGG-16复现
    二维偏序-最长上升子序列的两种求解方式
  • 原文地址:https://www.cnblogs.com/endenvor/p/8926630.html
Copyright © 2020-2023  润新知