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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
e9patch — 強力な静的バイナリ書き換えツール | Kitploit
ツール/GitHubGitHub/gjduck/e9patch
リバースエンジニアリングファジングバイナリ解析バイナリエクスプロイト
GitHubgjduck/e9patch

e9patch

強力な静的バイナリ書き換えツール

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

人気

すべて見る →

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

すべてのツールを探索

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

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

  E9Patch - 強力な静的バイナリ書き換えツール

E9Patchは、x86_64 Linux ELFバイナリのための強力な静的バイナリ書き換えツールです。 E9Patchは以下を特徴とします:

  • スケーラブル: E9Patchは、Webブラウザ(100MB以上)を含む大規模/複雑なバイナリを確実に書き換えられます。
  • 互換性: 書き換えられたバイナリは元のバイナリのドロップイン代替となり、追加の依存関係はありません。
  • 高速: E9Patchはほとんどのバイナリを数秒で書き換えられます。
  • 低オーバーヘッド: パフォーマンスとメモリの両方において。
  • プログラム可能: E9Patchは他のプロジェクトに簡単に統合できるよう設計されています。 詳細はE9ToolユーザーガイドおよびE9Patchプログラマーズガイドを参照してください。

静的バイナリ書き換えは、入力バイナリ(ELF実行ファイルまたは共有オブジェクト)を受け取り、パッチ/変更が適用された出力バイナリを生成します。 パッチ適用済みのバイナリは元のバイナリのドロップイン代替として使用できます。

リリース

ビルド済みのE9Patchバイナリは以下からダウンロードできます:

  • https://github.com/GJDuck/e9patch/releases

ビルド

E9Patchのビルドは非常に簡単です: build.shスクリプトを実行するだけです。

これにより、自動的に2つのツールがビルドされます:

  1. e9patch: バイナリ書き換えバックエンド
  2. e9tool: E9Patch用の線形逆アセンブルフロントエンド

使用例

E9PatchはE9Toolフロントエンドを介して使用できます。

例えば、xterm内のすべてのxor命令に命令表示計装を追加するには、以下のコマンドを使用できます:

root@kitploit:~
    $ ./e9tool -M 'asm=/xor.*/' -P print xterm

これにより、a.outファイルに書き込まれたxtermの修正版が生成されます。

修正されたxtermは通常通り実行できますが、実行された各xor命令のアセンブリ文字列をstderrに出力します:

root@kitploit:~
    $ ./a.out
    xorl %ebp, %ebp
    xorl %ebx, %ebx
    xorl %eax, %eax
    xorl %edx, %edx
    xorl %edi, %edi
    ...

サポートされているオプションとモードの完全なリストについては、以下を参照してください:

root@kitploit:~
    $ ./e9tool --help

プロジェクト

E9Patchを使用しているその他のプロジェクトには以下が含まれます:

  • RedFat: 低脂肪ポインタに基づくバイナリ堅牢化システム。
  • E9AFL: バイナリにAFL計装を自動的に挿入します。
  • E9Syscall: libc.soの静的バイナリ書き換えを使用したシステムコールインターセプト。
  • Hopper: ライブラリの自動ファジングテストケース生成。
  • EnvFuzz: プログラム環境ファジング。
  • RFF: 並行性テストのためのグレーボックスファジング。
  • AutoTrace: シンプルなソース行ベースのトレーシング。

ドキュメント

E9Patchは、他のプロジェクトに統合可能なように設計された低レベルツールです。 詳細については、以下のドキュメントを参照してください:

  • E9Patchプログラマーズガイド
  • E9Toolユーザーガイド

バグ

バグはこちらから報告できます:

  • https://github.com/GJDuck/e9patch/issues

バージョン

現在のバージョンのE9Patchは、PLDI'2020論文で評価された元のプロトタイプと比較して大幅に改善されています。 具体的には:

  • 現在のバージョンではいくつかの新しい最適化が実装されており、場合によっては2倍の速度でバイナリを生成できます。新しい最適化を有効にするには、E9Toolに-O2オプションを渡してください。
  • 物理ページグループ化空間最適化の実装も改善されました。
  • パッチ適用範囲もわずかに改善されました。
  • 多くの新機能が実装されました(ドキュメントを参照)。

ライセンス

このソフトウェアはGNU Public License (GPL) Version 3の下で公開されています。

一部の特定のファイルはMITライセンスの下で公開されています(ファイルの前文を確認してください)。

出版物

詳細については、PLDI'2020論文を参照してください:

  • Gregory J. Duck, Xiang Gao, Abhik Roychoudhury, Binary Rewriting without Control Flow Recovery, Programming Language Design and Implementation (PLDI), 2020.
  • PLDI'2020 presentation on Youtube

論文は以下のように引用してください:

root@kitploit:~
    @inproceedings{e9patch,
        author = {Duck, Gregory J. and Gao, Xiang and Roychoudhury, Abhik},
        title = {Binary rewriting without control flow recovery},
        year = {2020},
        publisher = {Association for Computing Machinery},
        url = {https://doi.org/10.1145/3385412.3385972},
        doi = {10.1145/3385412.3385972},
        booktitle = {Programming Language Design and Implementation (PLDI)}
    }

謝辞

本研究の一部は、National Research Foundation (NRF) Singaporeの国家サイバーセキュリティ研究開発(NCR)プログラムの下で資金提供されたNational Satellite of Excellence in Trustworthy Software Systemsによって支援されました。

ツールをダウンロード