« SFマガジン2007年6月号 | トップページ | ロバート・アスプリン&ピーター・J・ヘック「銀河おさわがせ執事」ハヤカワ文庫 »

2007年5月 9日 (水)

高林哲,鵜飼文敏,佐藤裕介,浜地慎一郎,首藤一幸「BINARY HACKS ハッカー秘伝のテクニック100選」オライリージャパン

 プログラマの麻薬。

 この手の本に興味を持つ人は限られているだろう。そして、その限られた人にはたまらなく楽しい本であり、そうでない人には意味不明なハナモゲラでしかない。何の役に立つのかと聞かれたら答えに詰まるが、読んでいて楽しい事だけは保障できる…その手の人には。

 書名どおり、低レベル(機械に近い部分)のプログラミングを扱った本。ただしデバイスドライバの様な周辺機器ではなく、実行時のコード書き換えなど CPU 周りが中心。ライブラリや実行ファイルを読み書き実行するテクニックを紹介している。プロセッサは x86 が中心で PowerPC が少し。OS は Linux が中心で BSD, Solaris が少々。

 具体的なテクニックの紹介が中心であり、ソースプログラムを豊富に掲載している。そういう意味では実用的な内容である反面、基礎的・理論的な説明は少ない。お勉強のために読む本ではなく、基礎が出来ている人が実際に作るための本とも言える。しかし、これから勉強したいと思っている人であっても、16進ダンプを見ると血が騒ぐ類の人であるなら充分に楽しめるだろう。

 1章は file 命令の中身や od など、通常ファイルの扱い。2章ではデマングルなどライブラリや実行ファイル中のシンボルの操作。3章では実行時のコード生成やスタック上のコードのコード実行など、ある意味危ない世界を紹介している。「31. main() の前に関数を呼ぶ」のテクニックは盲点だった。見事なアイデアに脱帽。4章はオーバーフローの検出や0と NULL の違い、fakeroot など安全性を確保するテクニックの紹介。5章は実行時のライブラリのロード・コールチェインの制御・プログラムカウンタの取得・関数のフックなど、実行順序を制御する技術を紹介している。インタプリタを作りたい人なら鼻血必然の内容。6章はプロファイラやデバッガの使い方。7章ではその他の Hack としてガベージコレクション機能つきのメモリ割り当てライブラリ BoehmGC, コルーチンライブラリ PCL, クロック数のカウント, 浮動小数点のビット列表現を扱う。

 最後に参考文献リストもあって、サービスは充分と言えるだろう。不満があるとすれば、まだ続巻が出ていないって点かな。著者が全員日本人というのも、少々誇らしい。いい時代だなぁ。

|

« SFマガジン2007年6月号 | トップページ | ロバート・アスプリン&ピーター・J・ヘック「銀河おさわがせ執事」ハヤカワ文庫 »

パソコン・インターネット」カテゴリの記事

書評:科学/技術」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/201750/15015292

この記事へのトラックバック一覧です: 高林哲,鵜飼文敏,佐藤裕介,浜地慎一郎,首藤一幸「BINARY HACKS ハッカー秘伝のテクニック100選」オライリージャパン:

« SFマガジン2007年6月号 | トップページ | ロバート・アスプリン&ピーター・J・ヘック「銀河おさわがせ執事」ハヤカワ文庫 »