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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ddisasm — Datalogベースの逆アセンブラで、ELF/PEバイナリから再アセンブル可能なアセンブリを生成します。x86、ARM、MIPSアーキテクチャにわたるバイナリ解析と書き換えのためのGTIRB中間表現を備えています。 | Kitploit
ツール/GitHubGitHub/grammatech/ddisasm
静的分析リバースエンジニアリングデバッガバイナリ解析ファームウェア解析
GitHubgrammatech/ddisasm

ddisasm

Datalogベースの逆アセンブラで、ELF/PEバイナリから再アセンブル可能なアセンブリを生成します。x86、ARM、MIPSアーキテクチャにわたるバイナリ解析と書き換えのためのGTIRB中間表現を備えています。

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

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ウェブサイト

Datalog ディスアセンブリ

DDisasm は、高速で逆アセンブル結果のアセンブリコードを再アセンブル可能なほど正確な逆アセンブラです。DDisasm は、datalog (souffle) 宣言型論理プログラミング言語を用いて実装されており、逆アセンブルのルールとヒューリスティックをコンパイルします。この逆アセンブラはまずELF/PEファイル情報を解析し、可能な命令のスーパーセットをデコードして、初期のdatalog ファクトセットを作成します。これらのファクトを解析して、コード位置、シンボル化、関数境界を特定します。この分析結果である洗練されたdatalog ファクトセットは、バイナリ分析とリバースエンジニアリングのための GTIRB 中間表現に変換されます。GTIRB pretty printer を使用して、GTIRBを再アセンブル可能なアセンブリコードに整形出力することができます。

バイナリサポート

バイナリフォーマット:

  • ELF (Linux)
  • PE (Windows)

命令セットアーキテクチャ (ISAs):

  • x86_32
  • x86_64
  • ARM32
  • ARM64
  • MIPS32

はじめに

Dockerを使用してDdisasmのプリビルド版を実行できます:

root@kitploit:~
docker pull grammatech/ddisasm:latest

Ddisasmはバイナリを GTIRB 表現に逆アセンブルするために使用できます。 リポジトリに含まれているサンプルの一つで試してみましょう。

まず、Ddisasm Dockerコンテナを起動します:

root@kitploit:~
docker run -v $PWD/examples:/examples -it grammatech/ddisasm:latest

Dockerコンテナ内で、サンプルの一つをビルドしましょう:

root@kitploit:~
apt update && apt install gcc -y
cd /examples/ex1
gcc ex.c -o ex

それでは、バイナリを逆アセンブルします:

root@kitploit:~
ddisasm ex --ir ex.gtirb

GTIRB表現を取得したら、GTIRB や gtirb-rewriting を使用してバイナリにプログラム的な変更を加えることができます。

次に、gtirb-pprinter(Dockerイメージに含まれています)を使用してバイナリの新しいバージョンを生成できます:

root@kitploit:~
gtirb-pprinter ex.gtirb -b ex_rewritten

内部的には、gtirb-pprinter はアセンブリファイルを生成し、コンパイラ/アセンブラ(例:gcc)を呼び出して新しいバイナリを生成します。gtirb-pprinter は、コンパイルオプション、ライブラリ依存関係、バージョンリンカスクリプトなど、新しいバイナリを生成するために必要なすべてのコマンドラインオプションの生成を処理します。

また、gtirb-pprinter を使用して手動変更用のアセンブリリストを生成することもできます:

root@kitploit:~
gtirb-pprinter ex.gtirb --asm ex.s

このアセンブリリストは手動で再コンパイルできます:

root@kitploit:~
gcc -nostartfiles ex.s -o ex_rewritten

詳細については、ドキュメント をご覧ください。

ドキュメント

貢献

CONTRIBUTING.md を参照してください。

外部コントリビューター

  • シドニー大学プログラミング言語グループ: ARM64の初期サポート。
  • Githubユーザー gogo2464: ドキュメントのリファクタリング。

引用

  1. Datalog Disassembly
root@kitploit:~
@inproceedings {flores-montoya2020,
    author = {Antonio Flores-Montoya and Eric Schulte},
    title = {Datalog Disassembly},
    booktitle = {29th USENIX Security Symposium (USENIX Security 20)},
    year = {2020},
    isbn = {978-1-939133-17-5},
    pages = {1075--1092},
    url = {https://www.usenix.org/conference/usenixsecurity20/presentation/flores-montoya},
    publisher = {USENIX Association},
    month = aug,
}
  1. GTIRB
root@kitploit:~
@misc{schulte2020gtirb,
    title={GTIRB: Intermediate Representation for Binaries},
    author={Eric Schulte and Jonathan Dorn and Antonio Flores-Montoya and Aaron Ballman and Tom Johnson},
    year={2020},
    eprint={1907.02859},
    archivePrefix={arXiv},
    primaryClass={cs.PL}
}
  1. Ddisasm WIS
root@kitploit:~
@INPROCEEDINGS{11023516,
  author={Flores-Montoya, Antonio and Lim, Junghee and Seitz, Adam and Sood, Akshay and Raff, Edward and Holt, James},
  booktitle={2025 IEEE Symposium on Security and Privacy (SP)},
  title={Disassembly as Weighted Interval Scheduling with Learned Weights},
  year={2025},
  volume={},
  number={},
  pages={3033-3050},
  keywords={Measurement;Privacy;Accuracy;Heuristic algorithms;Reverse engineering;Binary codes;Benchmark testing;Scheduling;Inference algorithms;Security;disassembly;reverse engineering;learning;binary analysis},
  doi={10.1109/SP61157.2025.00192}}
ツールをダウンロード