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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
XenoScan — C++で書かれたオープンソースのメモリスキャナ | Kitploit
ツール/GitHubGitHub/nickcano/xenoscan
メモリフォレンジックエクスプロイトリバースエンジニアリングデバッガバイナリ解析
GitHubnickcano/xenoscan

XenoScan

C++で書かれたオープンソースのメモリスキャナ

リポジトリを見る
369705年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

XenoScan

XenoScan は、プロセスのメモリをスキャンして重要な値の特定の場所を見つけるために使用できるメモリスキャナです。この種のツールは、通常ビデオゲームのハッキングに使用され、ゲームの状態を表す値をメモリ内で特定することを可能にします。

XenoScan は C++ で記述されており、Lua フロントエンドを持っています。そして、私がこれまで見てきた他のメモリスキャナにはない高度な機能に取り組んできました。特に、ターゲットのメモリ空間内のすべての複雑なデータ構造(std::list や std::map など)を列挙して返す方法があり、さらにクラスインスタンスをスキャンし、発見されたインスタンスをその基本型ごとにグループ化することもできます。

連絡先

連絡を取りたい場合、チャットの場所が必要な場合、または質問がある場合は、私の Discord が最適です。

サブプロジェクト

XenoLua

XenoLua は Lua のラッパーで、多くの機能を提供します。最も顕著なのは、C/C++ 型と Lua 型の間の変換機能をラップする LuaVariant クラスを提供することです。さらに、LuaPrimitive クラスには Lua を扱うためのヘルパー関数があります。

XenoScanEngine

XenoScanEngine はプロジェクトの主要部分です。スキャン、データ構造検出、その他すべてのコードが含まれています。

XenoScanLua

XenoScanLua は XenoScanEngine と XenoLua を結びつけ、スキャナの Lua スクリプト可能なフロントエンドを提供します。現在、これがスキャナへの唯一のエントリポイントです。

さらに、このプロジェクトには正常に動作することを確認するためのテストコードがいくつか含まれています。テストは .cpp、.h、.lua ファイルの組み合わせです。スキャナの使用例については、.lua テストファイルを確認できます。

コンパイル

XenoScan は CMake を使用しており、Visual Studio 2017 でテストされています。このバージョンの VS を使用するには、32bit Developer Command Prompt for VS から buildmsvc2017.bat を実行するだけです。例として、Visual Studio 2017 用のプロジェクトをビルドするには、以下のコマンドを実行します。

root@kitploit:~
cd C:\path\to\XenoScan
buildmsvc2017.bat

これにより、build ディレクトリ(例:C:\path\to\XenoScan\build)に XenoScan.sln というファイルが作成されます。その後、このソリューションファイルを使用して Visual Studio でコードをコンパイルします。x64 ビルドも同様ですが、x64 Native Tools Command Prompt for VS から実行します。

root@kitploit:~
cd C:\path\to\XenoScan
buildmsvc2017x64.bat

32bit ビルドと x64 ビルドを切り替える際には、buildclean.bat を実行する必要があります。これにより、生成されたプロジェクトファイルが削除され、コンパイル済みの LuaJIT バイナリが削除されます(正しいアーキテクチャ用に再ビルドする必要があるため、自動的に行われます)。

注:これらのプロンプトの名前がなぜこんなに異なるのか、私にはわかりません。重要なのは、プロンプトによって設定される vcvars がビルド対象のアーキテクチャに対応していることです。これは主に LuaJIT のビルドで重要です。いずれにせよ、ビルドスクリプトは間違った場所から実行していることを教えてくれます。

理論上は、CMake を使用してプロジェクトファイルを生成すれば、比較的新しいコンパイラであればコードをビルドできるはずです。コンパイルする前に、サブモジュールをチェックアウトしていることを確認する必要があります。その後、luajit サブモジュールをビルド して、XenoScan がライブラリとリンクできるようにする必要もあります。luajit のビルド方法

ここで「比較的新しい」とは、コードが C++17 を使用しているため、C++17 をサポートするものを指します。また、CMake のバージョンは 3.10 以上である必要があります。

プラットフォーム

コードはプラットフォームに依存しないように設計されています。理論的には、他のプラットフォームでコンパイルするには、以下の手順が必要です。

  1. ターゲットの IDE/コンパイラ用のプロジェクト/メイクファイルを作成する。
  2. ScannerTargetWindows.cpp と ScannerTargetWindows.h ファイルをプロジェクトから削除する。
  3. ScannerTarget インターフェースをプラットフォーム向けに実装する。
  4. 実装をプロジェクトに追加する。
  5. ???? 利益

機能

基本スキャン機能では以下の型をサポートしています:

  • 整数型*:
    • int8_t
    • uint8_t
    • int16_t
    • uint16_t
    • int32_t
    • uint32_t
    • int64_t
    • uint64_t
  • float
  • double
  • ascii 文字列
  • ワイド文字列
  • 動的な値(現在の状態に対して相対的に検索される値)
    • filetime64:64ビットタイムスタンプ(Windows の GetSystemTimeAsFileTime())
    • ticktime32:32ビットティックカウント(Windows の GetTickCount())

* Lua フロントエンドは64ビット整数で問題が発生する可能性がありますが、スキャナライブラリはサポートしています。

スキャンは以下の種類のマッチングをサポートしています:

  • 等しい
  • より大きい
  • 以上
  • より小さい
  • 以下
  • 範囲(min <= check <= max)

さらに、以下の型のすべてのインスタンスを検出する機能があります:

  • std::map
  • std::list
  • 仮想関数テーブルを持つ任意のクラス
ツールをダウンロード
  • カスタムデータ構造(C++ の struct を想定)
    • 整数型と小数型の任意の組み合わせを含むことができます