クラッキングを覚える正攻法の順番

1、C、C++を用いてSDKでWindowsアプリケーションを作成する。
2、WinAPIを単語を覚えたように、とりあえず有る程度の数覚える。(あったなぁ程度でいい)
3、デバッガに触れる
4、簡単な認証プログラムを作成し、パスワードクラックをやってみる。
5、実行ファイルというものがどういうものなのかを勉強する。
6、アセンブラに触れる
7、狭義のコンピュータウイルスを作成してみる。
8、「4,5,6,7」を繰り返し自然と実行ファイルの構造とプログラムが実行されるまでの過程がわかるようになる。
9、バッファーオーバーフローによる任意のプログラムの実行をやってみる
10、ソケット通信プログラムを作成する。
11、10で作成した通信プログラムにバッファーオーバーフローが起こるバグをわざといれる。
12、11で作成したプログラムに対し攻撃をして、任意のプログラムを実行してみる。
13、リバースエンジニアリング技術を高める。

って感じ?