Next Step

「Analyzing Malware」を一通りやり終えた。かなりやさしい説明で書かれているとはいえ、それでも一元さんには難しい内容で、この本を完全にマスターするには次のものをきちんと理解している必要があると感じた。上から優先度高。

...Windows PCの仕組みをまるっと覚えなさい、ということですね、わかりますん。というわけで、このAnalyzing Malwareを基幹にして以下の本に触手を伸ばしていこうかと思っています。実はいくつかはもうすでにチェックしていたりします。技術本の理解はとても大変であるということが身にしみた一方、だんだんとわかる範囲が広がっていくことの実感も楽しめるようになりました。上半期を目標にMalware解析が始められるようにしたいと思っています。

Win32 API

本はたくさんあるし、Webにも情報がたくさんありますね。実践を積むにはプログラミングをしていくしかないかと思っています。

APIで学ぶWindows徹底理解 (日経BPパソコンベストムック)

APIで学ぶWindows徹底理解 (日経BPパソコンベストムック)

一通り読みました。Win32 APIで知っておくべき必要十分が書かれていて、入門編として最適かとおもいました。もう一度熟読したい。ただ、このほんの大きさは何かと不便です。A4にまとめて再販希望です。

Windowsはなぜ動くのか

Windowsはなぜ動くのか

購入リストの本。Win32 APIに関わらずWindows Overallとしてよさそう?

機械語アセンブラ

新しい本は少ないですが、昔いやというほどテーマになった分野なので、情報は豊富。実践をどのようにこなしていくかが課題だと思っています。

x86アセンブラ入門―PC/ATなどで使われている80x86のアセンブラを習得 (TECHI―Processor)

x86アセンブラ入門―PC/ATなどで使われている80x86のアセンブラを習得 (TECHI―Processor)

今読んでいます。x86アセンブラについてここまで丁寧に説明されている本は今は珍しいのではと思います。やはり本の大きさが難。

はじめて読むMASM―ソフトウェア環境のからくりを学ぶ

はじめて読むMASM―ソフトウェア環境のからくりを学ぶ

一通り読みました。時代が古いので実践に移す環境づくりが難しそうでしたが、x86 PCのアーキテクチャのコンパチビリティを知ることができる歴史的価値のある本だと思いました。

独習アセンブラ

独習アセンブラ

購入検討本。実践でアセンブラを身に着ける方法を模索中で、見つかったら買わないかもしれません。

PEフォーマット

テーマにした本は今確認していません。Webでフォローできるのではと考えています。
下の記事がとても素敵だと思いました。
http://codezine.jp/article/detail/412
http://codezine.jp/article/detail/403?p=1

MSDNのサイトではPEフォーマットのスペックも配っています。
http://msdn.microsoft.com/ja-jp/windows/hardware/gg463119

OS Kernel

やるのは、WindowsなのでできればWindows OS Kernelのソースコードがあれば・・・なのですが、もちろん開示しているわけもなく、Linuxの技術書で行くしかないですよね。ただ、Kernelの基礎の理解、イメージ作りは重要ですが、今回の目的の直接的な知識の習得にはならないかもしれません。

詳解 Linuxカーネル 第3版

詳解 Linuxカーネル 第3版

Linuxカーネル2.6解読室

Linuxカーネル2.6解読室

あとは、FreeDOSというDOSコマンドを利用できるOpen OSのソースを解読していくのもいいかと思いました。ちらっとみましたが、16bit OSでもハードルが高そう。
http://www.freedos.org/

コンパイラ

これはおまけですね。上のが理解できればあまり深くやる必要はないかと思っています。

ふつうのコンパイラをつくろう

ふつうのコンパイラをつくろう


こんな感じですかね。ある程度体系だてて効率よく学習をしていく必要性を感じています。あくまでもAnalyzing Malwareの補足になることを忘れないようにして・・・(脱線も楽しいのですが)。このプロジェクトとは別に、暗号化の理解と、Pythonも学習していきたいと思っています。うーん、ちょっと大変だぞ。