CTFの初心者向けにELFバイナリの基本的な解析手法を解説します。 この記事は、私が個人的に開催する勉強会の資料として作成しました。 もくじ この記事の目的 対象者 事前準備 問題ファイルのダウンロード 表層解析を行う file strings readelf バイナリを実行してみる ELFファイルとは 実行権限を与える 静的解析を行う radare2 Ghidraでmain関数を解析する エントリポイントを見つける RVA / VA / Offsetについて エントリポイントからmain関数を特定する main関数のデコンパイル結果を見る 標準入力の受け取り 改行文字の削除 ループ処理で文字列をXOR暗号化 暗号化されたバイト列をチェックする データセクションの値を取得する XOR暗号化時の関数を解析する IDA Freeを使う XOR暗号化の挙動を見抜く gdbで動的解析を行う gdb
![【CTF入門】ELFバイナリのリバースエンジニアリングに入門してみよう - かえるのひみつきち](https://cdn-ak-scissors.b.st-hatena.com/image/square/b84ebaa707f9d902e036f27d7d7c915ae2ca066d/height=288;version=1;width=512/https%3A%2F%2Fkashiwaba-yuki.com%2Fstatic%2F334bd91f01f5d703919e643c6130dca6%2Fctf-elf-training.png)