Открытый фреймворк для обратной разработки и анализа бинарных файлов. Включает дизассемблер, отладчик, hex-редактор, скриптование через Python и r2lang, поддержку десятков архитектур (x86, ARM, MIPS, RISC-V и др.) и форматов (ELF, PE, Mach-O). Полноценная альтернатива IDA Pro; также существует графический интерфейс Cutter.
git clone https://github.com/radareorg/radare2 cd radare2 && sys/install.sh # Открыть бинарник r2 ./binary # Полный анализ [0x00000000]> aaa [0x00000000]> pdf @ main
Текущая ветка master в git — это 6.1.9, следующий релиз будет 6.2.0.
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 для установки по умолчанию с помощью acr+make+symlink.radare2 предоставляет упаковку Nix в каталоге dist/nix.
git или через pip, используя r2env.make uninstall.sudo make purge.На Windows используйте скрипты .bat и msvc:
preconfigure.bat REM настройка python, meson, ninja
configure.bat REM запуск meson b + vs проекта
make.bat REM запуск ninja -C b
prefix\bin\radare2.exe
С помощью инструмента r2pm вы можете просматривать и устанавливать множество плагинов и инструментов, использующих radare2.
pddr2 frida://0 для его использованияpdgВот первые шаги для работы с r2, прочитайте книгу или найдите учебники для более подробной информации.
$ r2 /bin/ls # открыть файл в режиме только для чтения
> aaa # проанализировать программу (r2 -A)
> afl # вывести список всех функций (попробуйте aflt, aflm)
> px 32 # вывести hex-дамп 32 байт текущего блока
> s sym.main # перейти к main (используя имя флага)
> f~foo # отфильтровать флаги, соответствующие 'foo' (внутренний |grep)
> iS;is # вывести список секций и символов (rabin2 -Ss)
> pdf; agf # дизассемблирование и граф функции в ASCII-графике
> oo+;w hello # повторно открыть в режиме чтение-запись и записать строку
> ?*~... # интерактивный фильтр во всей справке по командам
> q # выход
Многие плагины включены в r2 по умолчанию. Но вы можете расширить его возможности, используя менеджер пакетов r2pm.
r2pm -s <слово> # поиск пакетов, соответствующих слову
r2pm -Uci <пакет> # обновить базу данных и установить пакет заново (чистая установка)
r2pm -u <пакет> # удалить указанный пакет
r2pm -l <пакет> # вывести список установленных пакетов
Узнайте больше о r2, посмотрев выступления на YouTube с r2con. Также существует множество записей в блогах, презентаций и официальная книга radare2, но всегда полезно присоединиться к любому из официальных чатов и задать там свои вопросы или поделиться отзывами.
#radare, #radare_side#radare:matrix.orgWindows (начиная с XP для x86/x64/arm64), Linux, Darwin, GNU/Hurd, {Mac,i,iPad,watch}OS от Apple, 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, DEX, ART, классы Java, загрузочный образ Android, исполняемые файлы Plan9, Amiga HUNK, ZIMG, загрузчик MBN/SBL, ядро ELF, MDMP (минидамп Windows), 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