>>806
スレ違いだけど‥‥
バッファオーバーフローを利用した攻撃の多くってのは
バッファオーバーフローによって破壊可能な領域、
つまりスタックやヒープ領域といった、通常は可変なデータが
おかれるメモリ領域に悪意を持ったコードを書き込み、
それをあたかもCPU命令のように実行させるという手段。

正規のCPU命令(処理)は普通実行中にコロコロ変わるものではなく
そもそもデータとは別のメモリ領域に格納されている。
それらを保護して、それ意外の領域から実行される命令を例外とすることで
少なくとも悪意を持ったコードを実行しようというタイプの攻撃を
防止しようというのが DEP、だったと思う。間違ってたらスマン。

デメリットはそういう処理を狙ってやる場合にもできなくなることと、
こういう保護機能を追加する事によるパフォーマンスの低下や副作用など。

もっと詳しく知りたきゃコンパイラとかリンカとかアセンブラとか
オブジェクトとか実行モジュールとか、
その辺りの仕組みについて勉強してくれ。