pythonによるバイナリ解析技法(感想)

リバースエンジニアリング ―Pythonによるバイナリ解析技法 (Art Of Reversing)
読んだ。pythonで、dllやexeを触る方法からはじまり、デバッガの動作のしくみ、デバッガの作り方、そして、実際に存在するデバッガの使い方、自社製品であるImmunity Debuggerの使い方の説明へと続く。デバッガ、といってもソースコードをステップ実行させるような使い方ではなく、ソースが手元にない場合のマシン語単位でのプログラム解析の話が展開される。フォローされているとはいえ、ある程度のアセンブラの知識は必須で難易度は高めだ。
「ほぼwin32限定の話」だった。使ってるpythonのバージョンが2.5限定というのも今となっては気になってしまうが、まぁpythonの勉強のための本ではないのだから些細なことかも知れない。そう、この本は、win32のプロセスを深く知る方法を丁寧に解説してある本なのである。
win32なアプリをvc++なんかで書いたことがある人はわかると思うが、CreateProcessやら、OpenProcess(そういえば、これは使ったことはなかったな)やらをpythonで呼び出す方法が丁寧に書いてある。す。。すげぇpython。。こんなことまで出来るのか。スクリプト言語という枠で捉えてはイカン。かなり低レベルなバイナリ解析の話が続く。興味がない人にとっては眠たい話だが、ワトソンのログ(drwtsn32.exeのログ)を仕事で嫌々見ているような俺にとってはありがたいやら、いやらしいやら複雑な記憶を思い出しながら読み進めた。


この本読むためにスタバに行ったが、中の席がすべて埋まってて外のテラスに座ることになった。暑かったが、たまに座るといいもんだなと思った。