人にもよると思いますが、1日フルに使えばすべて終わる程度の量で、万が一解けなくても過程を書けば良いようです。Driller)を、バグのあるサンプルバイナリに対して回して、それぞれの利点と欠点をまとめるという課題です。これが一番つらかったです。fuzzerは使ったことが無かったので何をすれば正解なのかよく分かりませんでした。angrの方は使い慣れていたのですぐに終わりましたが、AFLも1つしかクラッシュを見つけてくれないまま提出しました。Drillerに関しては動かし方すら分からなかったので触れずに提出しました。(これは必須ではないので。)課題2破損したAPFSからファイルを復元してね、という課題です。APFSは触ったことが無かったので非常に勉強になり、一番面白かったです。参考資料も付いており、APFSの構造を勉強しながら課題を進められました。結果としては、superblockが破損しているのでバックアップ領域を使って修正し、ファイルの方は断片化してオフセットが書き換えられているので適当に直す、という内容でした。課題3C++製っぽい簡易VMプログラムを解析し、VMコードの逆アセンブラまで作ろうという課題です。VMはVMと言えないほど単純なもので、逆アセンブラは簡単に実装できます。あとはVMのバイトコードを解析してフラグを見つけるだけなのですが、解がたくさんあって結局どれが正解か分かりませんでした。どれも入力として正しいので正解なのですが、フラグっぽい形式のものが無かったので不安で、結局全部の解を求めるスクリプトを提出しました。日本語の問には日本語で答え、英語の問には英語で答えましたが、課題に関しては言語指定は無いようです。セキュリティ・キャンプに参加したことがある人は、参加した大会名と、クラス/トラック/受講講義等を教えてください。(ない場合は「なし」と記載。Deckなど)がありましたらURL等を記載してください。(学校の課題で作ったものか、自発的に作ったものかがわかるように列挙してください。専攻でやっていることについては、概要と、その分野での客観的にわかる成果などを記載してください。"gcc_challenge1_Fuzzing"[Answer/解答:簡潔に。"gcc_challenge2_IR"[Answer/解答:簡潔に。challenge.rawをfuse-apfsでマウントできるようにするために修正し、以下の内容を答えてください。1.修正箇所のオフセットと修正内容。以下の2箇所を変更する。