実行中のプログラムは,メモリ上に存在する。 そのメモリ上のデータを読み取れば,アプリケーションが扱っている生のデータを,そっくりそのまま取得できてしまう。 ユーザがどのような値を入力したか,アプリケーションがどこと通信してどういうデータを取得したか,全て丸見えである。 逆アセンブルの場合,プログラムの「実行前」のスタティックな姿しかわからない。 しかしメモリ上のイメージをダンプすれば,まさに「実行中」のプログラムの姿がわかる。これが逆アセンブルとダンプの大きな違いだ。 下記では,Windows上で実行中のプロセスをダンプし,プログラムにユーザが入力した値をメモリ上から実際に読み取る。 利用するフリーソフトは User Mode Process Dumper バイナリエディタ WinDbg の3つ。(これに加え,適当なC言語コンパイラがあるとよい。) ちなみに,ソフトウェアの利用承諾書に「無