

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
radare2とは何か
radare2はオープンソースのリバースエンジニアリングツールキットです。主にバイナリ解析やデバッグ パッチ作成 逆アセンブルなどを行います。コマンドラインで動く強力なツールで 世界中のセキュリティ研究者や学生が学習用に使っています。
初心者にも優しいポイント まずは基本的な使い方を覚えること。radare2は機能が多く 初めはとっつきにくく見えますが 一度基本の流れをつかむと バイナリの中身を理解する力がつきます。
radare2の特徴
radare2には多くの特徴があります。 多機能 解析からデバッグ パッチ作成まで一つのツールで対応します。
| 特徴 | 説明 |
|---|---|
| 多機能 | 解析からデバッグ パッチ作成まで一つのツールで対応 |
| クロスプラットフォーム | Linux Windows macOS などで動作 |
| スクリプト可能 | Python や他の言語で自動化可能 |
| オープンソース | 自由に使い 改良に参加できる |
インストールと準備
まずは公式サイトかリポジトリでインストールします。Linux では多くの場合パッケージマネージャで入ります。macOS では Homebrew も使えます。Windows では MSYS2 や WSL などを利用する場合が多いです。
初歩的な使い方の流れ
実際に手を動かして覚えると理解が深まります。まずは対象のバイナリを用意し radare2 を起動します。
| コマンド | 意味 |
|---|---|
| r2 -A バイナリ | 自動分析を実行して基本情報を得る |
| afl | 関数一覧を表示 |
| agf | 関数のグラフと概要を表示 |
| pd <n> | 現在の関数のネイティブなディスアセンブリを表示 |
| 現在の関数を完全にディスアセンブル | |
| iz | 文字列を一覧表示 |
| s <アドレス> | アドレスを移動する |
注意点として 倫理と法的なルール を守ることが大切です。自分が所有するファイルや許可を得た対象に限って使いましょう。無断で他人のバイナリを解析することは法的トラブルにつながる可能性があります。
まとめ
radare2は初心者にとって最初は難しく感じるかもしれませんが 基本の流れさえ押さえれば バイナリの中身を読み解く力が身につきます。コマンドを覚え じっくり使い込むほど 解析のスピードと正確さが向上します。
radare2の同意語
- radare2
- オープンソースのリバースエンジニアリングツールおよびフレームワーク。バイナリ解析・デバッグ・ダンプ・パッチ適用などを統合して行える総合ツールです。
- r2
- radare2の一般的な略称。コミュニティや公式ドキュメントでよく使われる呼称。
- radare
- radare2の旧称・別名として使われることがある名称。歴史的に同じプロジェクトを指すことが多いです。
- radare2 CLI
- radare2のコマンドラインインターフェースを指す表現。GUI版と対照的にコマンドで操作します。
- radare2 framework
- radare2を核とした統合分析フレームワークという意味で使われる表現。
- リバースエンジニアリングツール
- バイナリ解析や解析支援を目的とするツール全般のカテゴリ。radare2はこのカテゴリの代表例です。
- バイナリ解析ツール
- 実行可能ファイルの解析を目的としたツールの総称。radare2はこのカテゴリの代表的なツールのひとつです。
- オープンソースのリバースエンジニアリングフレームワーク
- ソース公開の分析フレームワークとして、radare2を含む代表的な例の一つです。
radare2の対義語・反対語
- GUI中心ツール
- radare2はコマンドライン重視で高機能を提供します。対義語としては、GUIを中心に設計され、直感的な操作で始められるツールが挙げられます。
- 高レベル抽象ツール
- radare2は低レベルな操作と詳細な制御を好む傾向があります。対義語は、複雑さを抽象化して1クリックで分析を進められる初心者向けのツールです。
- 商用閉源ソフトウェア
- radare2はオープンソースですが、対義語としてはIDA Proのような商用・閉源のツールが挙げられます。
- 完全自動化解析ツール
- radare2は手動操作やスクリプトでの細かな制御を前提とします。対義語は、ほぼ自動で解析を完結するツールです。
- 静的解析専用ツール
- radare2は動的解析と静的解析の両方を扱えますが、対義語としては静的解析のみに特化したツールが挙げられます。
- クローズドソースソフトウェア
- オープンソースである radare2 の対義語として、コードが公開されていないクローズドソースソフトウェアが挙げられます。
- Windows専用ツール
- radare2はクロスプラットフォーム対応ですが、Windowsのみで動作するツールは対義概念として挙げられます(例: OllyDbg などの旧来のWindows GUIデバッガー)。
- 高価な商用ライセンスツール
- radare2は無料で使えるのに対し、対義語としては高額なライセンス料が必要な商用ツールが挙げられます。
- クラウド/リモート前提ツール
- radare2はローカル環境での解析を想定します。対義語としてはクラウドやリモート前提で分析するツールが挙げられます。
radare2の共起語
- r2pipe
- radare2と外部プログラムをつなぐ通信インターフェース。Python・JavaScriptなどから制御できるRPC機能。
- esil
- 実行意味論の中間言語。分析とエミュレーションの土台として使われる。
- visual
- ビジュアルモード。ターミナル上でグラフィカルに解析を支援する画面。
- r2pm
- radare2のパッケージマネージャー。プラグインやスクリプトの導入・管理を行う。
- r2frida
- Fridaと連携して動的解析を補助する拡張機能。
- Capstone
- Capstoneはradare2が利用する外部ディスアセンブリエンジンの一つ。
- Binutils
- Binutils系ツールとの連携。オブジェクトファイル・シンボルの扱いをサポート。
- ELF
- ELF形式のバイナリを解析・表示する機能。
- PE
- WindowsのPE形式バイナリを解析・表示する機能。
- Mach-O
- macOSのMach-O形式バイナリを解析・表示する機能。
- debugger
- デバッグ機能。実行の停止・ステップ実行・ブレークポイント管理など。
- disassembly
- 逆アセンブリを表示して読解しやすくする機能。
- analysis
- 全体的な解析作業。関数・データ・制御フローの特定などを含む。
- functions
- 関数単位で抽出・表示・ナビゲートする機能。
- strings
- バイナリ内の文字列を検索・抽出する機能。
- signatures
- 既知のシグネチャやパターンを探して機能を特定する機能。
- plugins
- 機能拡張のプラグイン機構。外部開発者が追加可能。
- scripts
- PythonやJavaScriptなどのスクリプトで自動化・カスタマイズ。
- emulation
- エミュレーション機能。ESILを使って挙動を模倣する。
- forensics
- デジタル鑑識用途にも活用される解析ツール。
radare2の関連用語
- radare2
- オープンソースのリバースエンジニアリングフレームワーク。バイナリ解析、逆アセンブリ、デバッグ、パッチ適用などを統合して行えるツールです。
- r2
- radare2 の略称。コマンドラインでの操作時に頻繁に用いられる呼称です。
- cutter
- radare2 の GUI フロントエンド。視覚的なグラフ表示や使いやすいUIを提供します。
- r2pipe
- 外部のプログラムから radare2 を制御する API。Python、JavaScript などの言語バインディングを介して利用します。
- r2pm
- radare2 のプラグインマネージャ。新機能や拡張を簡単に追加できます。
- gui
- GUI(グラフィカルユーザーインターフェース)。Cutter など、radare2 の機能を GUI で使えるようにします。
- cli
- CLI(コマンドラインインターフェース)。radare2 の基本的な操作方法です。
- バイナリ解析
- 実行ファイルの構造やコードを解析する機能。シンボル、セクション、関数などを特定します。
- 逆アセンブリ
- 機械語を人間が読めるアセンブリ言語に変換して表示する機能。
- デバッグ
- 実行中のプログラムを停止・検査・変更する機能。組み込みのデバッガを備えています。
- エミュレーション
- 仮想環境でコードを実行し、動作を観察する機能。実機以外での検証に用います。
- パッチ
- バイナリの一部を書き換えて修正を適用する機能。wx などのコマンドでバイト単位の置換が可能です。
- aa
- 自動分析を実行するコマンド。バイナリ全体の分析を開始します。
- aaa
- 自動分析をより徹底的に実行するコマンド。詳細な分析を行います。
- af
- 関数の分析を開始します。
- afl
- 関数リストを表示します。
- agf
- 関数のグラフ表示を行います。
- pd
- 現在位置からディスアセンブリを表示します。
- iz
- バイナリ内の文字列を抽出・表示します。
- i
- バイナリの基本情報を表示します(アーキテクチャ、エントリポイント、セクション情報など)。
- s
- ファイル内の指定アドレスへ移動します(シーク)。
- px
- メモリやファイルの内容を16進数でダンプ表示します。
- dr
- 現在のCPUレジスタの値を表示します。
- db
- ブレークポイントを設定・管理します。
- dc
- ブレークポイントを越えて実行を継続します。
- architecture
- 対応アーキテクチャ:x86, x86_64, ARM, MIPS, PowerPC, SPARC, RISC-V など。
- file_formats
- 対応ファイル形式:ELF、PE、Mach-O、DEX などを解析可能です。
- symbols_imports_exports
- シンボル、インポート、エクスポート情報を表示・分析します。
- sections
- セクション情報(配置、サイズ、権限など)を表示します。
- 「セクション情報」
- セクションの権限・サイズ・アドレス等の詳細情報を表示します。
- scripting_bindings
- Python、JavaScript、Lua、Ruby などの言語から r2pipe 経由で radare2 を操作できます。
- plugins_extensions
- プラグインと拡張機能を追加・管理します。
- learning_resources
- 公式ドキュメント、チュートリアル、Cheat Sheet などの学習リソースで学習を補助します。



















