2

NoExecute 保護をオプトアウト (またはオプトイン) するためのアセンブリ マニフェスト (またはおそらく PE イメージ フラグ) はありますか?


デフォルトでは、Windows は独自のバイナリのみを NoExecute 保護で保護します。

ここに画像の説明を入力

しかし、実行可能ファイルを NX 保護にオプトインすることをお勧めします。

また、アプリケーションが NX 保護と互換性がないことをユーザーに示す必要がある場合もあります。ユーザーに手動で私を見つけてリストに追加するように強制するのではなく、私は彼らのためにそれを行うことができます:

ここに画像の説明を入力

注:これは、アプリケーションを標準ユーザーとして実行することをオプトインする機能に例えられます。

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
  <security>
      <requestedPrivileges>
          <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
      </requestedPrivileges>
  </security>
</trustInfo>

または、「標準ユーザーとして実行」保護をオプトアウトする機能:

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
  <security>
      <requestedPrivileges>
          <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
      </requestedPrivileges>
  </security>
</trustInfo>

: NX 保護をオプトインまたはオプトアウトする方法はないと思います。したがって、答えがNoであれば問題ありません。しかし、私は間違っているかもしれないので、私はまだ尋ねています。

4

1 に答える 1

2

IMAGE_DLLCHARACTERISTICS_NX_COMPAT (および/または SetProcessDEPPolicy)でオプトインできます。

システム設定が AlwaysOn でない場合 (GUI IIRC で設定できない)、SetProcessDEPPolicyでオプトアウトできます。

親プロセスは、Vista 以降でPROCESS_CREATION_MITIGATION_POLICY_DEP_ENABLEを使用して DEP を強制できます。

古い ATL コードと一部のサード パーティの DRM/コピー防止機能には特別な処理があり、システムがオプトアウト モードの場合は DEP によってトラップされません (AlwaysOn については不明)。

XP.SP2/2003.SP1 で「SetProcessDEPPolicy」を使用するには、文書化されていないNtSetInformationProcess関数を呼び出します。

于 2011-12-28T18:31:14.297 に答える