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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ptxNinja — CUDAベースのGPUの仮想命令セットアーキテクチャであるPTXをリバースエンジニアリングするためのBinary Ninjaプラグイン。 | Kitploit
ツール/GitHubGitHub/seekbytes/ptxninja
静的分析コード分析リバースエンジニアリングユーティリティとフレームワークハードウェアとIoTセキュリティバイナリ解析
GitHubseekbytes/ptxninja

ptxNinja

CUDAベースのGPUの仮想命令セットアーキテクチャであるPTXをリバースエンジニアリングするためのBinary Ninjaプラグイン。

リポジトリを見る
624126ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

ptxNinja

作者: Nicolò Altamura

Binary Ninja で PTX コードを探索する

説明

ptxNinja は、CUDA ベースの GPU の仮想アーキテクチャ用言語である PTX を対象とした Binary Ninja のアーキテクチャプラグインです。これにより、次のことが可能になります:

  • 既に利用可能な解析を統合して PTX バイナリを探索する
  • GPU カーネルと関数をナビゲートする
  • Binary Ninja のおかげで、PTX を既存の自動化ツールに統合する

Attention mechanism reverse engineered (PTX)

インストール

プラグインは Binary Ninja のプラグインマネージャーを使用してインストールできます。

手動でインストールする場合は、Binary Ninja のプラグインフォルダで次の手順に従ってください:

root@kitploit:~
git clone https://github.com/seekbytes/ptxninja.git
cd ptxninja

# optionally: use a virtual environment
python -m venv ptxninja-env
source ptxninja-env/bin/activate

# install requirements
pip install ptx-parser

仮想環境を使用する場合は、Binary Ninja の設定で site-packages のパスを手動で設定する必要があります。

例

どこから始めればよいかわからない場合、または PTX ファイルを見たことがない場合は、examples/ ディレクトリにあるいくつかのトイカーネルを確認するとよいでしょう。これには次のものが含まれます:

  • attention.ptx — attention メカニズムのカーネル
  • elu.ptx — ELU (Exponential Linear Unit) 活性化関数
  • gele.ptx — GELU (Gaussian Error Linear Unit) 活性化関数
  • gemm.ptx — 一般的な行列乗算
  • histogram.ptx — ヒストグラム計算カーネル
  • layernorm.ptx — Layer Normalization カーネル
  • matrix.ptx — 行列演算
  • multi_tensor.ptx — マルチテンソル演算
  • reduce_sum.ptx — 並列リダクション和カーネル
  • relu.ptx — ReLU 活性化関数
  • softmax.ptx — Softmax 活性化関数

制限事項

PTX はテキスト形式の言語に基づいており、nvdisasm/cuobjdump の出力にはバイナリに挿入される大量の情報が既に含まれています。テキストを扱うには、パーサーをテストするための正確な文法を構築する必要がありますが、いくつかの制限があります:

  • ラベルが対象の命令と時々一致せず、Binary Ninja での制御フローの可視化が不正確になる可能性があります
  • 関数スコープ外で宣言されたグローバルステートメントはサポートされていません
  • 関数外で割り当てられたメモリ空間はマッピングされません
  • すべてのアトミック操作 (atom) が完全にサポートされているわけではありません
  • シンボル名はデマングルされません — cuobjdump/cufilt による整形はまだ適用されていません

連絡先

詳細については、Nicolò Altamura (@nicolodev) までお問い合わせください。

ツールをダウンロード