
このリポジトリには、2020年に開催されたGlobal Cybersecurity Camp (GCC) TokyoおよびSecurity Camp National Workshopにおける高度なバイナリ難読化解読コースの教材が含まれています。
リバースエンジニアリングは容易ではなく、特にバイナリコードが難読化されている場合はなおさらです。難読化が行われると、単純な手法だけではバイナリを正確に解析できなくなります。このコースでは、難読化の原理(特にマルウェアで使用されるもの)、難読化コード解析の理論と実践、そして独自の難読化解読ツールを作成する方法を学びます。特に、データフロー解析やSAT/SMTベースのバイナリ解析(例:シンボリック実行)について深く掘り下げ、難読化を無効化します。
このコースは、バイナリ難読化解読に関するもので、独自のツールを作成するスキルを身につけたいと考えているセキュリティアナリストや研究者(駆け出し)を対象としています。このクラスの終了時には、参加者は以下のことができるようになります。
この目的のため、コースはGCCでの教室学習とハンズオントレーニングの組み合わせ形式で開催されました。
参加者は以下を有している必要があります。
以下のリンクはギャップを埋めるのに役立ちます。
Ubuntu 18.04にMiasm、Z3、Jupyter Notebookがインストールされていることを前提とします。
./setup.sh ./ を実行するAdvanced-Binary-Deobfuscation.pdfを読んで楽しんでください!