
UNIX系リバースエンジニアリングフレームワークおよびコマンドラインツールセット
<a href="https://radare.org/"><img border=0 src="https://assets.kitploit.com/production/public/readmes/3006/3a698148c5a0a1bc714cb3ac4439316f08cf2349b8cd75366bc1b9d2bf7f9c22.png" alt="screenshot" align="left" width="128px"></a>
## Radare2: Unixギークのための自由なリバーシングフレームワーク
[](https://github.com/radareorg/radare2/actions/workflows/ci.yml?query=branch%3Amaster) [](https://github.com/radareorg/radare2/actions/workflows/build.yml?query=branch%3Amaster) [](https://github.com/radareorg/radare2/actions/workflows/tcc.yml)
[](https://bestpractices.coreinfrastructure.org/projects/741) [](https://scan.coverity.com/projects/416) [](https://discord.gg/YBey7CR9jf)
現在のgit `master`ブランチは`6.2.5`で、次のリリースは`6.2.6`になります。
### 説明
r2はradareの完全な書き直しです。リバースエンジニアリング作業を容易にするためのライブラリ、ツール、プラグインのセットを提供します。LGPLv3の下で配布されていますが、各プラグインは異なるライセンスを持つ場合があります(詳細は`r2 -Lj`を参照)。
**radare**プロジェクトは、フォレンジックに焦点を当てたシンプルなコマンドラインヘックスエディタとして始まりました。今日、r2は組み込みのJavascriptインタプリタまたはr2pipeを介したスクリプトをサポートする、フル機能の低レベルコマンドラインツールです。
r2はローカルハードドライブ上のファイルを編集し、カーネルメモリを表示し、プログラムをローカルまたはリモートのgdb/windbgサーバー経由でデバッグすることができます。r2の幅広いアーキテクチャサポートにより、あらゆるバイナリを分析、エミュレート、デバッグ、変更、逆アセンブルすることができます。
<p align="center">
<a href="https://www.radare.org/"><img src="https://assets.kitploit.com/production/public/readmes/3006/c19b136adc5b00ffa9e295f2624beea0f7fb78e36cfa8081c31116b9a5723a85.png" alt="screenshot" align="center" border=0 width="600px"></a>
</p>
## インストール
最新の[リリース](https://github.com/radareorg/radare2/releases)バイナリをダウンロードしてください。
radare2をインストールする推奨方法は、Gitリポジトリのソースからです:
```sh
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`](https://github.com/radareorg/radare2/blob/master/dist/nix/README.md) 以下で Nix パッケージングを提供しています。
### ソースビルド
* r2 は `git` から、または `r2env` を使用して `pip` 経由でインストールできます。
* Windows ビルドにはコンパイラとして meson と msvc または mingw が必要です
* 現在の r2 のビルドをアンインストールするには `make uninstall` を実行します
* r2 のシステムインストールをすべてアンインストールするには `sudo make purge` を実行します
Windows では .bat スクリプトと msvc を使用します:
```bat
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](https://github.com/radareorg/iaito): 公式の Qt グラフィカルインターフェース
* [keystone](https://github.com/radareorg/radare2-extras/tree/master/keystone) Keystone ライブラリを使用したアセンブラ命令
* [decai](https://github.com/radareorg/r2ai) AI ベースのデコンパイラ
* [r2ai](https://github.com/radareorg/r2ai) r2 内で Llama を使って localhost で言語モデルを実行!
* [r2dec](https://github.com/wargio/r2dec-js): JS で書かれた r2 ベースのデコンパイラで、`pdd` コマンドでアクセスします
* [r2diaphora](https://github.com/FernandoDoming/r2diaphora): radare2 上に構築された [Diaphora](https://github.com/joxeankoret/diaphora) のバイナリ差分エンジン
* [r2flutter](https://github.com/trufae/r2flutter): Android および iOS アプリ向けの Dart/Flutter AOT スナップショット解析
* [r2frida](https://github.com/nowsecure/r2frida): frida io プラグイン。使用するには `r2 frida://0` で r2 を起動します
* [r2ghidra](https://github.com/radareorg/r2ghidra): `pdg` でアクセスできるスタンドアロンのネイティブ ghidra デコンパイラ
* [r4ghidra](https://github.com/radareorg/r4ghidra): Ghidra の中で radare の喜びを感じよう
* [r2papi](https://github.com/radareorg/radare2-r2papi) r2pipe 上の高レベル API
* [r2pipe](https://github.com/radareorg/radare2-r2pipe) 任意のプログラミング言語から radare2 をスクリプト化
* [r2poke](https://github.com/radareorg/radare2-extras/tree/master/r2poke) 拡張バイナリ解析機能のための GNU/Poke との統合
* [goresym](https://github.com/hanemile/radare2-GoReSym): GoReSym シンボルをフラグとしてインポート
* [r2yara](https://github.com/radareorg/r2yara) r2 から Yara を実行、または Yara から r2 プリミティブを使用
* [radius2](https://github.com/radareorg/radius2): boolector と esil に基づく高速なシンボリック実行エンジン
* [r2sarif](https://github.com/radareorg/r2sarif) SARIF ドキュメントのインポート/拡張/エクスポート
* [r2hermes](https://github.com/radareorg/r2hermes) React Native Hermes バイトコードの逆アセンブラおよびアナライザ
* [r2renef](https://github.com/Ahmeth4n/r2renef) Radare2 用 Renef IO プラグイン - 動的な Android インストルメンテーション
* [r2unity](https://github.com/radareorg/r2unity): radare2 から Unity IL2CPP メタデータとネイティブバイナリを検査
* [warrp](https://github.com/radareorg/warrp) binary ninja の WARP フォーマット用ネイティブ radare2 プラグイン
## 使用方法
r2 を使い始めるための最初のステップです。詳細については書籍を読むか、チュートリアルを探してください
```sh
$ 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](https://github.com/radareorg/radare2-pm)パッケージマネージャーを使用することで、その機能を拡張できます。
```sh
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
```
## リソース
* [公式ブック](https://book.rada.re): r2 の使用方法について読む
* [COMMUNITY.md](https://github.com/radareorg/radare2/blob/master/COMMUNITY.md): コミュニティへの参加と緩やかなガイドライン
* [CONTRIBUTING.md](https://github.com/radareorg/radare2/blob/master/CONTRIBUTING.md): 問題の報告と
貢献に関する情報。[Contributing](#contributing) も参照
* [DEVELOPERS.md](https://github.com/radareorg/radare2/blob/master/DEVELOPERS.md): r2 の開発ガイドライン
* [SECURITY.md](https://github.com/radareorg/radare2/blob/master/SECURITY.md): 脆弱性を報告するための手順
* [USAGE.md](https://github.com/radareorg/radare2/blob/master/USAGE.md): いくつかのコマンド例
* [INSTALL.md](https://github.com/radareorg/radare2/blob/master/INSTALL.md): make または meson を使用したインストール手順
## ドキュメント
r2 についてさらに学ぶには、[r2con](https://rada.re/con) の [youtube トーク](https://www.youtube.com/c/r2con)を視聴してください。また、多くのブログ記事、スライドデッキ、[公式 radare2 ブック](https://book.rada.re)もありますが、公式チャットのいずれかに参加して質問やフィードバックを投稿するのも常に良いアイデアです。
## コミュニティ
* ウェブサイト: [https://www.radare.org/](https://www.radare.org/)
* Discord: [サーバー](https://discord.gg/YBey7CR9jf)
* Mastodon: [@radareorg](https://infosec.exchange/@radareorg)
* Telegram: [メイン](https://t.me/radare) および [サイド](https://t.me/radare_side) チャンネル
* [irc.libera.chat](https://libera.chat): `#radare`、`#radare_side`
* [Matrix](https://matrix.to/#/#radare:matrix.org): `#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。
## ファイルフォーマット
ELF、Mach-O、Fatmach-O、PE、PE+、MZ、COFF、XCOFF、OMF、TE、XBE、SEP64、BIOS/UEFI、BFLT、Pebble apps、
Apple Dyldcache、Kernelcache、MCLF trustlets、DEX、ART、Java class、Android boot image、Plan9 executables、Amiga HUNK、
ZIMG、MBN/SBL bootloader、ELF coredump、MDMP (Windows minidump)、PDP11、XTAC、CGC、DotNet、
WASM (WebAssembly binary)、Commodore VICE emulator、DOL、QNX、WAD、OFF、TIC-80、
GB/GBA、PSX、PRG (C64)、Apple Classic PEF、NDS、z64、N3DS
...
## ファイルシステム
NTFS、FAT、HFS+、EXT、APFS、BeosFS、BFS、MINIX、ReiserFS、SFS、ubifs、ufs、jfs、ISO9660、UDF、xfs など、いくつかのファイルシステムをユーザーランドでマウント
## パッケージング状況
* [](https://snapcraft.io/radare2)
* [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions) [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions) [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions) [](https://repology.org/project/radare2/versions)
* [](https://repology.org/project/radare2/versions) [](https://repology.org/project/radare2/versions)