[VC++] ASLR実験

2013年10月9日

 ASLR(Address Space Layout Randomization) の実験をしてみた。

  1. こんなコードを書く。

    #include "stdafx.h"
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        char a;
        printf("%xn",(int)&a);
        return 0;
    }
    
  2. デフォルトのままでコンパイル/実行すると、実行結果が実行の度に毎回変わる。

  3. リンカーのオプションで「ランダム化されたベースアドレス」を「はい」から「いいえ」に変えてみる。
  4. この設定でコンパイルして実行すると、実行結果は毎回同じになる。

 なるほどね…
 有効にしていれば、実行のたびにアドレスが変わるから、バッファーオーバーフローがあっても任意のコードへのジャンプが難しくなるわけか・・・






カテゴリー: Program, Visual C++, Windows

Follow comments via the RSS Feed | Leave a comment | Trackback URL

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org