
UNIX系リバースエンジニアリングフレームワークおよびコマンドラインツールセット
現在の git master ブランチは 6.2.2 で、次のリリースは 6.2.4 になります。
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
sys/install.sh を実行しますradare2 は dist/nix の下に Nix パッケージを提供しています。
git から、または r2env を使用して pip 経由でインストールできます。make uninstall を実行します。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 を使用する多くのプラグインやツールを参照およびインストールできます。
pdd コマンドでアクセスしますr2 frida://0 で r2 を起動しますpdg でアクセスできるスタンドアロンのネイティブ ghidra 逆コンパイラこれらは 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
r2con の youtube トークを見て r2 について詳しく学んでください。ブログ記事、スライドデッキ、公式 radare2 ブックも多数ありますが、公式チャットのいずれかに参加して質問やフィードバックを投稿するのも常に良いアイデアです。
#radare、#radare_side#radare:matrix.orgWindows(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 アプリ、 Apple Dyldcache、Kernelcache、MCLF trustlets、DEX、ART、Java クラス、Android ブートイメージ、Plan9 実行ファイル、Amiga HUNK、 ZIMG、MBN/SBL ブートローダ、ELF coredump、MDMP (Windows minidump)、PDP11、XTAC、CGC、DotNet、 WASM (WebAssembly バイナリ)、Commodore VICE エミュレータ、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 などの複数のファイルシステムをユーザーランドでマウントします。