問題タブ [dep]
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.
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 がオフになります。
前もって感謝します。
windows-xp - ieframe.dll のプロキシ DLL
wrappit を使用して ieframe.dll のテンプレート プロキシ dll を作成しました (http://www.codeproject.com/Articles/16541/Create-your-Proxy-DLLs-automatically)。
現在、関数を変更する前にフックして動作するかどうかをテストしようとしていますが、試してみると、Windows が DEP エラーをスローし始め、explorer.exe がクラッシュし続けるため、Windows Explorer の DEP を無効にしてみましたが、エクスプローラーはまだクラッシュし続けます。マシンを再起動しても機能しません。
ieframe.dll があるかどうかは、特に ieframe.dll が他の dll と比較して異なるかどうか疑問に思っています。以前、同じ方法を使用して advapi32.dll のプロキシ dll を作成しましたが、フックや DEP に問題はありませんでした。何か案は?
編集:Windows XP SP3を使用しています
macos - OSX Lion で DEP を無効にする方法
私が作成した dylib は Lion ではクラッシュしますが、Snow Leopard では問題なく動作します。これは、コンパイラのバグ (Delphi XE2、Upd.4) が原因で、コードがデータ セクションで終了することが原因のようです。
dylib がロードされると、RODATA セクション内のアドレスに KERN_PROTECTION_FAILURE を持つ SIGBUS があります。
これを Lion でできるだけ早く機能させる必要があるため、Lion で DEP を無効にする方法はありますか?
delphi - 外部ファイルからロードされたコードの一部の実行がDEPによって停止されないのはなぜですか?
私はずっと前にインターネットでリリースされたプロジェクトを利用しました。ここに詳細があります。簡潔さと明確さのために、無関係なものはすべて削除されています。
内容が以下に説明されているバイナリファイル
16進ダンプ:
メモリにロードされ、次のメソッドスニペットを使用して実行されます
私の箱の魅力のように機能します。
私の質問:
VirtualAlloc
および/またはを使用せずにどのように機能しVirtualProtect
ますか?
windows - Web アプリケーションと DEP の無効化
DEP と互換性がないように思われる、何年も前に作成された古い Web アプリケーションがいくつかあります。オフサイトの人々にこれらのアプリケーションの DEP を無効にするように伝えたところ、「しかし、これらは Web アプリケーションです!」という反応が返ってきました。
これは私を混乱させます。Web アプリの DEP を無効にすることはできますか? 違いはありますか?特定の Web アプリの DEP を無効にするために必要なプロセスを誰かが説明し、明らかにすることができますか?
ありがとう、
c++ - DEP がアクティブな場合、移行されたアプリケーションがクラッシュする
MFC アプリケーションを vc6 から vc9 (VS2008) に移植しました。すべて問題ありませんが、DEP がアクティブな場合、プログラムがクラッシュします (s. 以下のスタックトレース)。私はすでにNX-Flagをいじってみましたが、何も変わりません。また、Parasoft Insure++ を使用してアプリケーションをビルドしようとしましたが、メモリの破損やその他の問題は表示されません。
アドバイスをよろしくお願いします。
環境は以下のとおりです。
- DEP オプションは NoExecute=OptOut で、プログラムは除外リストにあります (そうでない場合、クラッシュしませんが、別の問題があります)。
- MFC メインフレーム コードは exe ではなく dll にあります
- DEP がアクティブな場合、動作しない古いサードパーティ ActiveX コンポーネントがいくつかあります。
スタックトレース:
vb6 - Outlook2010アドインのDEPを無効にする
これを行う方法はありますか?
私のレガシーVB6アドインは、レガシー(C ++の可能性が高い)サードパーティコンポーネントを利用して、UIの「スキン」を強化しています。Outlook 2000-2007では正常に機能しますが、2010年にはDEPが原因で失敗します。おそらく、「スキニング」コンポーネントがメモリにアクセスする方法です。
Outlookで(トラストセンターを介して)DEPをグローバルに無効にすると、正常に機能しますが、これはクライアントにとって実行可能なソリューションではありません。
[システムプロパティ]>[パフォーマンス]>[DEP ]のDEPオプトアウトリストにDLLを追加しようとしましたが、影響がないようです。また、「スキニング」DLL、それが実行されているMS VB6仮想マシン、またはOutlook.EXEをリストに追加しませんでした。
誰かが私を正しい方向に向けることができれば、DEPからの私のアドインだけを無効にすることで、私は大いに感謝するでしょう。
windows - データ実行防止: x86 OS での OptIn
ローカル システム アカウント (NT AUTHORITY\SYSTEM) でサービスを起動し、OptIn モードで DEP を構成した OS でサービスを起動した場合、サービスは DEP の強制下で実行されますか?
OptIn オプションは文字どおり (http://support.microsoft.com/kb/875352) と表示されます: この設定は既定の構成です。ハードウェア強制 DEP を実装できるプロセッサを搭載したシステムでは、「オプトイン」する限られたシステム バイナリとプログラムに対して、デフォルトで DEP が有効になっています。このオプションを使用すると、デフォルトで Windows システム バイナリのみが DEP の対象になります。
実行可能ファイルの NXCompat フラグは 0 です。
SYSTEM アカウントによって起動されたプロセスはカバーされますか? それとも、system32 フォルダーからのものだけがカバーされていますか?
ありがとう、シモーネ
c# - 作成したプログラムは、DEP を無効にしないと実行されません
プログラムを (C# Winforms で) 開発し、作成した Google サイトを通じて配布しました。
DEPを無効にしないと機能しないというコメントを誰かから受け取りました(彼はWindows 7を使用しています)。
私はDEPのことについて少し読んで、Windowsシステムに保存すると思われるRAMで実行しようとするプログラムをブロックすることを理解しています...
これは、プログラムを開発したときに私が行ったことですか? プログラムのセットアップ プロジェクトを作成したので、msi ファイルが作成されます。私のプログラムがこれらの禁止された部分を RAM 上で実行するのを防ぐ方法はありますか (もちろん、正しく理解している場合)。
役立つ場合は、私のサイトへのリンク - https://sites.google.com/site/chessopeningmaster/
arm - ARM/MIPS プラットフォームでの XN/XI ビット サポートのハードウェア サポートを確認する方法
ARM v6/v7 プラットフォームでの XN ビットのハードウェア サポートを検証していました。このために、ARM で execstack.c を実行しました。ARM v6/v7 の XN ビット サポートがあるため、クラッシュしています。次に、XIビットをサポートしていないMIPSターゲット(34Kc)で同じことを確認したため、プログラムは正常に実行する必要がありますが、ここでもこのプログラムがクラッシュしました。次に、XN ビット コードを削除し、ARM 用にコンパイルしました。その後、クラッシュしてはならないプログラムもクラッシュしました。
Test Program /* execstack.c - スタック上のコードを実行できるかどうかをテストします
*/
/MIPS ターゲットにログオンします/
MIPS ターゲットでは、コアダンプの下に execstack テストケースが表示されますが、MIPS では XI ビットがサポートされていないと想定しています。
VDLinux#> ./execstack
実行可能スタック [ 53.272000] do_ri() : SIGILL を execstack に送信中、PID:386
殺された
/ARM ターゲットにログオンします/
VDLinux#> ./execstack
実行可能スタック [ 451.784000] execstack: 0xbead5860 で未処理のページ フォールト (11)、コード 0x80000007 が強制終了されました
だから私は次の質問があります:
- ARM v6/V7 での XN ビットのサポートを確認するにはどうすればよいですか?
- MIPS 34Kc で XI ビットのサポートを確認する方法
- Linux カーネル コードで XN ビットのサポートを確認する場所。
ありがとう、ギリッシュ