情報システム実験B「バイナリプログラムの解析」(2023年度)

担当教員: 大山恵弘 (筑波大学 システム情報系)

実験の概要

バイナリプログラムを解析するための基本的な技術やツールを学ぶ.受講者は具体的には以下の事項を実行する. 最終課題とは別に,2週に1回程度のペースで小さい課題についてのレポートを課す予定である.

manabaのコースページ

実験の資料,参考書

教科書は指定しない.各週の実験についての資料をmanaba上で配布する. 実験を行うにはそれだけで十分であるが,さらに深く学びたい人には,以下の書籍を参考書として薦める. どれも相当レベルが高く難解なので,時間をたっぷり確保して,覚悟して読んだほうがいい. 上記3冊を最も薦めるが,他には以下の書籍を薦める.

実験のスケジュール(予定)

受講者の技術レベルに応じて臨機応変に変更する.

最終課題(予定)

バイナリプログラムの解析に関連する既存のツールや機構のクローン,改造版,機能限定版などを実装する. 実装するのは,解析する側のツールや機構でもよいし,解析される(ことを回避する)側のツールや機構でもよい. いわゆる「〇〇もどき」「なんちゃって〇〇」「〇〇インスパイア」と呼ばれるツールを作る.車輪の再発明をする. 実装を通じて解析ツールや解析に関連する知識についての理解を深める.

例: 独自PEファイル情報表示ツール,独自アセンブラ,独自逆アセンブラ,独自デバッガ,独自トレーサ,独自サンドボックス,独自パッカー,独自難読化器,独自エミュレータ

参考: 2022年度の最終課題の優秀レポート: excellent-report-2022.pdf

関連するツール,資料,記事(随時更新)

これらのツールが100%安全であることは保証できません. ツールを自分の環境にインストールするときには,十分に情報を収集して納得した上で,自分の責任においてインストールして下さい. VirtualBoxなどの仮想マシンやWindows Sandboxなどのサンドボックスの利用も検討して下さい.