『はじめて学ぶバイナリ解析』1の課題の実行環境を提供します。 Dockerを使っていて、Virtual Boxよりも資材が軽い(~1.7GB)のが特徴です。
Dockerとdocker composeの運用知識があることを前提とします。また以下のインストールが必要です。
/binary-analysis/working
: このレポジトリの./working
ディレクトリの内容が同期されます。課題のソースコードをここに作成します。
- デバッガや状態可視化ツールはホストマシンのCPUアーキテクチャに依存します。Intel系のCPUを推奨します。x86_64で動作確認済み。
- 課題内でカーネルパラメータを変更する手順がありますが、コンテナの設定はホストマシンの設定と連動しているためコンテナからは許可しない設定になっています。変更する場合は影響を理解した上でホストマシンから行ってください。(例:
suod sysctl -w kernel.randomize_va_space=0
) - バイナリ解析ツールはGDB+gdb-pedaに加えてLLDB2とVoltron3が使えます。
- Visual Studio Code を使っている場合は拡張機能をインストールすることでリモートコンテナ上でソースコードの管理が行えます4。
- 課題のソースコードは含みません(著者や出版社にライセンスの確認が取れていないため)。
docker compose up -d --build
docker exec -it ubuntu bash
tmuxinator voltron
tmux kill-pane -a
- このリポジトリの資材を利用により生じた一切の損害について作者は責任を負いません。
- このリポジトリの資材は著者および出版社とは無関係です。このリポジトリの資材に関して著者や出版社に問い合わせしないでください。問い合わせにより生じたトラブルに対して作者は責任を負いません。