radare2 — 보안 분석 및 진단

최신 도구 가이드 / 보안 분석 및 진단 / radare2.html

보안 분석 및 진단원문등록 2026-10-18

디스어셈블·디버깅·리버스 엔지니어링을 하나의 프레임워크로 제공하는 오픈소스 도구 모음입니다.

기본 정보

프로그램 이름radare2 (라디아레2)
한 줄 소개디스어셈블·디버깅·리버스 엔지니어링을 하나의 프레임워크로 제공하는 오픈소스 도구 모음입니다.
개발·유지radareorg (pancake / Sergi Alvarez)
공식 홈페이지https://www.radare.org/
공식 문서https://book.rada.re/
공식 다운로드https://github.com/radareorg/radare2/releases
지원 운영체제Linux, macOS, Windows, BSD, Android
라이선스LGPL-3.0-only
안정 버전6.2.2 (2026-09-06 공개) — 확인일 2026-10-18
GitHub 저장소https://github.com/radareorg/radare2
분류보안 분석 및 진단 (태그: 리버싱, 디스어셈블, 바이너리 분석)

이 프로그램은 무엇인가?

radare2(줄여서 r2)는 실행 파일·펌웨어 바이너리를 열어 내부 구조를 살펴보고, 디스어셈블하고, 필요하면 디버깅까지 하는 오픈소스 리버스 엔지니어링 프레임워크입니다.

단일 모놀리식 GUI가 아니라 r2 셸과 rabin2·rasm2·radiff2 같은 작은 도구들로 구성되어 있어, 명령줄 스크립트에 넣거나 기존 분석 파이프라인에 붙이기 쉽습니다. x86·ARM·MIPS·RISC-V 등 60종 이상 아키텍처를 다룹니다.

어떤 문제를 해결하는가?

  • 출처를 모르는 실행 파일의 내부 동작을 확인해야 할 때.
  • 펌웨어 이미지에서 문자열·함수 구조를 빠르게 훑어야 할 때.
  • Ghidra·IDA처럼 큰 GUI 없이 명령줄에서 바이너리 비교·분석을 자동화해야 할 때.
  • 지원 아키텍처가 다양해야 하는 교육·연구 환경에서 라이선스 부담을 줄여야 할 때.

주요 기능

디스어셈블과 세션 관리

바이너리를 열어 섹션·심볼·디스어셈블을 탐색하고 분석 세션을 저장합니다.

  • 활용 상황: PE·ELF 실행 파일의 main 함수 흐름을 따라갑니다.
  • 얻는 결과: 함수 단위 디스어셈블과 호출 구조를 얻습니다.
  • 제한 사항: 수만 줄짜리 바이너리는 분석 시간이 길어질 수 있습니다.

rabin2 정보 추출

실행 파일에서 아키텍처·섹션·심볼·내장 문자열을 빠르게 추출합니다.

  • 활용 상황: 파일을 열기 전에 개요만 먼저 봅니다.
  • 얻는 결과: 엔트리포인트, imports, 문자열 목록을 얻습니다.
  • 제한 사항: 상세 분석은 r2 본체 셸에서 수행해야 합니다.

에뮬레이션·디버깅

기본 디버거 연동과 함께 코드 에뮬레이션으로 일부 흐름을 가상 실행합니다.

  • 활용 상황: 실기기 없이 특정 함수만 흘려보며 결과를 확인합니다.
  • 얻는 결과: 레지스터·메모리 변화를 추적합니다.
  • 제한 사항: 에뮬레이션은 완전한 시스템 동작을 재현하지 못합니다.

스크립팅

r2pipe를 통해 Python·Node 등에서 분석 명령을 프로그래밍적으로 호출합니다.

  • 활용 상황: 수백 개 바이너리를 동일 기준으로 일괄 스캔합니다.
  • 얻는 결과: 분석 결과를 구조화 데이터로 수집합니다.
  • 제한 사항: 스크립트 작성에 r2 명령 문법 학습이 선행되어야 합니다.

설치 및 실행

공식 저장소 (Linux/macOS)

공식 GitHub 저장소를 클론해 설치 스크립트를 실행합니다.

git clone --depth 1 https://github.com/radareorg/radare2
cd radare2
sys/install.sh

Ubuntu / Debian (저장소 버전)

배포판 저장소 버전은 구버전일 수 있으므로 버전을 확인합니다.

sudo apt update
sudo apt install radare2
r2 -v

Windows

릴리스 페이지의 Windows 빌드 또는 소스 빌드를 사용합니다.

# https://github.com/radareorg/radare2/releases

실제 사용 예제

정보 요약

파일을 열지 않고 아키텍처·심볼 개요만 봅니다.

rabin2 -I /usr/bin/ls

디스어셈블 (예시)

r2로 열어 자동 분석 후 main 근처를 디스어셈블합니다. 출력은 예시입니다.

r2 -A /usr/bin/ls
pdf @main

문자열 추출

파일에 포함된 printable 문자열을 추출합니다.

rabin2 -z /usr/bin/ls

장점과 한계

장점

  • LGPL 라이선스로 상업적 제한이 적고 완전히 오픈소스입니다.
  • 60종 이상 CPU 아키텍처를 지원해 펌웨어·임베디드 분석에 유용합니다.
  • 작고 조합 가능한 도구 구성이라 자동화 파이프라인에 넣기 쉽습니다.
  • GUI 없이 서버 환경에서 돌릴 수 있습니다.

사용 전에 고려할 점

  • 명령 체계가 방대해 초보자 학습 곡선이 가파릅니다.
  • 대형 GUI 리버싱 도구(Ghidra 등)에 비해 디컴파일 편의성이 떨어집니다.
  • 배포판 저장소 버전이 공식 최신 버전보다 뒤처지는 경우가 많습니다.
  • 일부 최신 아키텍처 기능은 개발 버전에서만 지원될 수 있습니다.

비슷한 프로그램과 비교

프로그램특징이런 경우에 적합
GhidraNSA가 공개한 리버싱 프레임워크로 디컴파일러와 GUI가 강력합니다.대형 프로젝트를 GUI로 깊게 분석할 때.
IDA Free정평 있는 상용 리버서의 무료 버전입니다.표준 x86/x64 바이너리를 익숙한 환경으로 분석할 때.
objdumpbinutils에 포함된 기본 디스어셈블러입니다.파일 하나의 디스어셈블만 간단히 볼 때.

공식 자료 및 추가 학습

버전·지원 환경 정보는 2026-10-18 기준으로 공식 사이트에서 확인한 값입니다. 설치 명령은 사용하는 배포판과 버전에 따라 달라질 수 있으므로 공식 설치 문서를 함께 확인하세요.

실제 실행 화면

radare2 동반 도구 rabin2의 파일 정보 추출 결과를 서버 풍으로 재구성한 합성 예시입니다. 화면은 합성 예시이며 실제 실행 결과가 아닙니다.

radare2 rabin2 명령으로 ELF 파일 정보(arch, bintype, bits 등)를 추출한 터미널 화면

실제 운영 중인 서버

이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.