{{위키데이터 속성 추적}}
{{소프트웨어 정보
| 이름                        = Radare2
| 로고                        = Radare2 webui.png
| 개발자                      = pancake and the core-contributors
| 최근 버전                   = 1.0.2<ref>[http://rada.re 공식 웹사이트]</ref>
| 최근 버전 출시일            = {{시작 날짜와 나이|2016|11|10}}
| 프로그래밍 언어             = [[C (프로그래밍 언어)|C]]<ref>[https://github.com/radare/radare2 Git repository]</ref>
| 운영체제                   = [[마이크로소프트 윈도우]], [[맥 OS X]], [[리눅스]], [[BSD]], [[하이쿠 (운영 체제)|하이쿠]], [[안드로이드 (운영 체제)|안드로이드]], [[iOS]], [[솔라리스 (운영 체제)|솔라리스]], [[미고 (운영 체제)|미고]]
| 언어                        = [[영어]]
| 상태                        = 활성화
| 종류                        = [[디스어셈블러]]
| 라이선스                    = [[LGPL]]
| 웹사이트                    = {{URL|http://radare.org}}
}}

'''Radare2''' (또는 '''r2''')는 바이너리를 [[리버스 엔지니어링]]하고 분석하기 위한 완전한 [[프레임워크]]이다. 이것은 같이 사용되거나 [[명령 줄 인터페이스]]에서 독립적으로 사용될 수 있는 조그만 유틸리티들의 집합으로 이루어져 있다. [[역어셈블러]] 위주로 만들어진 이것은 여러 [[프로세서]]들과 [[운영 체제]]들을 위한 다양한 [[실행 파일]] 포맷을 지원한다.

== 특징과 사용 ==
Radare2는 [[그래픽 사용자 인터페이스]]를 갖지 않기 때문에 배우기 어렵다. 원래 헥사 에디터 위주로 만들어졌지만 지금은 많은 툴들과 특징들을 가지며 또한 여러 언어들을 위한 바인딩도 제공한다.<ref>[https://github.com/radare/radare2-bindings Git repository for radare2's bindings]</ref>

=== 정적 분석 ===
Radare2는 많은 것들을 어셈블하고 역어셈블할 수 있으며 또한 그래프를 이용한 [[Diff|바이너리 디핑]]과 재배치 심볼과 데이터의 여러 다른 타입들 같은 정보를 추출할 수 있다.<ref>[http://chatsubo-labs.blogspot.com/2013/10/binary-diffing-visual-en-linux-con.html "Binary Diffing" visual en Linux con Radare2]</ref> 내부적으로 이것은 분석 정보를 놓치지 않기 위해 [https://medium.com/@trufae/everything-is-a-string-9d626c98e59f sdb]로 불리는 [[NoSQL]] 데이터베이스를 사용한다. 이것은 radare2에 의해 추론될 수 있으며 또한 사용자에 의해 직접적으로 추가될 수도 있다. Radare2가 기형적인 바이너리들을 다룰 수 있기 때문에 [[소프트웨어 보안]] 연구자들에 의해 분석을 목적으로 사용될 수도 있다.<ref>{{웹 인용 |url=http://www.alienvault.com/open-threat-exchange/blog/osx-leveragea-analysis# |제목=AlienVault - OSX/Leverage.a Analysis |확인날짜=2016-01-21 |보존url=https://web.archive.org/web/20151223051641/https://www.alienvault.com/open-threat-exchange/blog/osx-leveragea-analysis# |보존날짜=2015-12-23 |url-status=dead }}</ref><ref>{{웹 인용 |url=http://www.devttys0.com/wp-content/uploads/2014/04/FindingAndReversingBackdoors.pdf |제목=Craig Heffner - Finding and Reversing Backdoors in Consumer Firmware |확인날짜=2016-01-21 |archive-date=2016-04-22 |archive-url=https://web.archive.org/web/20160422014511/http://www.devttys0.com/wp-content/uploads/2014/04/FindingAndReversingBackdoors.pdf |url-status=dead }}</ref><ref>PHDays IV, May 21, 2014, 'Anton Kochkov', ''Application of radare2 illustrated by Shylock/Caphaw.''</ref>

=== 동적 분석 ===
Radare2는 빌트인 디버거를 가지는데, 이것은 [[GNU 디버거|GDB]]보다 저수준이다. 그러나 GNU 디버거와 사용될수 있으며 심지어는 윈도우 바이너리를 디버그하기 위해 [[와인 (소프트웨어)|WineDBG]]<ref>{{웹 인용 |url=http://comments.gmane.org/gmane.comp.tools.radare/1013 |제목=Gmane archive about WinDBG support in radare2 |확인날짜=2016-01-21 |보존url=https://web.archive.org/web/20141102191952/http://comments.gmane.org/gmane.comp.tools.radare/1013 |보존날짜=2014-11-02 |url-status=dead }}</ref>와도 사용될 수 있다. 심지어는 VM웨어와 함께 [[커널 디버거]]로서 사용될 수도 있다. 또한 [[WinDbg]] 프로토콜을 위한 지원도 존재한다.

=== 소프트웨어 취약점 공격 ===
radare2가 역어셈블러와 저수준 디버거의 특징을 갖기 때문에, 또한 취약점 개발자들에게 유용하게 사용될 수 있다. 이 소프트웨어는 [[반환 지향형 프로그래밍|ROP]] 가젯 검색 엔진과 완화 탐지 같은 취약점 개발을 보조하는 특징을 갖는다. Radare2는 또한 [[메타스플로이트 프로젝트|메타스플로이트]]와 비슷하게, 이것의 'ragg2' 툴을 이용해서 [[셸코드]]를 생성하는 것을 도울 수 있다.

== 지원되는 아키텍처/포맷 ==
* 인식되는 파일 포맷
** COFF 계열, Win32/64/일반 [[PE 포맷|PE]] 포함.
** [[ELF 파일 형식|ELF]] 계열
** Mach-O ([[Mach (커널)|Mach]]) 계열
** [[게임보이]]와 [[게임보이 어드밴스]] 카트리지
** [[MZ 실행 파일|MZ]] ([[MS-DOS]])
** Java class
** dyld 캐시 덤프<ref>{{웹 인용 |url=http://iphonedevwiki.net/index.php/Dyld_shared_cache |제목=Dydl cache - iphonedevwiki.net |확인날짜=2016-01-21 |archive-date=2019-01-31 |archive-url=https://web.archive.org/web/20190131040140/http://iphonedevwiki.net/index.php/Dyld_shared_cache |url-status= }}</ref>
** Dex ([[달빅 (소프트웨어)|달빅]] 실행 파일)
** Xbox xbe 포맷<ref>{{웹 인용 |url=http://www.caustik.com/cxbx/download/xbe.htm |제목=. |확인날짜=2016-01-21 |보존url=https://web.archive.org/web/20150923200923/http://www.caustik.com/cxbx/download/xbe.htm |보존날짜=2015-09-23 |url-status=dead }}</ref>
** [[플랜 9 (운영 체제)|플랜9]] 바이너리
** [[WinRAR|Winrar]] 가상 머신<ref>[http://blog.cmpxchg8b.com/2012/09/fun-with-constrained-programming.html Tavis Ormandy - Fun with Constrained Programming]</ref>
** [[파일 시스템]] ([[Ext4|ext]], ReiserFS, [[HFS 플러스|HFS+]], [[NTFS]], [[파일 할당 테이블|FAT]], ...)
** 추가적인 디버그 정보를 저장하기 위한 DWARF와 PDB 파일 포맷
** Raw 바이너리

* 명령어
** [[인텔]] x86 계열
** [[ARM 아키텍처]]
** Atmel AVR 시리즈
** [[브레인퍽]]
** Motorola 68k and H8
** [[리코 5A22]]
** [[MOS 6502]]
** Smartcard PSOS 가상 머신
** 자바 가상 머신
** MIPS: mipsb/mipsl/mipsr/mipsrl/r5900b/r5900l
** [[파워PC]]
** [[SPARC]] 계열
** TMS320Cxxx 시리즈
** Argonaut RISC Core
** Intel 51 시리즈: 8051/80251b/80251s/80930b/80930s
** [[자일로그 Z80]]
** CR16
** 케임브리지 실리콘 라디오 (CSR)
** 안드로이드VM 달빅
** DCPU-16
** [[통일 확장 펌웨어 인터페이스|EFI bytecode]]
** 게임보이 (z80-like)
** 자바 바이트코드
** Malebolge
** [[공통 중간 언어|MSIL/CIL]]
** Nios II
** [[슈퍼H]]
** [[SPC700]]
** Systemz
** TMS320
** V850
** [[화이트스페이스 (프로그래밍 언어)|화이트스페이스]]
** XCore

== 각주 ==
{{각주}}

== 더 읽어보기 ==
* {{서적 인용
 |title = The radare book
 |url = http://radare.org/get/radare.pdf
 |year = 2008
 |publisher = pancake
 |pages = 152
 |확인날짜 = 2016-01-21
 |보존url = https://web.archive.org/web/20150723213953/http://radare.org/get/radare.pdf
 |보존날짜 = 2015-07-23
 |url-status = dead
 }}
* [https://web.archive.org/web/20150423052558/http://maijin.github.io/radare2book/ The r2-book]

== 외부 링크 ==
* [http://radare.org 공식 웹사이트]
* [http://radare.today Radare2's blog]
* [https://github.com/radare/radare2 Git repository]

[[분류:디버거]]
[[분류:역어셈블러]]
[[분류:C로 작성된 자유 소프트웨어]]
[[분류:LGPL 라이선스 소프트웨어]]
[[분류:크로스 플랫폼 자유 소프트웨어]]