Radare2

위키백과, 우리 모두의 백과사전.
Radare2
Radare2 webui.png
개발자pancake and the core-contributors
안정화 버전
1.0.2[1] / 2016년 11월 10일 (4년 전)(2016-11-10)
저장소 위키데이터에서 편집하기
프로그래밍 언어C[2]
운영 체제마이크로소프트 윈도우, 맥 OS X, 리눅스, BSD, 하이쿠, 안드로이드, IOS, 솔라리스, 미고
언어영어
종류디스어셈블러
라이선스LGPL
웹사이트radare.org

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

특징과 사용[편집]

Radare2는 그래픽 사용자 인터페이스를 갖지 않기 때문에 배우기 어렵다. 원래 헥사 에디터 위주로 만들어졌지만 지금은 많은 툴들과 특징들을 가지며 또한 여러 언어들을 위한 바인딩도 제공한다.[3]

정적 분석[편집]

Radare2는 많은 것들을 어셈블하고 역어셈블할 수 있으며 또한 그래프를 이용한 바이너리 디핑과 재배치 심볼과 데이터의 여러 다른 타입들 같은 정보를 추출할 수 있다.[4] 내부적으로 이것은 분석 정보를 놓치지 않기 위해 sdb로 불리는 NoSQL 데이터베이스를 사용한다. 이것은 radare2에 의해 추론될 수 있으며 또한 사용자에 의해 직접적으로 추가될 수도 있다. Radare2가 기형적인 바이너리들을 다룰 수 있기 때문에 소프트웨어 보안 연구자들에 의해 분석을 목적으로 사용될 수도 있다.[5][6][7]

동적 분석[편집]

Radare2는 빌트인 디버거를 가지는데, 이것은 GDB보다 저수준이다. 그러나 GNU 디버거와 사용될수 있으며 심지어는 윈도우 바이너리를 디버그하기 위해 WineDBG[8]와도 사용될 수 있다. 심지어는 VM웨어와 함께 커널 디버거로서 사용될 수도 있다. 또한 WinDbg 프로토콜을 위한 지원도 존재한다.

소프트웨어 취약점 공격[편집]

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

지원되는 아키텍처/포맷[편집]

각주[편집]

  1. 공식 웹사이트
  2. Git repository
  3. Git repository for radare2's bindings
  4. "Binary Diffing" visual en Linux con Radare2
  5. “AlienVault - OSX/Leverage.a Analysis”. 2015년 12월 23일에 원본 문서에서 보존된 문서. 2016년 1월 21일에 확인함. 
  6. Craig Heffner - Finding and Reversing Backdoors in Consumer Firmware
  7. PHDays IV, May 21, 2014, 'Anton Kochkov', Application of radare2 illustrated by Shylock/Caphaw.
  8. “Gmane archive about WinDBG support in radare2”. 2014년 11월 2일에 원본 문서에서 보존된 문서. 2016년 1월 21일에 확인함. 
  9. Dydl cache - iphonedevwiki.net
  10. “.”. 2015년 9월 23일에 원본 문서에서 보존된 문서. 2016년 1월 21일에 확인함. 
  11. Tavis Ormandy - Fun with Constrained Programming

더 읽어보기[편집]

외부 링크[편집]