Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
masm32-kernel-programming — masm32カーネルプログラミング、ドライバー、チュートリアル、例、およびツール(クレジット:Four-F) | Kitploit
ツール/GitHubGitHub/therealdreg/masm32-kernel-programming
リバースエンジニアリングマルウェア分析バイナリ解析学習と教育厳選リソースラボと実践
GitHubtherealdreg/masm32-kernel-programming

masm32-kernel-programming

masm32カーネルプログラミング、ドライバー、チュートリアル、例、およびツール(クレジット:Four-F)

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見るウェブサイト
13018103年前Kitploit レビュー済み

masm32-kernel-programming

Dreg が自分用に管理しているリポジトリ

masm32 カーネルプログラミング、ドライバ、チュートリアル、サンプル、ツール(クレジット: Four-F)

インストール手順

  • このリポジトリをダウンロード/クローンする
  • masm32v11r_install.exe を実行する
  • インストールイメージ(地球)をクリックする
  • masm32 を C:\ にインストールする
  • 次のエントリを PATH 環境変数に追加することを推奨:
    • C:\masm32\bin
    • C:\masm32
  • KmdKit18\include\ の中身を C:\masm32\include\ にコピーする
  • KmdKit18\macros\ の中身を C:\masm32\macros\ にコピーする
  • KmdKit18\lib\ の中身を C:\masm32\lib\ にコピーする

基本サンプル

  • beeper.asm を C:\ にコピーする
  • beeper.bat を C:\ にコピーする
  • beeper.bat を実行する

この時点で C:\ に .sys ファイルが作成されます

ドライバのロード/アンロード方法

w2k_load.exe - 最も簡単な方法

ドライバのロード:

  • w2k_load.exe C:\beeper.sys

w2k_load.exe または osrloader.exe で beeper.sys のロード時にエラーが表示されますが、無視してください。

このエラーは、ドライバコード自身が実行を終了するときに生成されるものです(このトリックによりアンロードは不要です)

mov eax, STATUS_DEVICE_CONFIGURATION_ERROR
ret

つまり、beep.sys がカーネルに正しくロードされていれば、スピーカーからビープ音が聞こえます(ドライバコードがビープ音を生成します)

ドライバをアンロードする必要がある場合は次を使用します:

  • w2k_load.exe PATH_SYS_FILE /unload

Sven B. Schreiber の w2k_load.exe を、Windows 2000 から Windows 10 まで動作するように修正しました(マニフェスト...)

osrloader

osrloaderv30.zip を解凍し、この GUI プログラムを使用します:

  • .sys ファイル(ドライバパス)を選択する
  • Register service(サービスを登録する)
  • Start service(サービスを開始する)

windbg を使わずにデバッグメッセージを表示する方法

古い Windows の場合、このリポジトリに同梱されている DbgView.exe を使用してください。ちなみに、これは私が修正したものです(マニフェスト...)

最新の Windows の場合は、sysinternals の Web サイトから最新の dbgview.exe を使用し、トラブルシューティングについては以下を確認してください:

  • https://stackoverflow.com/questions/12494300/no-output-from-debugview
  • http://msdn.microsoft.com/en-us/library/windows/hardware/ff551519(v=vs.85).aspx
  • https://learn.microsoft.com/en-us/sysinternals/downloads/debugview

次のステップ

このリポジトリ内の .pdf ファイルを読み、KmdKit18/examples ディレクトリのサンプルを確認してください

警告: すべての ASM ソースコードは .bat ファイル内にあります(バッチ + ASM コードが同じファイルに混在しています)

advanced\FindShadowTable\FindShadowTable.bat の例

;@echo off
;goto make

ASM DRIVER CODE GOES HERE

:make
set drv=FindShadowTable
\masm32\bin\ml /nologo /c /coff %drv%.bat
\masm32\bin\link /nologo /driver /base:0x10000 /align:32 /out:%drv%.sys /subsystem:native %drv%.obj
del %drv%.obj
echo.
pause

このファイルには、.sys を生成する BATCH コードと、ドライバ自身のソースコードの両方が含まれています。 つまり、その通り、非常に巧妙で、ビルドスクリプトとソースコードが一緒になっています

advanced/FindShadowTable

advanced/FindShadowTable

ServiceDescriptorTableShadow を見つける方法のサンプルです。

ID 80h~400h のスレッドをスキャンして、KTHREAD.ServiceTable が KeServiceDescriptorTable と等しくないスレッドを見つけようとします。そのようなスレッドが見つかった場合、その KTHREAD.ServiceTable が ServiceDescriptorTableShadow のアドレスを保持しています。

ドライバのデバッグ出力は DbgView(www.sysinternals.com)または SoftICE で確認してください。

テスト済み: Windows 2000、XP、Server 2003

advanced/KbdSpy

advanced/KbdSpy

これは、シンプルなレガシー(非 PnP)PS/2 キーボードフィルタドライバのサンプルです。 警告: USB キーボードスタックにはアタッチできません。

テスト済み: Windows 2000、XP、Server 2003

advanced/MouSpy

advanced/MouSpy

Four-F、[email protected]。これらのマクロファイルは私のパッケージ cocomac のものです。

これは、シンプルなレガシー(非 PnP)PS/2 マウスフィルタドライバのサンプルです。 警告: USB マウススタックにはアタッチできません。

テスト済み: Windows 2000、XP、Server 2003

advanced/SecureDevices

advanced/SecureDevices

IoCreateDevice の代わりに IoCreateDeviceSecure を呼び出すことによって、 名前付きデバイスオブジェクトに特定のセキュリティ設定を適用する方法のサンプルです。

IoCreateDeviceSecure ルーチンはオペレーティングシステムの一部ではないため、 必要なルーチンをすべて含む wdmsec.lib をリンクします。

ここにある wdmsec.lib ライブラリは DDK に同梱されているものではありません。 不要なメンバーを削除してサイズを小さくするために、私が再ビルドする必要がありました。

basic/FileWorks

basic/FileWorks

ファイルの作成、書き込み、読み取り、削除を行う方法のサンプルです。

KmdManager を使用して登録/登録解除および開始を行います。 デバッグ出力は DbgView(www.sysinternals.com)または SoftICE で確認してください。

テスト済み: Windows 2000、XP、Server 2003

basic/HiddenDriver

basic/HiddenDriver

ドライバをリソースにパックする方法のサンプルです。

テスト済み: Windows 2000、XP、Server 2003

basic/IsSafeBootMode

basic/IsSafeBootMode

システムがセーフモードで実行されているかどうかを確認する方法です。

KmdManager を使用して登録/登録解除および開始を行います。 デバッグ出力は DbgView(www.sysinternals.com)または SoftICE で確認してください。

テスト済み: Windows 2000、XP、Server 2003

basic/MemoryWorks/LookasideList

basic/MemoryWorks/LookasideList

ルックアサイドリストと二重リンクリストを使用して、 ルックアサイドリストから割り当てられたメモリブロックを管理する方法のサンプルです。

KmdManager を使用して登録/登録解除および開始/停止を行います。 デバッグ出力は DbgView(www.sysinternals.com)または SoftICE で確認してください。

テスト済み: Windows 2000、XP、Server 2003

basic/MemoryWorks/seh

basic/MemoryWorks/seh

SEH を使用して例外を処理する方法のサンプルです。ただし、覚えておいてください。 カーネルモードでは SEH ですべての例外を処理できるわけではありません!

KmdManager を使用して登録/登録解除および開始/停止を行います。 デバッグ出力は DbgView(www.sysinternals.com)または SoftICE で確認してください。

テスト済み: Windows 2000、XP、Server 2003

basic/MemoryWorks/SharedSection

basic/MemoryWorks/SharedSection

名前付きセクションオブジェクトを使用して、ユーザーモードプロセスと カーネルモードドライバの間でメモリを共有する方法のサンプルです。

テスト済み: Windows 2000、XP、Server 2003

basic/MemoryWorks/SharingMemory

basic/MemoryWorks/SharingMemory

ユーザーモードとカーネルモードの間でメモリバッファを共有する 1 つの可能な方法のサンプルです。

テスト済み: Windows 2000、XP、Server 2003

basic/MemoryWorks/SystemModules

basic/MemoryWorks/SystemModules

カーネルモードでメモリを割り当てる方法のサンプルです。 無駄に割り当てないように、いくつかのシステム情報を入力します。

KmdManager を使用して登録/登録解除および開始/停止を行います。 デバッグ出力は DbgView(www.sysinternals.com)または SoftICE で確認してください。

テスト済み: Windows 2000、XP、Server 2003

basic/RegistryWorks

basic/RegistryWorks

レジストリキーの作成、設定、読み取り、削除を行う方法のサンプルです。 KmdManager を使用して登録/登録解除および開始を行います。 デバッグ出力は DbgView(www.sysinternals.com)または SoftICE で確認してください。

テスト済み: Windows 2000、XP、Server 2003

basic/Sections

basic/Sections

コードを異なる PE セクションに配置する方法のサンプルです。

basic/Synchronization/MutualExclusion

basic/Synchronization/MutualExclusion

リソースへの相互排他アクセスを実装する方法のサンプルです。

KmdManager を使用して登録/登録解除および開始/停止を行います。 デバッグ出力は DbgView(www.sysinternals.com)または SoftICE で確認してください。

basic/Synchronization/SharedEvent - ProcessMon

[basic/Synchronization/SharedEvent - ProcessMon](KmdKit18/examples/basic/Synchronization/SharedEvent - ProcessMon)

何らかのイベントが発生したことをユーザーモードに通知する方法のサンプルです。

テスト済み: Windows 2000、XP、Server 2003

basic/Synchronization/TimerWorks

basic/Synchronization/TimerWorks

タイマーの作成、設定、待機、キャンセルを行う方法のサンプルです。 KmdManager を使用して登録/登録解除および開始/停止を行います。 デバッグ出力は DbgView(www.sysinternals.com)または SoftICE で確認してください。

テスト済み: Windows 2000、XP、Server 2003

basic/WorkItem

basic/WorkItem

WorkItem のサンプルです。

nodriver/DiskGeometry

ツールをダウンロード