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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ROPgadget — ELF、PE、Mach-O、Raw バイナリ内の ROP ガジェットを x86、ARM、MIPS、RISC-V アーキテクチャにわたって検索します。自動 ROP チェーン生成と対話型コンソールモードをサポートします。 | Kitploit
ツール/GitHubGitHub/jonathansalwan/ropgadget
ペイロード生成エクスプロイトリバースエンジニアリングCTFバイナリ解析バイナリエクスプロイトバイナリ解析 第18位バイナリエクスプロイト 第5位CTF 第8位リバースエンジニアリング 第16位
4.5k57992ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

ROPgadget

ELF、PE、Mach-O、Raw バイナリ内の ROP ガジェットを x86、ARM、MIPS、RISC-V アーキテクチャにわたって検索します。自動 ROP チェーン生成と対話型コンソールモードをサポートします。

リポジトリを見る

ROPgadget ツール

このツールは、バイナリ上のガジェットを検索して ROP エクスプロイトを容易にするためのものです。 ROPgadget は、x86、x64、ARM、ARM64、PowerPC、SPARC、MIPS、RISC-V 64、および RISC-V Compressed アーキテクチャ上の ELF/PE/Mach-O/Raw 形式をサポートしています。

インストール

最も簡単な方法は PyPi から ROPgadget をインストールすることです:

root@kitploit:~
$ sudo apt install python3-pip
$ sudo -H python3 -m pip install ROPgadget
$ ROPgadget --help

別の方法として、ソースから ROPgadget をインストールすることもできます。 最初に Capstone をインストールする必要があります。

nix マシンへの Capstone のインストールの場合:

root@kitploit:~
$ sudo apt install python3-pip
$ sudo -H python3 -m pip install capstone

Capstone はマルチプラットフォーム (Windows, iOS, Android, Cygwin...) をサポートしています。クロスコンパイルについては、https://github.com/capstone-engine/capstone/blob/master/COMPILE.TXT ファイルを参照してください。

Capstone がインストールされたら、ROPgadget はスタンドアロンツールとして使用できます:

root@kitploit:~
$ python3 ROPgadget.py --help

または Python の site-packages ライブラリにインストールし、$PATH から実行できます。

root@kitploit:~
$ sudo -H python3 setup.py install
$ ROPgadget --help

使い方

root@kitploit:~
usage: ROPgadget.py [-h] [-v] [-c] [--binary <binary>] [--opcode <opcodes>]
                    [--string <string>] [--memstr <string>] [--depth <nbyte>]
                    [--only <key>] [--filter <key>] [--range <start-end>]
                    [--badbytes <byte>] [--rawArch <arch>] [--rawMode <mode>]
                    [--rawEndian <endian>] [--re <re>] [--offset <hexaddr>]
                    [--ropchain] [--thumb] [--console] [--norop] [--nojop]
                    [--callPreceded] [--nosys] [--multibr] [--all] [--noinstr]
                    [--dump] [--silent] [--align ALIGN] [--mipsrop <rtype>]

description:
  ROPgadget は、バイナリ上のガジェットを検索できるようにします。複数のファイル形式とアーキテクチャをサポートし、検索エンジンに Capstone 逆アセンブラを使用します。

formats supported:
  - ELF
  - PE
  - Mach-O
  - Raw

architectures supported:
  - x86
  - x86-64
  - ARM
  - ARM64
  - MIPS
  - PowerPC
  - Sparc
  - RISC-V 64
  - RISC-V Compressed

optional arguments:
  -h, --help            このヘルプメッセージを表示して終了
  -v, --version         ROPgadget のバージョンを表示
  -c, --checkUpdate     新しいバージョンが利用可能か確認
  --binary <binary>     分析するバイナリファイル名を指定
  --opcode <opcodes>    実行可能セグメント内のオペコードを検索
  --string <string>     読み取り可能セグメント内の文字列を検索
  --memstr <string>     すべての読み取り可能セグメント内の各バイトを検索
  --depth <nbyte>       検索エンジンの深さ (デフォルト 10)
  --only <key>          特定の命令のみ表示
  --filter <key>        特定のニーモニックを除外
  --range <start-end>   2つのアドレス間を検索 (0x...-0x...)
  --badbytes <byte>     ガジェットのアドレス内の特定のバイトを拒否
  --rawArch <arch>      生ファイルのアーキテクチャを指定
                        x86|arm|arm64|sparc|mips|ppc|riscv
  --rawMode <mode>      生ファイルのモードを指定 32|64|arm|thumb
  --rawEndian <endian>  生ファイルのエンディアンを指定 little|big
  --re <re>             正規表現
  --offset <hexaddr>    ガジェットアドレスのオフセットを指定
  --ropchain            ROP チェーン生成を有効化
  --thumb               検索エンジンにサムモードを使用 (ARM のみ)
  --console             検索エンジンに対話型コンソールを使用
  --norop               ROP 検索エンジンを無効化
  --nojop               JOP 検索エンジンを無効化
  --callPreceded        呼び出し前に位置するガジェットのみ表示
  --nosys               SYS 検索エンジンを無効化
  --multibr             複数分岐ガジェットを有効化
  --all                 重複ガジェットの削除を無効化
  --noinstr             ガジェット命令のコンソール出力を無効化
  --dump                ガジェットのバイトを出力
  --silent              分析中のガジェット出力を無効化
  --align ALIGN         ガジェットアドレスを整列 (バイト単位)
  --mipsrop <rtype>     MIPS の有用なガジェットファインダー
                        stackfinder|system|tails|lia0|registers

examples:
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --ropchain
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --depth 3
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --string "main"
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --string "m..n"
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --opcode c9c3
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --only "mov|ret"
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --only "mov|pop|xor|ret"
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --filter "xchg|add|sub|cmov.*"
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --norop --nosys
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --range 0x08041000-0x08042000
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --string main --range 0x080c9aaa-0x080c9aba
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --memstr "/bin/sh"
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --console
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --badbytes "00|01-1f|7f|42"
  ROPgadget.py --binary ./test-suite-binaries/Linux_lib64.so --offset 0xdeadbeef00000000
  ROPgadget.py --binary ./test-suite-binaries/elf-ARMv7-ls --depth 5
  ROPgadget.py --binary ./test-suite-binaries/elf-ARM64-bash --depth 5
  ROPgadget.py --binary ./test-suite-binaries/raw-x86.raw --rawArch=x86 --rawMode=32
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-RISCV_64 --depth 8

どのように貢献できますか?

  • PPC、Sparc、ARM64 用のシステムガジェットを追加する (Gadgets.addSYSGadgets())。
  • RISC-V 32-bit をサポートする。
  • ROP チェーン生成中のデータ内の bad bytes を処理する。
  • ELF クラスのように Mach-O 形式でビッグエンディアンを管理する。
  • あなたがクールだと思うすべてのこと :)

バグ/パッチ/連絡先

バグの報告、プルリクエストの送信などは、GitHub (https://github.com/JonathanSalwan/ROPgadget) にてお願いします。

ライセンス

LICENSE_BSD.txt およびすべてのソースファイルのライセンスヘッダーを参照してください。

スクリーンショット

x64

ARM

Sparc

MIPS

PowerPC

ROP チェーン

ツールをダウンロード