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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
binja_dynamics — Binary Ninja 用 binjatron プラグインの PyQt5 フロントエンドで、初心者がリバースエンジニアリングを学びやすくするためのハイライト機能を備えています。 | Kitploit
ツール/GitHubGitHub/nccgroup/binja_dynamics
動的分析 (サンドボックス)リバースエンジニアリングデバッガバイナリ解析学習と教育
GitHubnccgroup/binja_dynamics

binja_dynamics

Binary Ninja 用 binjatron プラグインの PyQt5 フロントエンドで、初心者がリバースエンジニアリングを学びやすくするためのハイライト機能を備えています。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Binary Ninja Dynamic Analysis Tools

このプロジェクトは、Binary Ninja 用の binjatron プラグインに PyQt5 フロントエンドを追加するもので、リバースエンジニアリングを学び始めたばかりの初心者が学習しやすいようにするためのハイライト機能が含まれています。

動機

x86 バイナリをリバースエンジニアリングする能力は、情報セキュリティ業界の外でも重要なスキルです。しかし、利用可能なトレーニング教材が豊富にあるにもかかわらず、習得が難しいスキルであることに変わりはありません。多くの学生が、単純なバイナリであってもそれなりの進歩を遂げるには多くの背景知識が必要であることに不満を表明しています。

Binary Ninja は、比較的低価格で、クリーンなインターフェース、そして使いやすさから、学生向けに販売されることがよくあります。低レベルおよび中レベルの中間言語も、命令が何を行うかを理解するための簡単な方法を提供します。このプロジェクトは、バイナリの実行を視覚化しやすくすることで、Binary Ninja を初心者にとってさらに優れたツールにすることを目的としています。

コンポーネント

  • Binjatron によるデバッグ
  • デバッガツールバー
  • レジスタビューア
  • スタックビューア
  • バックトレースビューア

起源

このプロジェクトは、NCC Group の 2017 年サマーインターンシッププログラムの成果物です。ビジュアルデバッグコンポーネントは、Matasano Security が制作した組み込みセキュリティ CTF である Microcorruption の精神的後継と考えることができます。今後のアップデートは https://github.com/ehennenfent/binja_dynamics で追跡されます。 NCC Group は、2017 年 8 月 18 日以降にリポジトリに加えられた変更について一切責任を負いません。

インストール

Binary Ninja プラグインフォルダ 内で、次を実行してください:

root@kitploit:~
git clone https://github.com/ehennenfent/binja_dynamics.git
cd binja_dynamics
./install.sh

使用方法

バイナリを読み込んだ後、ツールメニューの Enable Dynamic Analysis Tools 項目をクリックします。デバッガウィンドウが表示され、ツールバーのボタンで制御できます。実行をステップ実行すると、UI はプログラムの状態を反映してリアルタイムに更新されます。Binjatron のおかげで、現在の命令とブレークポイントはバイナリビューでハイライト表示されます。各メモリアドレスとレジスタについて、直前の命令の結果として値が変更された場合は、その値がオレンジ色でハイライトされます。同様に、現在のスタックフレームの先頭と末尾(および戻りアドレスの予測位置)がハイライトされ、初心者がメモリのどの部分に注目すべきかを識別しやすくなります。トレースバックビューアは現在のスタックフレームのバックトレースを表示し、プラグインが戻りアドレスを見つけると予測するメモリアドレスの位置にバイナリビューを自動的にジャンプするボタンを提供します。一部の関数では、スタックフレームがプラグインの想定どおりに破棄されないため、この予測された戻りアドレスは常に正しいとは限りません。

Screenshot

ハイライト

(上記のスクリーンショットでは、ベースポインタはオリーブグリーンで表示されています)

  • 現在の命令 - 赤
  • ブレークポイント - 青
  • 変更されたメモリまたはレジスタ - オレンジ色のテキスト
  • スタックポインタ - ライトグリーン
  • ベースポインタ - ライトブルー
  • 予測された戻りアドレス - 赤
  • 命令ポインタ(該当する場合) - ブライトレッド

ドキュメント

コード

インターフェースの正確な動作を理解するために、ソースコードを参照しなければならない場合があります。これに備えて、設計上の決定事項や実装の詳細の多くはインラインコメントで説明されています。

Wiki

wiki はまだ比較的内容が少ないですが、つまずきやすい点のリストや開発ログなどのコンテンツは、トラブルシューティングに役立つかもしれません。

例

始める際に役立つ例については、binja_sensei リポジトリ を参照することを検討してください。

現在の制限事項

  • 現在、x86(64) Linux バイナリのみがサポートされています。この制限があっても、binja_dynamics や Voltron が処理できない動作をするバイナリが存在する可能性があります。遭遇したエラーについては、プルリクエストまたは issue を送信することをお勧めします。
  • binja_dynamics は Ubuntu 16.04 でのみテストされています。ターミナルリダイレクションの仕組み上、Windows のサポートはおそらく不可能ですが、他の Unix プラットフォームでは十分な機能を実現できる可能性があります。繰り返しになりますが、プルリクエストと issue を歓迎します。
  • Binary Ninja と binjatron は Python 2.7 ベースであるため、binja_dynamics をインストールする前に、Ubuntu に同梱されている GDB のバージョンを Python 2.7 をサポートするバージョンに置き換える必要があります。インストールスクリプトは、新しい Ubuntu 16.04 VM でこれを正常に実行できることが確認されていますが、GDB のアップデート、Ubuntu のアップデート、またはプリインストールされたコンポーネント(新しい VM にインストールしていない場合)によっては失敗する可能性があります。
  • パフォーマンス上の理由から、メモリビューアはスタックセグメントと BSS セグメントの内容のみを表示します。
  • 詳細については Issues を参照してください

サードパーティコンテンツ

  • binja_dynamics は、GPLv2 ライセンスの qthexedit のフォークを使用しています。
  • アイコンに使用されている画像は、クリエイティブコモンズライセンスの下でライセンスされています。出典については attribution.txt を参照してください。

必須要件

  • binjatron
  • binja_toolbar
  • binja_spawn_terminal
  • voltron
  • PyQt5
  • Binary Ninja

Binary Ninja を除き、install.sh がこれらの依存関係を処理します。

ツールをダウンロード