4

ヒープの一部がアセンブリ命令として/テスト目的で実行されるアプリがあります-プログラムをPLCにダウンロードしますが、ユーザーはPLCにダウンロードする前にコードを実行することでアプリケーションの実行をシミュレートできます。以前は、命令が格納されているヒープからこれらのプログラムを実行し、これは正常に機能していましたが、現在はVS2012に変換されており、DEPをオフにするのはそれほど簡単ではないようです。何が返されるかに関係なく、どういうわけかDEPをオフにすることができるのか、GetProcessDEPPolicyそれともDEPを使用せずにヒープからアセンブリ命令を実行する他の手法があるのか​​疑問に思いました。

4

1 に答える 1

6

DEPを無効にしたくない。アプリ内で動作するようにアプリを変更したい。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa366553%28v=vs.85%29.aspxごと

If your application must run code from a memory page, it must allocate and set the proper
virtual memory protection attributes. The allocated memory must be marked PAGE_EXECUTE,
PAGE_EXECUTE_READ, PAGE_EXECUTE_READWRITE, or PAGE_EXECUTE_WRITECOPY when allocating memory.

これらの簡単な指示に従うと、コードをDEPと共存させることができます。

于 2013-03-22T23:54:23.240 に答える