リバースエンジニアリング(Reverse engineering)とは、機械を分解したり、製品の動作を観察したり、ソフトウェアを解析するなどして、製品の構造を分析し、そこから製造方法や動作原理、設計図、ソースコードなどを調査する事である。
つまりソースコードが手に入らない状況でソフトウエアの振る舞いを解析すること。
| Filemon | ファイルアクセス監視ツール |
| Regmon | レジストリアクセス監視ツール |
| PEiD | PEヘッダーを見てパックされてるかとかをチェック! |
| PEditor | PEヘッダーを編集するツール |
| Ollydbg | 高性能で使いやすいデバッガ。 |
| Fire Flower | パッチを当てるツール。この形式が最もよく使われてるかな。 |
| DeDe | Delphi専用デバッガ |
| QuickBe | バイナリエディタ。FireFlower形式のパッチを当てる機能もある。 |
| Reflector | .NET製アプリをデコンパイル |
| IDA Pro Freeware Version | 静的解析に用いる逆アセンブラ。 |
| Jad | Javaのクラスファイルからソースコードを復元する逆コンパイラ。一時配布元が消えているのでInternet Archiveを漁るかPleiadesの同梱のものを用いる必要がある。 |
| スペシャルねこまんま57号 | プロセスメモリエディタ兼デバッガ |
| うさみみハリケーン | 同じくプロセスメモリエディタ兼デバッガ |
リバースエンジニアリングのチュートリアル。
解析では主にOllydbgを用いる。 ここではそれを導入する手順を説明する。
これだけだ。