
UNIX 계열 리버스 엔지니어링 프레임워크 및 명령줄 도구 모음
현재 git master 브랜치는 6.2.5이며, 다음 릴리스는 6.2.6이 될 예정입니다.
r2는 radare를 완전히 재작성한 것입니다. 리버스 엔지니어링 작업을 용이하게 하기 위한 라이브러리, 도구 및 플러그인 세트를 제공합니다. LGPLv3에 따라 배포되지만, 각 플러그인은 서로 다른 라이선스를 가질 수 있습니다(자세한 내용은 r2 -Lj 참조).
radare 프로젝트는 포렌식에 초점을 맞춘 단순한 명령줄 16진수 편집기로 시작했습니다. 오늘날 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
r2에 대해 더 알아보려면 r2con의 youtube 강연을 시청하세요. 또한 많은 블로그 글, 슬라이드 덱, 공식 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.