レーダー2

レーダー2
原作者セルジ・アルバレス(パンケーキ)
開発者パンケーキとコミュニティ
安定版リリース
6.0.7 [ 1 ] ウィキデータで編集する / 2025年11月23日
リポジトリ
書かれたC [ 2 ]
オペレーティング·システムLinuxBSDmacOSMicrosoft WindowsHaikuAndroidiOSSolaris
入手可能な英語
タイプ逆アセンブラ
ライセンスLGPL
Webサイトwww.radare.org/n/ ウィキデータで編集する

Radare2(別名r2 )は、バイナリのリバースエンジニアリングと解析のための完全なフレームワークです。コマンドラインから個別に、または組み合わせて使用​​できる小さなユーティリティのセットで構成されています。マシン実行可能コードからアセンブリ言語のソースコードを生成するコンピュータソフトウェア逆アセンブラを中心に構築されており、さまざまなプロセッサアーキテクチャオペレーティングシステム向けの多様な実行形式をサポートしています。

歴史

Radare2は2006年2月に開発され、[ 3 ]、64ビットオフセットに対応した16進エディタ用の無料かつシンプルなコマンドラインインターフェースを提供することで、法医学的目的のためにハードディスクからのデータ検索と復元を可能にすることを目指しました。その後、プロジェクトは成長を続け、 Unix哲学のいくつかの原則を遵守しながらバイナリ解析のための完全なフレームワークを提供することを目指しています。[ 4 ]

2009年、当初の設計における制限を回避するため、完全に書き直すことが決定されました。それ以来、プロジェクトは成長を続け、[ 5 ]複数の常駐開発者を獲得しました。

2016年にはバルセロナで最初のr2conが開催され[ 6 ] [ 7 ] 100人以上の参加者が集まり、フレームワークのさまざまな機能や改善についての講演が行われました。

Radare2は、 recon[ 8 ] hack.lu[ 9 ] 33c3など、いくつかの著名なセキュリティ会議で複数のプレゼンテーションの焦点となってきました。[ 3 ]

機能と使用方法

Radare2自体は、主要な実行バイナリがコマンドラインインターフェースで操作されるため、習得が急峻です。元々は16進エディタを中心に構築されていましたが、現在では多数のツールと機能を備え、複数の言語へのバインディングも提供されています。 [ 10 ]コマンドラインインターフェースに加え、Webユーザーインターフェースオプション[ 11 ]と、Iaitoと呼ばれる公式グラフィカルユーザーインターフェースプロジェクトも提供されています。[ 12 ]

静的解析

Radare2は、主に実行ファイルを中心に、多くのソフトウェアプログラムのアセンブルと逆アセンブルが可能です。また、グラフを用いたバイナリ比較や[ 13 ] 、再配置シンボルなどの情報抽出、その他様々なデータの抽出も可能です。内部的には、sdbというNoSQLデータベースを使用して、Radare2によって推測された、あるいはユーザーが手動で追加した分析情報を記録しています。不正なバイナリにも対応できるため、ソフトウェアセキュリティ研究者による分析にも利用されています。[ 14 ] [ 15 ] [ 16 ]

動的解析

Radare2にはGDBよりも低レベルのデバッガが組み込まれています。また、GDBやWineDBG [ 17 ]とインターフェースして、他のシステム上のWindowsバイナリをデバッグすることもできます。さらに、 VMWareのカーネルデバッガとしても使用できます。

ソフトウェアの悪用

Radare2は逆アセンブラと低レベルデバッガを備えているため、エクスプロイト開発者にとって有用です。ROPガジェット検索エンジンや緩和策検出など、エクスプロイト開発を支援する機能を備えています。柔軟性が高く、多くのファイル形式をサポートしているため、キャプチャー・ザ・フラッグチーム[ 18 ] [ 19 ]やその他のセキュリティ担当者によく使用されています[ 20 ] 。Radare2は、 metasploitに似た「ragg2」ツールによってシェルコード の作成も支援します。

グラフィカルユーザーインターフェース(GUI)

Iaitoプロジェクトは、Radare2専用の最初のグラフィカルユーザーインターフェース(GUI)として開発されました。CutterプロジェクトによってRadare2の2番目に開発されたグラフィカルユーザーインターフェース(GUI)としてフォークされました。2020年末にCutterプロジェクトがRadare2プロジェクトから分離された際、[ 21 ] IaitoはRadare2プロジェクトメンバーによって維持されている現在の公式Radare2グラフィカルユーザーインターフェース(GUI)として再開発されました。[ 12 ]

サポートされているアーキテクチャ/フォーマット

参考文献

  1. ^ 「リリース 6.0.7」 . 2025年11月23日. 2025年11月24日閲覧
  2. ^ "radareorg/radare2" . 2024 年 1 月 18 日 – GitHub 経由。
  3. ^ a b「Radare demystified」 . Chaos Computer Clubメディアサイト. CCC. 2016年12月29日. 2016年12月29日閲覧
  4. ^ 「Radareのために30万行以上のコードを書きました」www.cigtr.info2018年11月3日時点のオリジナルよりアーカイブ。 2017年1月21日閲覧
  5. ^ CCC (2016年12月29日)、「radere demystified」 、 2017年1月21日閲覧。
  6. ^ "r2con 2016" . NCCグループ. 2017年1月21日閲覧。
  7. ^ Bakken, Sam (2016年8月9日). 「オープンソースのリバースエンジニアリングツールRadareの背後にいるハッカー…」NowSecure . 2017年1月21日閲覧
  8. ^ 「Recon 2015 Schedule」 . recon.cx . 2017年1月21日閲覧。
  9. ^ 「Hack.lu 2015での講演」 Hack.lu 2015. 2017年1月21日閲覧
  10. ^ "radareorg/radare2-bindings" . 2023 年 12 月 12 日 – GitHub 経由。
  11. ^ 「新しいウェブインターフェース」。radere.today 。2016年7月29日時点のオリジナルよりアーカイブ
  12. ^ a b "iaito" . rada.re. 2021年8月14日閲覧
  13. ^ "Radare2 を使用した Linux での「バイナリ差分処理」ビジュアル化
  14. ^アラダ、エドゥアルド・デ・ラ (2024 年 5 月 18 日)。「OSX/Leverage.a 分析」サイバーセキュリティ.att.com
  15. ^ 「なし」(PDF) .
  16. ^ PHDays IV、2014年5月21日、「Anton Kochkov」、 Shylock/Caphaw.DとSnakso.Aの分析によるradere2の応用
  17. ^ 「radere2におけるWinDBGサポートに関するGmaneアーカイブ」 。 2014年11月2日時点のオリジナルよりアーカイブ2014年8月28日閲覧。
  18. ^ 「Plaid CTF 2014 - Tiffanyのレポート」 Dragon Sector .
  19. ^ 「DEFCON2K12 予選:pwn300 レポート」 LSEブログ2012年6月4日。
  20. ^ 「radare を使用したバイナリの手動マングリング」。. .:: Phrack Magazine :: .
  21. ^ 「Announcement Rizin」 . rizin.re . 2020年12月8日. 2020年12月8日閲覧
  22. ^ "dyld_shared_cache - iPhone 開発 Wiki" . iphonedev.wiki .
  23. ^ 「.XBE ファイル形式」 . www.caustik.com .
  24. ^ 「制約付きプログラミングを楽しむ」

さらに読む