備忘録

備忘録

2019-12-29から1日間の記事一覧

Kernel Patch Protection(KPP) / PatchGuard(PG) を回避する方法

Ⅰ. はじめに タイトルの通り「Kernel Patch Protection(KPP) / PatchGuard(PG) を回避する方法」です。 Ⅱ. やり方 1. Shark をダウンロードする https://github.com/9176324/Shark/releases 2. Shark.sys を読み込む 3. Sea.exe を実行する 実行結果 省略 参…

InfinityHook を利用して Windows の syscall を hook する方法

Ⅰ. はじめに Ⅱ. やり方 1. clone する 2. コンパイルする 3. 実行する 実行結果 FAQ Q. hook できません。 参考 Ⅰ. はじめに Windows の syscall を hook するメジャーな方法は SSDT Hook です。 しかし、Windows にはカーネル領域の改ざんを検知する仕組み…

Windows カーネルドライバでプロセスメモリを読み書きする方法

Ⅰ. はじめに タイトルの通り「Windows カーネルドライバでプロセスメモリの読み書きをする方法」です。 Ⅱ. サンプルプログラム https://github.com/kagasu/KMMM 実行結果 ① プロセスメモリの読み込みに成功し、「value 100」が出力された ② プロセスメモリの…

自己デジタル署名されたドライバをテストモード無効状態で実行する方法

Ⅰ. はじめに 自己デジタル署名されたドライバは通常「テストモードとして起動したWindowsのみ」実行できます。 テストモード無効のままドライバを実行したい場合は、有効なデジタル署名を証明機関から購入し、デジタル署名をする必要があります。この記事で…

Windows Kernel Driver で HelloWorld する方法

Ⅰ. はじめに Ⅱ. やり方 1. Windows Driver Kit(WDK) をインストールする 2. Kernel Mode Driver, Empty(KMDF) の新規プロジェクトを作成する 3. サンプルプログラムを書く 4. 実行する 実行結果 FAQ Q. 以下のメッセージが表示され、ドライバの実行ができな…

Windows をテストモードとして起動する方法

Ⅰ. はじめに タイトルの通り「Windows をテストモードとして起動する方法」です。 Ⅱ. やり方 1. BIOS でセキュアブートを無効化する 2. 以下のコマンドを実行する bcdedit -set TESTSIGNING ON 3. Windows を再起動する 実行結果 参考 https://docs.microsof…