問題タブ [data-execution-prevention]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
fogbugz - FogBugzでDEPをオフにする必要があるのはなぜですか?
FogBugzをローカルにインストールすると、DEPがオフになっていると主張するのはなぜですか?
c# - Windows フォームの webbrowser での AccessViolationException
Web ブラウザー コントロールが組み込まれた基本的な Windows フォーム アプリを C# で作成しました。カメラのフィードを表示するページに移動しています。アプリケーションは Windows XP では正常に動作しますが、Vista では動作しません。
Vista では、AccessViolationException が発生します。これは、データ実行防止に関連しているようです。
http://jtstroup.net/CommentView,guid,3fa30293-a3a4-4a1c-a612-058e751ad151.aspxの記事には、いくつかの解決策があります。ページの下部にある修正プログラム editbin.exe /NXCOMPAT:NO Visual Studio コマンド プロンプトからの YourProgram.exe は問題なく動作します。
ただし、私が望むのは、ビルド後のイベント メソッドを使用することです。提案されているように、次を追加します。
REM プロジェクトを DEP 非準拠としてマーク call "$(DevEnvDir)....\VC\bin\vcvars32.bat" call "$(DevEnvDir)....\VC\bin\editbin.exe" /NXCOMPAT:NO "$ (ターゲットパス)"
ただし、デバッガーを使用してプログラムを実行しようとすると、これは機能しません (つまり、同じ例外が発生します)。
何か案は?
delphi - Vistaで閉じると、Delphi2006は常に動作を停止します
VistaでDelphi2006からGalileoIDEを停止すると、次のようになります。
マイクロソフトウィンドウズ
Borland®DeveloperStudioforWindowsが動作を停止しました
問題が発生したため、プログラムが正しく動作しなくなりました。プログラムを閉じてください。
[プログラムを閉じる]
その後、データ実行防止によるダイアログが表示されます。プログラムをDEPから除外しても役に立ちません。
どうすればこれを防ぐことができますか?
回答への対応:Delphi 7-2007で実行する必要があるお客様向けのフレームワークを開発しているため、Delphiの別のバージョンに変更することはできません。主なお客様はDelphi2006を使用しています。Delphi2009はまだ決定されていません。 Unicodeに移植する必要のあるコードがたくさんあります。Delphi 2006で広範なテストを行う必要がありますが、それを回避する方法はありません。
.net - Windows 7で発生する可能性のあるデータ実行防止(DEP)の問題
.Netプログラムに深刻な問題があります。ネイティブdllを呼び出し、ネイティブメソッドが見つからないため、すぐにクラッシュします。これは以前に見た動作であり、C#コンパイラは、その無限の知恵で、明らかにそうではないネイティブdllを呼び出した場合でも、プログラムがDEP互換であるというフラグを設定します。
これには標準的な回避策があり、ビルド後のステップでフラグがNot DEP互換に設定されており、これは正常に機能します。私のマシンを除いてどこでも。私はWindows732ビットを使用していますが、このプログラムは、使用しているWin 7 64ビットマシン、およびVistaとXPで正常に動作します。
ただし、私のマシンでは、DataExecutionPolicy_SupportPolicyは0です。つまり、DEPを正常にオフに切り替えました。それがまだ行動できる状況があるかどうか誰かが知っていますか?または、同じ効果を持つ可能性のある他のメカニズムはありますか?
また、新しくインストールされた別のWin7 32ビットマシン(これも私のようなThinkpad)をチェックしましたが、そこでも動作します。すべてのBIOS設定を比較しましたが、それらは類似しています(私のものはT61、もう1つはR60です)。
問題のdllは、ネイティブプログラムから呼び出された場合、私のマシンでも正常に機能します。私たちはアイデアを使い果たしています...どんな助けでも大歓迎です!
.net - .NET アプリケーションで DEP または ASLR を有効にするにはどうすればよいですか?
VS2010 でプログラムを作成しており、ビルド ターゲットは .NET 4です。デフォルトでDEP互換性フラグがオンになっていると思います。本当?
.NET はデフォルトでASLRとも互換性がありますか?また、ASLR は私のプロセスに対してデフォルトでオンになっていますか?それとも実行時に要求する必要がありますか?
linux - Linux で VirtualProtectEx に相当するものは?
私はいくつかの簡単な JIT を行っており、 Windows でVirtualProtectExを使用してページを実行可能としてマークしています。Linux で、できれば他の POSIX/Unix ライクな OS でそれと同等のものは何でしょうか?
c# - Windows サービスによるデータ実行防止
Windows 7 Ultimate 64 ビットを実行しています。
ここ南アフリカの主要な通信サービス プロバイダー (TELKOM) によってリリースされた dll を呼び出す Windows サービス (C# で記述) があります。dll は MPIEst.dll と呼ばれ、C++ で書かれていると思います。リンクの男 (http://social.msdn.microsoft.com/Forums/en-US/windowscompatibility/thread/a7e5aafc-bb52-42c3-a3b7-19cb4cfbf6d5/) は、私と同じ問題を抱えていました。
いくつかの調査を行った後、DEP (データ実行防止) が「DLL 'MPIest.dll' をロードできません: メモリの場所への無効なアクセスです。(HRESULT からの例外: 0x800703E6)」というエラーの原因であることがわかりました。だから私は「それは簡単だ...コンピュータ全体のDEPをオフにして、何が起こるか見てみよう」と思った. だから私はこれを行い、結果はさらに奇妙になります.Windowsサービスは何も起こらないように正常に実行されますが、DLLへのすべての呼び出しはまったく何もしません。
私がこれを知っているのは、DLL を使用する通常の C# コンソール アプリを作成したとき、DLL メソッドは値を返し、適切に機能しましたが、Windows サービス内から実行すると、DLL メソッドはゼロ以外の結果を返し、何かが起こったことを示しているからです。違う。問題は、リターン コードが何を意味するかを示すドキュメントがないことです。
とにかく、システム全体で DEP を無効にしても、Windows サービスには影響しないということです。誰もこれに遭遇したことがありますか?Windows サービスとコンソール アプリはまったく同じコードを呼び出し、まったく同じことを行いますが、コンソール アプリは正常に動作しますが、Windows サービスは黙って何もしませんが、システム全体で DEP がオフになります。
前もって感謝します。
delphi - Delphi の簡単なデータ実行防止のサンプル コード
「クラッシュ」をテストするには、オペレーティング システムがイベント ログに DEP 違反を記録する方法を確認するために、小さな Delphi コードが必要です。
DEP のアクティブ化に関する多くの情報源を見つけましたが、DEP 違反を「トリガー」する方法については知りませんでした。
例はありますか?
DEP vialotion がログでどのように表示されるかを示します
linux - プロセスが一度に書き込み権限と実行権限の両方を持つメモリ ページを必要とするのはいつですか
プログラムを分離して保護する方法を理解しようとしています。
PROT_WRITE |PROT_EXEC
プロセスがメモリ ページで必要とする有効なケースはありますか? これは回避できますか?
これは、NX ビット、W^X、または DEP が達成しようとしていたこととは正反対のようです。
Libre オフィスはこれを使用しているようで、強化された Linux で多くの問題を引き起こしています。
delphi - Delphi 6 のデータ実行防止
VISTA を使用しているコンピューターに Delphi 6 があります。何年も問題なく動作していましたが、今では Windows から、Delphi 32 開発環境が動作を停止し、データ実行防止のために閉じられたというメッセージが表示されます。データ実行防止を変更しようとしましたが、効果がありませんでした