Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cheat-engine-undetectable — Academic Research Edition - T1: ユーザーモード回避(難読化 + システムコールゲートウェイ)、T2: BYOVD カーネルブリッジ、T3: DMA ハードウェア(今後の作業)。 | Kitploit
ツール/GitHubGitHub/gmh5225/cheat-engine-undetectable
エクスプロイトリバースエンジニアリングマルウェア分析学習と教育レッドチーミングバイナリエクスプロイト
GitHubgmh5225/cheat-engine-undetectable

cheat-engine-undetectable

Academic Research Edition - T1: ユーザーモード回避(難読化 + システムコールゲートウェイ)、T2: BYOVD カーネルブリッジ、T3: DMA ハードウェア(今後の作業)。

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
リポジトリを見る
26日前未レビュー
共有

Cheat Engine Undetectable

アカデミックリサーチ版 — サイバーセキュリティ教育および大学レベルのリバースエンジニアリング研究のための、多層型アンチチート回避機能を備えた改変版 Cheat Engine。

免責事項: このプロジェクトは学術研究、大学の課題、サイバーセキュリティ教育のみを目的としています。学期終了後は必ず破棄してください。


アーキテクチャ

root@kitploit:~
┌─────────────────────────────────────────────────────────┐
│                    Cheat Engine 7.5                      │
│                   (Lazarus / FreePascal)                  │
├─────────────────────────────────────────────────────────┤
│  T1: ユーザーモード回避                                  │
│  ├─ ウィンドウ/プロセス/レジストリ名のランダム化 (-daltname)│
│  ├─ PEメタデータの除去 & セクション名の変更               │
│  ├─ Rich Headerの除去 & タイムスタンプのランダム化        │
│  ├─ ダイレクトシステムコールスタブ (ntdll.dllフックの回避) │
│  └─ ディスクからの動的システムコール番号抽出              │
├─────────────────────────────────────────────────────────┤
│  T2: カーネルブリッジ (BYOVD — WinNotify.sys)             │
│  ├─ アンチチート検出 (10エンジン)                         │
│  ├─ Microsoft署名ドライバ (WinNotify.sys / signeddrv.sys) │
│  ├─ IOCTLによるカーネル仮想メモリR/W (物理マッピングなし)  │
│  ├─ 任意プロセスに対するCR3ベースのページテーブルウォーク  │
│  ├─ カーネルベース開示IOCTLによるKASLR回避                │
│  ├─ ObCallbackバイパス (カーネル構造体の操作)             │
│  └─ プロセス隠蔽 (PsActiveProcessLinksのアンリンク)       │
├─────────────────────────────────────────────────────────┤
│  T3: DMAハードウェア [未実装]                             │
│  └─ ハイパーバイザーレベルのACバイパス用PCIe FPGA/デバイス │
└─────────────────────────────────────────────────────────┘

対応マトリックス

ファイル構成

root@kitploit:~
.
├── README.md
├── Build.ps1                     # 自動ビルドパイプライン (CEのクローン、パッチ適用、ビルド)
├── .gitignore
├── src/
│   ├── cheatengine.lpi           # プロジェクト: メタデータ名変更、-daltname定義、出力名変更
│   ├── cheatengine.lpr           # メイン: 動的Application.Title
│   ├── NewKernelHandler.pas      # コア: T1+T2統合、関数ポインタ交換
│   ├── SyscallGateway.pas        # T1: ダイレクトシステムコールスタブ (Read/Write/Open/VQE)
│   ├── AntiCheatDetector.pas     # T2: AC検出 — プロセス、ドライバ、サービス
│   ├── PhysicalMemory.pas        # T2: ドライバローダー + IOCTLによる物理メモリR/W
│   ├── KernelBridge.pas          # T2: カーネルバイパスオーケストレーター + ObCallback無効化
│   ├── StealthHiding.pas         # T2: PsActiveProcessLinksアンリンクによるプロセス隠蔽
│   ├── PEPatcher.ps1             # ビルド後PE変異
│   └── Build-Stealth.ps1         # レガシー単体ビルドスクリプト
└── cheat-engine/                  # 上流CEソース (Build.ps1によってクローン)

動作原理

ティア1: ユーザーモード回避

表面難読化 — CEの組み込み {$ifdef altname} 条件付きコンパイルを使用:

  • ウィンドウタイトル: "Cheat Engine 7.5" の代わりに "Runtime Modifier"
  • レジストリキー: \Software\Cheat Engine\ の代わりに \Software\Runtime Modifier\
  • すべてのユーザー向け文字列: "Modification"、"Code Table" など
  • PEメタデータ: 汎用的な会社/ファイル説明、バージョン情報の除去
  • 出力名: cheatengine-x86_64.exe の代わりに sysdiag64.exe

システムコールゲートウェイ — CEのDBKカーネルドライバは無効化されています(その証明書ハッシュはEAC/BEによってブラックリスト登録されています)。代わりに、すべてのメモリアクセス関数(ReadProcessMemory、WriteProcessMemory、VirtualQueryEx、OpenProcess)はダイレクト syscall 命令スタブを通じてリダイレクトされます:

  • アンチチートフックがアクティブになる前にディスクから ntdll.dll を読み取ります
  • PEエクスポートテーブルを解析して生のシステムコール番号を抽出します
  • アセンブリスタブを生成: mov r10, rcx; mov eax, [syscall_num]; syscall; ret
  • EAC/BEによってインストールされた ntdll.dll 内のユーザーモードフックをバイパスします

ティア2: カーネルブリッジ (BYOVD — WinNotify.sys)

ObRegisterCallbacks を介したハンドル作成をブロックするカーネルレベルアンチチート向け:

  1. 検出: EAC/BEドライバ(EasyAntiCheat.sys、BEDaisy.sys)とサービスをスキャン
  2. ドライバ読み込み: Windowsサービスコントロールマネージャ経由で WinNotify.sys / signeddrv.sys(Microsoft Authenticode署名、2026年、0件のVT検出)を読み込み
  3. KASLR回避 (IOCTL 0x22200C): カーネルのロード済みモジュールリストから直接 ntoskrnl.exe ベースアドレスを読み取り
  4. カーネル仮想メモリR/W (IOCTL 0x222040/0x222044): 任意のカーネル仮想アドレスを読み書き — 物理アドレス変換は不要
  5. EPROCESSウォーク: Systemプロセス(PID=4)を検出し、ActiveProcessLinks を辿って対象ゲームプロセスを特定
  6. CR3ページテーブルウォーク (IOCTL 0x222050/0x222054): ゲームの DirectoryTableBase を使用して、自身のページテーブルを通じて仮想メモリを読み書き
  7. : なし、 なし — ObCallbacksに対して完全に不可視

ティア3: DMAハードウェア (未実装)

ハイパーバイザーレベルのアンチチート(Vanguard、Faceit)に対しては、カーネルとハイパーバイザーの両方の保護をバイパスしてバスから物理RAMを読み取るPCIe DMAデバイスが必要です。将来の研究拡張として文書化されています。

前提条件

  1. Lazarus IDE 3.x + FreePascal 3.2.2: https://www.lazarus-ide.org/
  2. Git — 上流CEリポジトリのクローン用
  3. 管理者権限(ドライバの読み込みとプロセスアクセスに必要)
  4. WinNotify.sys / signeddrv.sys — 以下を提供するMicrosoft署名カーネルドライバ:
    • 任意のカーネル仮想メモリ読み取り (IOCTL 0x222040)
    • 任意のカーネル仮想メモリ書き込み (IOCTL 0x222044)
    • プロセスごとのCR3ページテーブルウォーカー (IOCTL 0x222050/0x222054)
    • C:\Windows\System32\drivers\ またはコンパイル済み実行ファイルと同じ場所に配置

ビルド手順

root@kitploit:~
git clone https://github.com/NulledNah/cheat-engine-undetectable.git
cd cheat-engine-undetectable
.\Build.ps1 -Clean

# LazarusがC:\lazarusにない場合:
.\Build.ps1 -Clean -LazarusPath "D:\lazarus"

スクリプトの処理:

  1. 上流のCheat Engineをクローン(存在しない場合)
  2. パッチ済みファイルを上流ソースにコピー
  3. ビルド識別子(バージョン、ビルド番号)をランダム化
  4. Release 64-Bitモードで lazbuild を使用してコンパイル
  5. PEPatcherを実行してRich Headerの除去、セクション名の変更、タイムスタンプのランダム化
  6. bin\sysdiag64.exe を出力

実行時動作

root@kitploit:~
sysdiag64.exeを起動
  │
  ├─ DetectAntiCheat() → 実行中のACエンジンをスキャン
  │
  ├─ [カーネルACが検出されない場合]
  │   └─ T1アクティブ: すべての操作でシステムコールバイパス
  │
  ├─ [EAC/BE検出 + WinNotify.sys利用可能]
  │   ├─ SCM経由でドライバを読み込み
  │   ├─ IOCTL 0x22200C → カーネルベースをリーク (KASLR回避)
  │   ├─ IOCTL 0x222040 → PsInitialSystemProcessを読み取り → ActiveProcessLinksをウォーク
  │   ├─ ゲームのEPROCESSを検出 → DirectoryTableBase (CR3) を抽出
  │   ├─ 自身のプロセスを列挙から隠蔽
  │   └─ すべてのメモリ操作はCR3ページテーブルウォーク経由 (ハンドルゼロ、OpenProcessゼロ)
  │
  └─ [Vanguard/Faceit検出]
      └─ 警告: ハイパーバイザーAC — T3が必要 (DMAハードウェア、未実装)

学術的コンテキスト

このプロジェクトは以下のサイバーセキュリティ概念を示しています:

  • CVEエクスプロイト: CVE-2019-16098 — 非特権ユーザーモードから任意の物理メモリマッピングを可能にする署名済みドライバの脆弱性
  • カーネルオブジェクト操作: EPROCESS、ObCallbacks、ページテーブル構造の直接変更
  • PEファイル形式: Rich Header、セクションヘッダー、デバッグディレクトリのプログラム的操作
  • アンチチートアーキテクチャ: 検出スタックの理解: ユーザーモードフック → カーネルコールバック → ハイパーバイザー保護
  • Windows内部構造: x64ページング(PML4→PDP→PD→PT)、システムコール機構、オブジェクトマネージャー、サービスコントロールマネージャー
  • 回避技術: 表面難読化、システムコールゲートウェイ、ハンドルクローキング、プロセス隠蔽、BYOVD

制限事項

  • Vanguard はハイパーバイザーレベル(ブート時ドライバ)で動作し、T3(DMAハードウェア)なしではバイパスできません
  • Faceit/ESEA はレイヤードカーネル + ハイパーバイザー保護を使用 — T3が必要
  • WinNotify.sys は将来のWindowsアップデートでMicrosoftのドライバブロックリストに追加される可能性があります
  • HVCI/VBSが有効なWindows 11では、有効なMicrosoft署名があってもドライバがブロックされる可能性があります
  • EPROCESSオフセットはWindowsビルドによって異なります。含まれているリストは10 22H2と11 23H2をカバーしています

参考文献

  • WinNotify.sys / signeddrv.sys: Microsoft署名の脆弱なカーネルドライバ(2026年、0件のVT検出)
  • Cheat Engine: https://github.com/cheat-engine/cheat-engine
  • Windows NTカーネル: ObRegisterCallbacks、PsActiveProcessLinks、EPROCESS、CR3/DirectoryTableBase
  • Lazarus IDE: https://www.lazarus-ide.org/
  • LOLDrivers: https://www.loldrivers.io/

学術利用のみ — このプロジェクトは大学の論文/研究カリキュラムの一部です。大学の方針に従い、学期終了後は必ず破棄されます。

ツールをダウンロード
アンチチートタイプ戦略ステータス
Warden (Blizzard)ユーザーモードT1動作可能
VAC (Valve)ユーザーモードT1動作可能
XIGNCODE3ユーザーモードドライバT1動作可能
EasyAntiCheatカーネルドライバT2WinNotify.sysが必要
BattlEyeカーネルドライバT2WinNotify.sysが必要
nProtect GameGuardカーネルドライバT2WinNotify.sysが必要
Ricochet (CoD)カーネルドライバT2部分的
Vanguard (Riot)ハイパーバイザーT3 (DMA)未実装
Faceit / ESEAカーネル + ハイパーバイザーT3 (DMA)未実装
ハンドル不要
OpenProcess
NtReadVirtualMemory
  • プロセス隠蔽: CEのEPROCESSを PsActiveProcessLinks からアンリンク