概要

シェルコードをスレッドや、リモートスレッドで動かす時に、デバッガーを使ってデバッグしたい時がありました。

デバッガーの扱いに慣れていなかったので、やり方がよくわからなかったのですが、なんか適当に触ってたらx64dbgで簡単にできました。

やり方は、シェルコードを実行するスレッドを一時停止状態で作成するだけです。

ここではnotepad.exeにリモートスレッドを作成したと仮定します。

notepad.exeを起動し、リモートスレッドを作成したら、x64dbgを開き、左上のファイルからアタッチを押すかAlt+Aでアタッチウィンドウを開きます。

Search:notepadと入力してフィルターします。

2021-04-19-how-to-debug-shellcode-on-thread-0.png

notepadにアタッチ出来たら、スレッドタブを開いて、作成したスレッドのスレッドIDを探し、右クリックからGo To Thread Entryをクリックします。

2021-04-19-how-to-debug-shellcode-on-thread-1.png

これでCPUタブに戻るので、デバッグする準備が出来ました。

スレッドをResumeして、実際にデバッグしてみてください。