セキュリティ系の勉強、その他開発メモとか雑談. GithubはUnity触っていた頃ものがメイン Twitterフォローもよろしくです

仮想マシン(Windows)をカーネルデバッグ -Virtual Box

VirtualBox

[設定]→[シリアルポート]から以下のように入力
f:id:thinline196:20180816202057p:plain

仮想マシン

[Power Shellを管理者権限で実行]
以下のコマンドを入力

> bcdedit /debug on
> bcdedit /dbgsettings serial debugport:1 baudrate:115200 

ここで仮想マシンはパワーオフして、もう一度立ち上げ直す。

Windbg

[File]->[kernel debug]より以下のように入力
f:id:thinline196:20180816205528p:plain

¥¥.¥pipe¥com1,pipe

起動

先にWindbgカーネルデバッグを始めると怒られるので、仮想マシンを立ち上げている間に、カーネルデバッグを始めるといい感じに起動します。waiting to reconnect...があまりに長い場合は立ち上げ直してます。

失敗する

名前付きパイプを生成できませんでした。
failed to create named pipe

こんな感じでエラーがてしまったのですが、VirtualBox側の設定に問題。と言いますか、入力したパイプの名前がよくなかったっぽい。おそらくTeamViewerを使用して、日本語キーボードPCに対してUS配列キーボードを使用したせいか、バックスラッシュの入力がうまくできていなかった。

パイプは以下の文字列で始まる必要があるらしく、このバックスラッシュがうまく入力できていないせいで、生成ができていなかったと予想しました。なので、ウェブからバックスラッシュだけコピーしてきて、入力&再トライしたところ、無事接続に成功しました。

\\.\pipe\<pipe_name>