MENU

virtualKD双机调试win10.1809

October 2, 2019 • 驱动相关,逆向分析

问题

按部就班地安装好 VirtualKD、客户端 target 目录到虚拟机 win10.1809, VKD死活连不上虚拟机

虚拟机中 sc query kdpatch 提示未安装此服务,手动安装后仍然不行。

解决

  • 拷贝 target/x64/ 目录中的文件到 system32\drivers\ 目录中
  • 驱动安装工具 InstDrv 安装 system32\drivers\kdpatch.sys 驱动
  • 修改注册表 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kdpatch 中的 Start 值为 0 (SERVICE_BOOT_START)
  • 修改注册表 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kdpatch 中的 ImagePathSystem32\drivers\kdpatch.sys
  • 重启虚拟机,启动项选择界面按 F8 设置 禁用驱动强制签名,此时物理机马上弹出了 Windbg 界面。

    bcdedit /set nointegritychecks on

    恢复驱动强制签名:

    bcdedit /set nointegritychecks off

    PS: 实测这条命令没什么卵用...老老实实F8...然后虚拟机拍快照...

配置经过

  • VirtualKD下载
  • Windbg,安装完 VS2015 后自带
  • 真机安装 VirtualKD
  • 拷贝 VirtualKD-3.0 目录中的 target 目录到虚拟机安装,系统会自动添加调试引导项
  • 虚拟机中设置调试端口和波特率:bcdedit /dbgsettings SERIAL DEBUGPORT:1 BAUDRATE:115200​​,也可以虚拟机里 msconfig -> 引导 -> VirtualKD启动项 -> 高级选项 -> 调试端口,将 1394 改成 com1;波特率:115200
  • 开启 debugview 调试输出,导入下面的注册表内容:

    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter] 
    "DEFAULT"=dword:0000000f

使用新版本的 WindbgX.shell

VirtualKD 控制台界面设置调试器路径选择 Custom,将:

cmd.exe /c "$(toolspath)\test.cmd" $(pipename)

改为:

X:\[WinDbgX-full-path]\WinDbgX.exe /k com:pipe,resets=0,reconnect,port=$(pipename)
Last Modified: October 5, 2019