Igorさんの記事シリーズから、マルウェア解析や CTF でのリバースエンジニアリングを行う僕目線でオススメの記事をカテゴリに分けてピックアップしました。それぞれの記事に対して僕のコメントを載せています。
- Igor’s tip of the week #33: IDA’s user directory (IDAUSR) – Hex Rays
- IDA はデフォルトでインストールディレクトリにバージョン番号を含むため、ユーザディレクトリにプラグインやテーマや設定ファイルを置いておくと便利。
- Igor’s tip of the week #26: Disassembly options 2 – Hex Rays
- Stack pointer はたまに確認する必要がある。Number of opcode bytes はバイナリ覚えるために必要。
- Igor’s tip of the week #35: Demangled names – Hex Rays
- Demangled name の表示方法は name にするのが好み。
- Igor’s tip of the week #22: IDA desktop layouts – Hex Rays
- Save Desktop は一部表示設定も保存してくれるため、ウインドウ配置だけでなく表示設定変更後も行うように。
- Igor’s tip of the week #111: IDA Keyboard Shortcuts cheat sheet – Hex Rays
- 基本操作のショートカットキーは覚えておくべき。
- Igor’s tip of the week #88: Character operand type and stack strings – Hex Rays
- R は良く使うショートカットキー。
- Igor’s tip of the week #80: Bookmarks – Hex Rays
- メイン関数などをブックマークするのに使う。マルウェア解析の課題を出す際にも便利。
- Igor’s tip of the week #16: Cross-references – Hex Rays
- Xref は文字列の復号などでよく参照する。
- Igor’s tip of the week #14: Comments in IDA – Hex Rays
- 用途に合わせたコメントを使うのが大人のマナー。
- Igor’s tip of the week #04: More selection! – Hex Rays
- IDA は範囲選択しているかしていないかで各操作の挙動が変わるので色々試してみると良い。構造体の作成や適用は本当に便利。
- Igor’s tip of the week #60: Type libraries – Hex Rays
- 必要そうなものはとりあえずロードしておく癖を付けよう。
- Igor’s tip of the week #51: Custom calling conventions – Hex Rays
- usercall/userpurge での定義が必要なマルウェアはたまに見かける。
- Igor’s tip of the week #105: Offsets with custom base – Hex Rays
- 自動で解析してくれることも多いが、自動解析していないこともあるので手動でできるようになっておくと良い。読みやすさの違いは https://twitter.com/you0708/status/1671082235116806146 を参照。
- Igor’s tip of the week #99: Enums – Hex Rays
- Type Library からの読み込みだけでなく C で書いて読み込ませるのもたまに行う。
- Igor’s tip of the week #93: COM reverse engineering and COM Helper – Hex Rays
- 自動化してくれるプラグインはあるものの、COM の手動での解析の仕方として頭に入れておくべき。
- Igor’s tip of the week #79: Handling variable reuse – Hex Rays
- たまに見かける変数使い回すタイプを綺麗に見せたい時用。
- Igor’s Tip of the Week #118: Structure creation in the decompiler – Hex Rays
- 逆コンパイル画面からの構造体の作成。逆アセンブル画面でも使用するには記事中にもある Igor’s tip of the week #11: Quickly creating structures – Hex Rays のとおり Local Types から読み込む必要がある。