Eiji James Yoshidaの記録

パケット作りが趣味のセキュリティ技術者の記録(2006年9月6日執筆開始)。当ブログはGoogle AnalyticsとAmazonアソシエイトを利用しています。

Windows XP SP2以降のOptInポリシーでDEPが有効になるプロセスの調べ方

Windows XP SP2以降のOptInポリシーでDEPが有効になるプロセス*1について今まではProcess Explorerを使って調べていたが、この方法では調べたい実行ファイルを実行しないとDEPが有効かどうかを調べることができなかった。
しかしながら下記のコンテンツに記載されているMicrosoft Application Compatibility Toolkitを使えば、調べたい実行ファイルを実行しなくてもDEPが有効かどうか調べることができる。

Windows XP SP2以降のOptInポリシーでDEPが有効になるプロセスを調べる手順は下記の通り。

  1. Windows UpdateMicrosoft Update)などを使って.NET Framework 2.0以降をインストール
  2. Microsoft Application Compatibility Toolkit 5.5をダウンロードしてインストール*2
  3. [スタート] - [すべてのプログラム] - [Microsoft Application Compatibility Toolkit 5.5] - [Compatibility Administrator]をクリックして実行
  4. [System Database] - [Applications] - [Windows Components]をクリック
  5. [プロセス名] - [Compatibility Fixes] - [AddProcessParametersFlags]または[AddProcessParametersFlagsEx]になっていればOptInポリシーでDEPが有効

Windows Componentsに登録されていないプロセスや、"AddProcessParametersFlags"または"AddProcessParametersFlagsEx"が設定されていないプロセスは、OptInポリシーではDEPが有効にならない。
これらの情報を格納しているMicrosoft Windows Application Compatibility Fix Databaseは下記のディレクトリに保存されている。

%windir%\AppPatch\sysmain.sdb

ちなみにMicrosoft Application Compatibility Toolkitの情報を見ると"Matching Files"と書かれているので、もしやと思い実行ファイル名notepad.exeをnotepada.exeに変更するとDEPが無効になる。逆にDEPが無効なwmplayer.exeの実行ファイル名をnotepad.exeに変更するとDEPが有効になる。どうやら"Matching Files"の値(プロセス名と会社名の両方)にプロセスがマッチすればDEPが有効になるようだ。なんか危なっかしいなぁ〜

*1:「重要な Windows のプログラムおよびサービスについてのみ有効にする」の対象になるプロセス

*2:Application Compatibility Toolkit.msiをダウンロードしてインストールする