高林哲,鵜飼文敏,佐藤裕介,浜地慎一郎,首藤一幸「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, クロック数のカウント, 浮動小数点のビット列表現を扱う。
最後に参考文献リストもあって、サービスは充分と言えるだろう。不満があるとすれば、まだ続巻が出ていないって点かな。著者が全員日本人というのも、少々誇らしい。いい時代だなぁ。
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- サミュエル・ウーリー「操作される現実 VR・合成音声・ディープフェイクが生む虚構のプロパガンダ」白揚社 小林啓倫訳(2021.07.11)
- ココログ:記事編集で余分な改行が入る→初期設定を通常エディタにする(2019.10.10)
- Q.Ethan McCallum「バッドデータ ハンドブック データにまつわる問題への19の処方箋」オライリージャパン 磯蘭水監訳 笹井崇司訳(2019.06.07)
- ココログ:リンク切れ一覧と旧URL一覧と公開記事URL一覧を突き合わせるOpenOfficeCalc(2018.11.18)
- ココログ:古い「カテゴリ別書評一覧」から各記事の旧URL 一覧を作るVBScript(2018.11.15)
「書評:科学/技術」カテゴリの記事
- 藤井一至「土 地球最後のナゾ 100億人を養う土壌を求めて」光文社新書(2024.10.23)
- ダニエル・E・リーバーマン「運動の神話 上・下」早川書房 中里京子訳(2024.10.20)
- アリク・カーシェンバウム「まじめにエイリアンの姿を想像してみた」柏書房 穴水由紀子訳(2024.09.19)
- ライアン・ノース「科学でかなえる世界征服」早川書房 吉田三知代訳(2024.09.08)
- ニック・エンフィールド「会話の科学 あなたはなぜ『え?』と言ってしまうのか」文芸春秋 夏目大訳(2024.09.03)
コメント