このサイトについて

リバースエンジニアリング - Pythonによるバイナリ解析技法

リバースエンジニアリング - Pythonによるバイナリ解析技法

「これは何の本なんだろう?」というのが最初に抱いた正直な感想。

読んでみると分かるけど,Pythonのインストール方法や起動方法などはそこそこに,レジスタとかスタックみたいなCPUのアーキテクチャの話題になり,ctypesの解説が始まる。するすると読めるので調子に乗って読み進めてゆくと,ついにはデバッガ(ていうかハッキングツールじゃん!)の解説,インジェクションの仕組みと発生方法,アプリケーションをハックして壊す方法など,きわどいネタがてんこ盛り。表紙もかなりイッちゃってると思うけど,内容もそれに違わず飛ばしている。

そしてあろうことか,書籍で紹介されているクラッキングノウハウのすべてにおいて,僕の大好きなプログラミング言語Pythonが使われているのだ。あまりにもけしからん,と思ったのでもう一度読んでみると,別のことに気づいた。この本はもしかしたら,クラッキングの教科書ではなく,動いているソフトウエアの挙動を観察したり,動的に書き換えたり,というようなことを通して,コンピュータの挙動や性質について深淵な知識を得るための本なのではないか。僕もリアル中坊の頃は,システムコールを動的書き換えして挙動をかえたり,ゲームのプロテクト外しをしようとしてフロッピーを書き換えている時,FAT領域に半角カナで開発の苦労話が書いてあるのを発見して涙したりしたよなあ。思い返せば,僕もそういうヤバいことを繰り返しながら,コンピュータについて学んでいったものだった。

つまりこの本は,クラッキング本に姿をやつした「上質なコンピュータサイエンスの入門書」なのではないのか。きっとそうだ。そうに違いない。この本を読んで,クラッカーになるのか,ハッカーになるのかは読者が選ぶことだと思うが,いずれにしろコンピュータサイエンスのエッセンスを学び取ることができることができるのは,間違いがないところだと思う。

2010-08-27 04:54