実践的なリバースエンジニアリング:初心者向けハンズオンガイド
ガイド 公開 2026年7月6日

実践的なリバースエンジニアリング:初心者向けハンズオンガイド

静的解析から動的デバッグまで、バイナリのリバースエンジニアリングの中核的なワークフローを学びます。実践的なツールのヒント付きです。

リバースエンジニアリングは、ソースコードにアクセスせずに、コンパイル済みのソフトウェアを分解して、その論理、動作、意図を理解するプロセスです。マルウェアを分析する場合、クローズドソースのバイナリを監査する場合、CTFチャレンジを研究する場合のいずれでも、同じ中核的なワークフローが適用されます。まず静的に情報を収集し、その後、動的に仮説を確認します。このガイドでは、そのワークフローを実践的で、ツール非依存のステップで解説します。これらのステップはすぐに適用できます。

安全な分析環境のセットアップ

未知のバイナリに触れる前に、ワークスペースを隔離してください。ホストへのネットワークアクセスがない専用の仮想マシンを使用し、分析前にスナップショットを取得し、共有フォルダとクリップボード同期を無効にしてください。radare2Ghidragdbobjdumpが搭載されたLinux VMなどのツールは、ほとんどの静的および動的ニーズをカバーします。一方、x64dbgProcess Monitorが搭載されたWindows VMは、PEファイルに必須です。疑わしいサンプルを本番マシンで分析することは決してなく、セッション間でスナップショットを常に復元して、クロスコンタミネーションを回避してください。

静的解析:実行せずに読む

filereadelf -h(Linux)またはPEヘッダインスペクタ(Windows)を使用して、ファイルタイプとアーキテクチャを識別することから始めます。エントロピー分析でパッキングまたはオブフスケーションをチェックしてください。Detect It Easyなどのツールは、圧縮または暗号化を示唆する疑わしく高いエントロピーセクションにフラグを立てます。

次に、Ghidra または IDA Free などのディスアセンブラにバイナリをロードしてください。以下に焦点を当てます:

  • インポートとエクスポートCreateRemoteThreadVirtualAllocExなどのAPI呼び出しはプロセスインジェクションを示唆し、WSAStartupはネットワーキングを示唆しています。
  • 文字列strings -n 8 binaryを実行して、機能を明らかにするハードコードされたURL、ファイルパス、またはデバッグメッセージを表示します。
  • 制御フローグラフ — Ghidraのデコンパイラビューは、生のアセンブリを読み取り可能な疑似Cに変換し、ループと条件付きの理解を劇的に高速化します。

関数名を理解に応じて注釈付けしてください。sub_401020decrypt_configに変更することで、残りの分析が追いやすくなります。

動的解析:実行を監視する

静的解析は、特にオブフスケーティングまたはパックされたコードに対しては、ここまでしか機能しません。バイナリをデバッガにロードし、以前に特定された疑わしいAPI呼び出しにブレークポイントを設定してください。x64dbgでは、VirtualAllocまたはWriteProcessMemoryで中断すると、実行直前にメモリに復号化されたコードを書き込むアンパッキングルーチンが表示されることがよくあります。

Process MonitorまたはLinux上のstrace/ltraceを使用して、ファイル、レジストリ、ネットワークアクティビティをリアルタイムで記録してください。この外部ビューは、デバッガからの内部ビューを補完し、テンポラリファイルの作成やDNS検索など、ディスアセンブリ内では検出しにくい動作を表示することがよくあります。

ネットワーク対応のバイナリについては、Wireshark または INetSimなどのフェイクインターネットシミュレータと共に実行して、サンプルが実際にインターネットに到達することなくコマンドアンドコントロールトラフィックを観察してください。

アンチ分析トリックへの対処

特にマルウェアなど、多くのバイナリには、デバッガ、仮想マシン、またはサンドボックスを検出するように設計されたチェックが含まれています。一般的なテクニックには、IsDebuggerPresentの呼び出し、VM固有のレジストリキーの確認、またはシングルステップを検出するための実行タイミング測定が含まれます。静的解析でこれらのチェックを見つけたら、デバッガで条件付きジャンプをパッチしてその

この記事は AI アシストで生成され、Korra Studio ナレッジベースに掲載されています。エラーを見つけましたか?お知らせください。

フィールドノーツ

さらに深く学びたいですか?

これらのフィールドノーツを実践的なスキルに変えて、DEFENSE_GRID の関連セグメントにデプロイしましょう。

bolt 無料アカウント作成

関連セグメント

arrow_backすべてのフィールドノーツ grid_viewオペレーションズ ライブラリを探索