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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
lithium-kernel — Windowsカーネルモードドライバとユーザーモードクライアントで、ゲームチート向けにIOCTLベースの物理・仮想メモリ読み書き、ページテーブルウォーク、パターンスキャン、入力エミュレーションを提供。 | Kitploit
ツール/GitHubGitHub/gmh5225/lithium-kernel
メモリフォレンジックリバースエンジニアリングアンチボットバイナリエクスプロイト
GitHubgmh5225/lithium-kernel

lithium-kernel

Windowsカーネルモードドライバとユーザーモードクライアントで、ゲームチート向けにIOCTLベースの物理・仮想メモリ読み書き、ページテーブルウォーク、パターンスキャン、入力エミュレーションを提供。

リポジトリを見る
122ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

██╗     ██╗████████╗██╗  ██╗██╗██╗   ██╗███╗   ███╗
██║     ██║╚══██╔══╝██║  ██║██║██║   ██║████╗ ████║
██║     ██║   ██║   ███████║██║██║   ██║██╔████╔██║
██║     ██║   ██║   ██╔══██║██║██║   ██║██║╚██╔╝██║
███████╗██║   ██║   ██║  ██║██║╚██████╔╝██║ ╚═╝ ██║
╚══════╝╚═╝   ╚═╝   ╚═╝  ╚═╝╚═╝ ╚═════╝ ╚═╝     ╚═╝

ユーザーモードクライアントを備えた Windows カーネルモードドライバフレームワーク

Language Platform Arch Mode

[!IMPORTANT]

完全なプロジェクトを入手する

ソリューションファイルは Discord サーバー から入手できます。

完全なソースコードの購入にご興味がありますか? Telegram または Discord: @tonythimself までご連絡ください。


概要

Lithium は、Windows カーネルモードドライバ (lithium-kernel) とユーザーモードクライアント (lithium-usermode) を組み合わせたものです。独自の IOCTL インターフェースを介して通信し、低レベルのメモリ操作、ページテーブルウォーキング、入力デバイス制御のプリミティブを提供します。


機能

機能説明
物理メモリ R/WMmCopyMemory を介した物理アドレスの直接読み書き
仮想メモリ R/WMmCopyVirtualMemory を介したプロセス間仮想メモリアクセス
DTB 解決PFN データベース列挙によるディレクトリテーブルベースの抽出
ページテーブルウォーキングPML4/PDPT/PD/PT レイヤーキャッシュを備えた線形アドレス変換
パターンスキャンプロセスメモリ全体に対する IDA スタイルのシグネチャスキャン
メモリ割り当て対象プロセスコンテキストでの ZwAllocateVirtualMemory
メモリ保護対象プロセスコンテキストでの ZwProtectVirtualMemory
マウスエミュレーションMouClass サービスコールバックフックを介したカーネルレベルのマウス入力
スレッド隠蔽ETHREAD フィールドの偽装 (開始アドレス、CID、作成時刻など)
NMI コールバック無効化デバッガ回避のための NMI コールバック抑制
プールクリーニングカーネルプールトラッカーからのビッグプールテーブルエントリの削除

プロジェクト構造

lithium/
├── lithium-kernel/              # Kernel-mode driver (KMDF)
│   ├── entry.cpp                # DriverEntry entry point
│   ├── core/
│   │   ├── dispatch/            # IOCTL dispatch and request routing
│   │   ├── requests/
│   │   │   ├── directory-table-base/  # DTB resolution & page table walk
│   │   │   ├── image-base/           # Process module base retrieval
│   │   │   ├── mouse/                # Mouse input emulation via MouClass
│   │   │   ├── read-write/           # Physical and virtual memory R/W
│   │   │   └── virtual-memory/       # Allocate, protect, query, pattern scan
│   │   └── utilities/
│   │       ├── kernel/          # Module enumeration, NMI, thread ops
│   │       └── ...              # Pool cleaner, CRT shim
│   └── dependencies/
│       ├── additional/
│       │   ├── crt/             # Minimal CRT implementation
│       │   ├── security/        # skCrypter string encryption, oxorany
│       │   └── structures/      # Shared invoke data structures
│       └── includes.hpp         # Master include header
│
└── lithium-usermode/            # User-mode client
    ├── entry.cpp                # Client entry point
    ├── core/
    │   └── driver/              # IOCTL communication layer
    └── dependencies/
        ├── additional/
        │   └── structs.hpp      # Page table entry unions & helpers
        └── includes.hpp

IOCTL インターフェース

通信は、既存のドライバ (ProcObsrvesx.sys) の IOCTL ディスパッチルーチンをフックすることによって確立されます。ロード時に、カーネルモジュールは対象ドライバを特定し、その IRP ディスパッチハンドラをスキャンし、lithium 自身の hooked_ioctl へのトランポリンで上書きします。ユーザーモードクライアントは \\.\ProcObsrvesx を開き、すべての IOCTL はフックを介して透過的にリダイレクトされます。

コード入力構造体アクション
invoke_basebase_invoke { pid, handle }プロセスイメージベースの取得
invoke_dtbdtb_invoke { pid, dtb }ディレクトリテーブルベースの解決
invoke_readread_invoke { pid, directory_table, address, buffer, size }物理メモリの読み取り
invoke_writewrite_invoke { pid, directory_table, address, buffer, size }物理メモリの書き込み
invoke_read_virtualread_virtual_invoke { pid, address, buffer, size }仮想メモリの読み取り
invoke_write_virtualwrite_virtual_invoke { pid, address, buffer, size }仮想メモリの書き込み
invoke_allocateallocate_invoke { pid, type, protection, address, size }仮想メモリの割り当て
invoke_protectprotect_invoke { pid, protection, address, size }メモリ保護の変更
invoke_virtual_queryquery_virtual_invoke { pid, address, mbi }仮想メモリ情報のクエリ
invoke_pattern_scanpattern_invoke { pid, signature, address, pattern_address }メモリのパターンスキャン
invoke_move_mousemouse_invoke { x, y, flags, button_flags }マウス入力のエミュレーション

内部実装

DTB 解決

ドライバは MmGetPhysicalMemoryRanges によって返される物理メモリ範囲を反復処理し、PFN データベースをウォークして自己参照 PML4 エントリを特定し、各ページテーブルレイヤーを検証して、指定されたプロセスの正しいディレクトリテーブルベースを確認します。

ページテーブルウォーキング

線形から物理への変換は、4 レベルの x64 ページテーブル階層 (PML4 → PDPT → PD → PT) をレベルごとのキャッシュとともに走査します。ラージページ (2MB / 1GB) のサポートはベストエフォートベースで含まれています。

マウスエミュレーション

ドライバは MouClass および MouHID ドライバオブジェクトを特定し、HID デバイス拡張から MouseClassServiceCallback を解決し、MOUSE_INPUT_DATA パケットをコールバックチェーンに直接注入します。

スレッド隠蔽

主要な ETHREAD フィールド — 作成時刻、開始アドレス、Win32 開始アドレス、カーネルスタック、CID、終了ステータス — が保存され、無害な値または null 値に置き換えられます。終了時には、スレッド終了前に元の値が復元されます。


要件

  • Windows 10/11 x64
  • Windows Driver Kit (WDK) 10.0.26100.0 を備えた Visual Studio 2022 以降
  • カーネルドライバのロード方法 (テスト署名、カーネルマッパーなど)

ビルド

  1. Visual Studio で lithium.sln を開く
  2. 構成を Release / x64 に設定する
  3. lithium-kernel をビルド → lithium-kernel.sys
  4. lithium-usermode をビルド → lithium-usermode.exe

または MSBuild 経由:

msbuild lithium.sln /p:Configuration=Release /p:Platform=x64

使用方法

#include <core/driver/driver.hpp>

g_driver->initialize_handle();
DWORD pid = g_driver->get_process_id(L"target.exe");
g_driver->attach(pid);

g_driver->image_base = g_driver->get_image_base(0);
g_driver->dtb = g_driver->resolve_directory_table_base();

auto value = g_driver->read<uintptr_t>(g_driver->image_base + 0xOFFSET);
g_driver->mouse_event(-10, -10, 0, 0);

依存関係

  • skCrypter — コンパイル時の文字列暗号化
  • oxorany — コンパイル時の定数難読化

免責事項

このプロジェクトは 教育および研究目的のみ を意図しています。
自身が所有するシステム、またはテストの明示的な許可を得たシステムでのみ使用してください。
作者は、このソフトウェアによって引き起こされたいかなる誤用や損害についても責任を負いません。


built for research · not for production
ツールをダウンロード