Snoozy

1.Sleep-inducing; tedious.

WinDbg PreviewでVirtualBox上のWindowsホストをカーネルモードデバッグする

WinDbgVirtualBox上のWindowsホストをカーネルモードデバッグする

環境

ホストのバージョンは以下。

PS C:\Users\ry0kvn> systeminfo

OS 名:                  Microsoft Windows 10 Home
OS バージョン:          10.0.18363 N/A ビルド 18363

WinDbg Previewのバージョンは以下。

Debugger client version: 1.0.2001.02001
Debugger engine version: 10.0.19528.1000

VirtualBoxのバージョンは以下。

バージョン 6.0.14 r133895 (Qt5.6.2)

VirtualBox上で動くWindowsホストのバージョンは以下。

PS C:\Users\User> systeminfo

OS Name:                   Microsoft Windows 10 Enterprise Evaluation
OS Version:                10.0.18362 N/A Build 18362

ネットワーク

pingでお互いに疎通確認して問題なければ先へ進む。 Windowsはデフォルトでpingに応答しないのでFirewallを切る必要があるかもしれない。

ターゲットホスト内での準備

ターゲットホスト内で管理者権限のPowerShellを起動し以下を実行する。

BCDEditコマンドでブート構成データ (BCD) を編集する。

# カーネルデバッグの有効化
bcdedit /debug on

# ホストのIP、ターゲットで待ち受けるポートを設定
bcdedit /dbgsettings net hostip:[HOSTIP] port:[PORT]
# key=表示されるのでメモっておくこと

# 設定内容を表示
bcdedit /dbgsettings

ここまでの処理を行ったら次はホスト側での作業に移る。

ホストでの準備

  1. WinDbgを開きファイルからAttach to Kernelを選択。
  2. Netを選択し、ポート番号と先ほどメモしておいたKeyを入力しWinDbgの待ち受けを開始する。

このタイミングでターゲットホストを再起動するとWinDbgに接続が返る。

参考

以上。