少し前までは暇見つけて少しずつかじってました。最近は。。。
覚えることがいっぱいあるという点でわかりにくいというのは仕方ないとして。。。
それ以上に思ったのは、これ初心者がちょっとかじった程度では絶対に release しちゃいけんだろ!ってことです。数年みっちり修行せなあかんでしょ。
以前から、security に非常に興味があったので、buffer overflow のしくみとかその辺は理解していましたが、それ以外にも脆弱性を生む要因はあるあるある。
- Integer overflow
- 書式指定文字
- I/O (TOCTOU)
これに気づかせてくれたのは下記書籍です。
利用者・管理者側からするとやっぱり脆弱性は無いに越したこと無いわけです。正直どうしても C/C++ を利用しなければいけない状況を除き、C/C++ で application を release するのはどうかと思います。利用者・管理者側からすると上記書籍に載っているすべてのことを理解した上で release して欲しいなぁ。
まあ、C/C++ の expert にとっては当たり前のことだと思いますが。
なお、C/C++ を直接利用しなくても .NET で P/Invoke したりするのも当然同じです。そこまで理解していないなら、managed でやるべきなんじゃないかと。