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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ropium — 自動化されたROPチェーンビルダーで、セマンティッククエリを使用してバイナリからガジェットを抽出・解析し、X86/X64アーキテクチャをサポートします。Python APIとCLIを備えています。 | Kitploit
ツール/GitHubGitHub/boyan-milanov/ropium
エクスプロイトフレームワークリバースエンジニアリングシェルコードペイロード開発バイナリエクスプロイト
GitHubboyan-milanov/ropium

ropium

自動化されたROPチェーンビルダーで、セマンティッククエリを使用してバイナリからガジェットを抽出・解析し、X86/X64アーキテクチャをサポートします。Python APIとCLIを備えています。

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

人気

すべて見る →

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

すべてのツールを探索

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

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




概要

ROPium(旧称ROPGenerator)は、ROPエクスプロイトを簡単にするライブラリ/ツールです。バイナリからガジェットを自動的に抽出・解析し、セマンティッククエリを使ってROPチェーンを見つけることができます。ROPiumはX86およびX64アーキテクチャをサポートしており、近々ARMにも対応予定です。

主な機能:

  • 簡単: ROPiumはスムーズなコマンドラインインターフェースで即座に使用できます
  • Python API: Python APIのおかげでスクリプトにROPiumを簡単に統合できます
  • 自動連鎖: ROPiumはガジェットを自動的に組み合わせて複雑なROPチェーンを生成します
  • 高度な機能: ROPiumはさまざまなABIの関数呼び出し、システムコールなどをサポートしています
  • セマンティッククエリ: ROPiumのクエリは素早く簡単に記述できます: rax=rbx+8, [rdi+0x20]=rax, rsi=[rbx+16], 0x08040212(1, 2, rax), [0xdeadbeaf] = "/bin/sh\x00", sys_execve(0xdeadbeef, 0, 0), sys_0x1(0), ...

目次

  • 概要
  • インストール
  • はじめに
    • CLIツール
    • Python API
  • Docker
  • 連絡先
  • ライセンス
  • 謝辞

インストール

まず、Capstone 逆アセンブルフレームワークをインストールします:

root@kitploit:~
  sudo apt-get install libcapstone-dev

また、最新のROPgadgetリリースが必要です:

root@kitploit:~
  git clone https://github.com/JonathanSalwan/ROPgadget && cd ROPgadget
  python setup.py install --user 

CLIツールを使用するには、prompt_toolkitをインストールします:

root@kitploit:~
  pip3 install prompt_toolkit

最後にROPiumをインストールします:

root@kitploit:~
  git clone https://github.com/Boyan-MILANOV/ropium && cd ropium
  make
  make test
  sudo make install 

はじめに

CLIツール

コマンドラインインターフェースラッパーにより、ROPiumを対話的に使用してROPチェーンを迅速に構築できます:

Python API

ROPチェーンをスクリプトに直接統合する必要がありますか?朗報です。ROPiumにはPython APIがあります!

バイナリを読み込んでROPチェーンを見つける:

root@kitploit:~
from ropium import *
rop = ROPium(ARCH.X64)
rop.load('/lib/x86_64-linux-gnu/libc-2.27.so')

chain = rop.compile('rbx = [rax + 0x20]')

さまざまな形式でROPチェーンをダンプする:

root@kitploit:~
>>> print( chain.dump() )

0x000000000009a851 (sub rax, 0x10; ret)
0x0000000000130018 (mov rax, qword ptr [rax + 0x30]; ret)
0x0000000000052240 (push rax; pop rbx; ret)

>>> print(chain.dump('python'))

from struct import pack
off = 0x0
p = ''
p += pack('<Q', 0x000000000009a851+off) # sub rax, 0x10; ret
p += pack('<Q', 0x0000000000130018+off) # mov rax, qword ptr [rax + 0x30]; ret
p += pack('<Q', 0x0000000000052240+off) # push rax; pop rbx; ret

>>> print(chain.dump('raw'))

b'Q\xa8\t\x00\x00\x00\x00\x00\x18\x00\x13\x00\x00\x00\x00\x00@"\x05\x00\x00\x00\x00\x00'

ROPチェーンに制約を設定する:

root@kitploit:~
# Bytes that should not appear in the ropchain
rop.bad_bytes = [0x00, 0x0a, 0x0b]

# Register that should not be clobbered by the ropchain
rop.keep_regs = ['rsi', 'rdx']

# Enable/Forbid ropchain to dereference registers that might hold invalid addresses
# Safe mode is 'True' by default
rop.safe_mem = False

# Specify which ABI you want to use when calling functions
rop.abi = ABI.X86_CDECL

# Specify which system to target when doing syscalls
rop.os = OS.LINUX

Docker

必要に応じて、ROPiumをDockerコンテナ内で実行できます。コンテナはDockerfileから以下のように生成できます:

root@kitploit:~
# Create your docker image (this will take time!)
docker build . --tag ropium

# Run the image in interactive mode, bind mounting the file to analyze
docker run --rm -it -v /FULL/HOST/PATH/FILE:/tmp/FILE:ro ropium

(ropium)> load -a X86 /tmp/FILE

実際のイメージは、Python 3.7.3がインストールされたDebian Stretchをベースにしており、約200MBです。

連絡先

Boyan MILANOV - boyan.milanov (at) hotmail (dot) fr

ライセンス

ROPiumはMITライセンスの下で提供されています。

謝辞

貢献者:

  • Dockerコンテナサポート: migounette, clslgrnc

ROPiumは以下の素晴らしいプロジェクトを使用しています:

  • capstone : 逆アセンブルフレームワーク
  • ROPgadget : ガジェット抽出ツール
  • prompt-toolkit : Python CLIインターフェースライブラリ
ツールをダウンロード