
radare2 v6.2.2
UNIX系リバースエンジニアリングフレームワークおよびコマンドラインツールセット
Radare2: Unixギークのための自由なリバーシングフレームワーク
現在のgit masterブランチは6.2.5で、次のリリースは6.2.6になります。
説明
r2はradareの完全な書き直しです。リバースエンジニアリング作業を容易にするためのライブラリ、ツール、プラグインのセットを提供します。LGPLv3の下で配布されていますが、各プラグインは異なるライセンスを持つ場合があります(詳細はr2 -Ljを参照)。
radareプロジェクトは、フォレンジックに焦点を当てたシンプルなコマンドラインヘックスエディタとして始まりました。今日、r2は組み込みのJavascriptインタプリタまたはr2pipeを介したスクリプトをサポートする、フル機能の低レベルコマンドラインツールです。
r2はローカルハードドライブ上のファイルを編集し、カーネルメモリを表示し、プログラムをローカルまたはリモートのgdb/windbgサーバー経由でデバッグすることができます。r2の幅広いアーキテクチャサポートにより、あらゆるバイナリを分析、エミュレート、デバッグ、変更、逆アセンブルすることができます。
インストール
最新のリリースバイナリをダウンロードしてください。
radare2をインストールする推奨方法は、Gitリポジトリのソースからです:
git clone https://github.com/radareorg/radare2
radare2/sys/install.sh
- デフォルトの acr+make+symlink インストールには
sys/install.shを実行します - meson/ninja(muon/samu も動作します)および make ビルドがサポートされています。
Nix
radare2 は dist/nix 以下で Nix パッケージングを提供しています。
ソースビルド
- r2 は
gitから、またはr2envを使用してpip経由でインストールできます。 - Windows ビルドにはコンパイラとして meson と msvc または mingw が必要です
- 現在の r2 のビルドをアンインストールするには
make uninstallを実行します - r2 のシステムインストールをすべてアンインストールするには
sudo make purgeを実行します
Windows では .bat スクリプトと msvc を使用します:
preconfigure.bat REM setup python, meson, ninja
configure.bat REM run meson b + vs project
make.bat REM run ninja -C b
prefix\bin\radare2.exe
人気のプラグイン:
r2pm ツールを使用すると、radare2 を使用する多くのプラグインやツールを閲覧してインストールできます。
- iaito: 公式の Qt グラフィカルインターフェース
- keystone Keystone ライブラリを使用したアセンブラ命令
- decai AI ベースのデコンパイラ
- r2ai r2 内で Llama を使って localhost で言語モデルを実行!
- r2dec: JS で書かれた r2 ベースのデコンパイラで、
pddコマンドでアクセスします - r2diaphora: radare2 上に構築された Diaphora のバイナリ差分エンジン
- r2flutter: Android および iOS アプリ向けの Dart/Flutter AOT スナップショット解析
- r2frida: frida io プラグイン。使用するには
r2 frida://0で r2 を起動します - r2ghidra:
pdgでアクセスできるスタンドアロンのネイティブ ghidra デコンパイラ - r4ghidra: Ghidra の中で radare の喜びを感じよう
- r2papi r2pipe 上の高レベル API
- r2pipe 任意のプログラミング言語から radare2 をスクリプト化
- r2poke 拡張バイナリ解析機能のための GNU/Poke との統合
- goresym: GoReSym シンボルをフラグとしてインポート
- r2yara r2 から Yara を実行、または Yara から r2 プリミティブを使用
- radius2: boolector と esil に基づく高速なシンボリック実行エンジン
- r2sarif SARIF ドキュメントのインポート/拡張/エクスポート
- r2hermes React Native Hermes バイトコードの逆アセンブラおよびアナライザ
- r2renef Radare2 用 Renef IO プラグイン - 動的な Android インストルメンテーション
- r2unity: radare2 から Unity IL2CPP メタデータとネイティブバイナリを検査
- warrp binary ninja の WARP フォーマット用ネイティブ radare2 プラグイン
使用方法
r2 を使い始めるための最初のステップです。詳細については書籍を読むか、チュートリアルを探してください
$ r2 /bin/ls # open file in read-only
> aaa # analyse the program (r2 -A)
> afl # list all functions (try aflt, aflm)
> px 32 # print 32 byte hexdump current block
> s sym.main # seek to main (using flag name)
> f~foo # filter flags matching 'foo' (internal |grep)
> iS;is # list sections and symbols (rabin2 -Ss)
> pdf; agf # disassembly and ascii-art function graph
> oo+;w hello # reopen in read-write and write a string
> ?*~... # interactive filter in all command help
> q # quit
多くのプラグインはデフォルトでr2に含まれています。しかし、r2pmパッケージマネージャーを使用することで、その機能を拡張できます。
r2pm -s <word> # search packages matching a word
r2pm -Uci <pkg> # update database and clean install a package
r2pm -u <pkg> # uninstall the given package
r2pm -l <pkg> # list installed packages
リソース
- 公式ブック: r2 の使用方法について読む
- COMMUNITY.md: コミュニティへの参加と緩やかなガイドライン
- CONTRIBUTING.md: 問題の報告と 貢献に関する情報。Contributing も参照
- DEVELOPERS.md: r2 の開発ガイドライン
- SECURITY.md: 脆弱性を報告するための手順
- USAGE.md: いくつかのコマンド例
- INSTALL.md: make または meson を使用したインストール手順
ドキュメント
r2 についてさらに学ぶには、r2con の youtube トークを視聴してください。また、多くのブログ記事、スライドデッキ、公式 radare2 ブックもありますが、公式チャットのいずれかに参加して質問やフィードバックを投稿するのも常に良いアイデアです。
コミュニティ
- ウェブサイト: https://www.radare.org/
- Discord: サーバー
- Mastodon: @radareorg
- Telegram: メイン および サイド チャンネル
- irc.libera.chat:
#radare、#radare_side - Matrix:
#radare:matrix.org
対応プラットフォーム
オペレーティングシステム
Windows (x86/x64/arm64 は XP 以降)、Linux、Darwin、GNU/Hurd、Apple の {Mac,i,iPad,watch}OS、 Android、Wasmer、[Dragonfly, Net, Free, Open] BSD、Z/OS、QNX、SerenityOS、Solaris、AIX、 Haiku、Vinix、FirefoxOS。
アーキテクチャ
i386、x86-64、Alpha、ARM、AVR、BPF、sBPF、MIPS、PowerPC、SPARC、RISC-V、SH、m68k、 S390、XCore、CR16、HPPA、ARC、Blackfin、Z80、H8/300、V810、PDP11、m680x、V850、 CRIS、XAP (CSR)、PIC、LM32、8051、6502、i4004、i8080、Propeller、EVM、OR1K Tricore、CHIP-8、LH5801、T8200、GameBoy、SNES、SPC700、MSP430、Xtensa、xcore、 NIOS II、Java、Dalvik、Pickle、WebAssembly、MSIL、EBC、TMS320 (c54x、c55x、 c55+、c64x)、Hexagon、Brainfuck、Malbolge、whitespace、DCPU16、LANAI、lm32、 MSIL、InfernoDis、UXN、Cosmac、PythonBytecode、Sharp sm5xx MCPus、FreeScale QIQa、 MCORE、mcs96、RSP、SuperH-4、VAX、KVX、Am29000、LOONGARCH、JDH8、s390x、STM8。

