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

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

実験の概要

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

manabaのコースページ

実験の資料,参考書

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

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

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

大課題(予定)

バイナリプログラムの解析に関連する,何か少し大きいものを実装する.新規なものである必要はなく, 既存のツールや機構のクローン,改造版,機能限定版など(いわゆる「〇〇もどき」や車輪の再発明)でもよい. 実装するのは,解析する側のツールや機構でもよいし,解析される(ことを回避する)側のツールや機構でもよい. 実装を通じて解析ツールや解析に関連する知識についての理解を深める.

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

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

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

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