低レイヤへの抵抗感が少なかった
この本は短期の出張があったので、その時に読みました。
順を追って解説されているので、とてもわかりやすかったです。
というのも、CTFのpwn分野に興味を持つことがたびたびあったのですが、CTFのpwn分野で入門記事を探すと、
いきなり「オーバーフローが何ビットでうんたら」だとか「アセンブリがうんたら」だとか出てきました。
事前知識が無いので、何のことかさっぱり。
流石に読めばある程度理屈はわかりますが、納得感はありません。
基礎知識を埋めるために、プログラムの動作原理などの低レイヤの本を読んでも、長続きしません。
現実のやりたいことと離れすぎていて、飽きてしまいました。
このようなことが続いていたため、pwn分野は完全に放置でした。
また、オーバーフローができること自体に魅力を感じるわけではないので、特に影響もありませんでした。
その点、この本はC言語のソースコードとデバッガ(gdb)の使い方から始まりました。
まずはプログラムを組んでデバッグして見ようというものです。
おお、とてもわかりやすい。
プログラムを組んでいてデバッグしないことなんて無いからスッと入ってきます。
とりあえず動かした後に基礎知識の説明が始まりました。
手元で動かすためのソースコードや、実際に動かした時のコンソール画面もあります。
手元で理論通り動いているので、納得感がすごくあります。
本当にプログラムは仕組み通り動いているんだなという楽しみがありました。
メモリの様子をまじまじと見るのは普段あまりやらないので、そこも面白かったです。
以上が本前半の感想になります。
本の後半は実際にCTFで使うようなコード実行などでした。
後半は技術に関するところであり、実施中なため割愛します。
こちらもソースコードや手順、画像があるため、じっくり理解できると思います。
まとめ
低レイヤの導入によさそう!
終わりに
pwnというか、低レイヤ系はいろいろ本が出ていますよね。
数冊積んでいます。
しばらくこの分野には興味なかったのですが、スマホアプリにふれるようになり、次第に興味が出始めました。
私は自分が納得できる経緯というか、技術のつながりがないと興味を持てないので、低レイヤにふれるには時間がかかりました。
最初から低レイヤを始められる人はすごいと思います。
コメント