2009年06月16日
世界には10種類の人間がいる。バイナリを理解できる人間と、そうでない人間だ。
さぁあなたはどっち!? と、そんなわけでBinary Hacks ―ハッカー秘伝のテクニック100選
を今更読みました。
バイナリーハックと聞くとすごい難しそうな事が書いてあると思ってしまう。
ハッカー秘伝のテクニックと聞くと初心者には関係のない本のように思えてしまう。
が、Linuxでのプログラミング初心者にこそ必要な本であると思った。
Cでプログラミングしている時に、segmentation faultが発生して原因がわからず困っているとき。
どこかでメモリリークを起こしているんだけど、その場所の特定の仕方がわからないとき。
実行するのに共有ライブラリが必要なんだけど、共有ライブラリを後からスタティックリンクにしたいとき。
どこかでバッファオーバーフローを起こしていて、データ破壊により不特定の場所で落ちる原因を調べたいとき。
そんなよくある問題に、解決方法への道しるべをこの本は教えてくれる。
もちろんプログラム実行中に、自分自身を書き換えて動作を変えてしまう方法や、オブジェクトファイルを自力でロードするなどいかにもハック的な知識も豊富だ。
この本を読むまでバイナリの世界はとても難解な世界で、偏屈な人間がもてあます暇も費やし探求する世界だと思っていた。
しかし本当はそうではなく、この本を1冊読むだけでどんな景色かを見渡すことの出来る世界だと言うことがわかる。
それはバイナリの世界の底が浅いと言うことではない。
とてもシンプルなルールに基づいている世界という意味だ。
そんなシンプルな世界では禁止されている事がほとんど無い。
そのシンプルなルールに則れば何だって出来る。それがハックなんだろうな。
"世界には10種類の人間がいる。バイナリを理解できる人間と、そうでない人間だ。"へのコメントはまだありません。