업데이트로 돌아가기
New releaseAug 8, 2026

radare2 v6.2.0

UNIX 계열 리버스 엔지니어링 프레임워크 및 명령줄 도구 모음

공유

스크린샷

Radare2: Unix 괴짜를 위한 자유 리버싱 프레임워크

Latest packaged version Tests Status build tcc CII Best Practices Build Status Discord

현재 git master 브랜치는 6.2.0이며, 다음 릴리스는 6.2.1입니다.

설명

r2는 radare의 완전한 재작성입니다. 리버스 엔지니어링 작업을 더 쉽게 해주는 라이브러리, 도구 및 플러그인 세트를 제공합니다. 각 플러그인은 서로 다른 라이선스를 가질 수 있지만(자세한 내용은 r2 -Lj 참조), LGPLv3로 배포됩니다.

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를 실행하면 기본 acr+make+symlink 설치가 진행됩니다.
  • 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

리소스

문서

r2conYouTube 강연을 시청하여 r2에 대해 더 알아보세요. 또한 많은 블로그 게시물, 슬라이드덱, 공식 radare2 서적이 있습니다. 공식 채팅에 참여하여 질문이나 피드백을 남기는 것이 항상 좋은 생각입니다.

커뮤니티

지원 플랫폼

운영 체제

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 앱, Apple Dyldcache, Kernelcache, MCLF trustlets, 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와 같은 여러 파일 시스템을 마운트합니다.

패키징 상태

  • Snap package
  • Termux package
  • Alpine Linux 3.23 package Alpine Linux 3.22 package
  • Arch package
  • Fedora 42 Fedora 41
  • Homebrew package MacPorts package
  • Haiku Ports Void Linux

카테고리