我们有一个应用程序,其中一部分堆作为汇编指令执行/用于测试目的 - 我们下载程序到PLC,但允许用户在下载到PLC之前通过执行代码来模拟运行其应用程序。在我们总是从存储指令的堆中执行这些程序之前,这个程序运行良好,但现在我们已经转换为VS2012,现在看起来关闭DEP并不容易。我想知道是否可以关闭DEP而不管GetProcessDEPPolicy
返回什么或者是否有其他技术从堆执行汇编指令而不涉及DEP?如何禁用DEP
Q
如何禁用DEP
3
A
回答
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共存。
+0
谢谢,我会尝试。 – 2013-03-23 18:36:57
相关问题
- 1. Web应用程序和禁用DEP
- 2. 为Outlook 2010加载项禁用DEP
- 3. DEP和ASLR以及如何使用它?
- 4. 如何让我的程序DEP兼容?
- 5. Delphi中的ASLR和DEP,如何判断?
- 6. JIT编译和DEP
- 7. 使dep:无法完成'depend'
- 8. Object.assign Babel与外部npm dep
- 9. Github上DEP在podspec文件
- 10. 如何禁用
- 11. 如何从项目中删除* .dep文件
- 12. 如何在exe中读取DEP nxcompat标志?
- 13. 如何禁用fabricjs中禁用shift键?
- 14. 如何禁用PHP
- 15. 如何禁用C#
- 16. 如何禁用UISwitch?
- 17. 如何禁用curvyCorners?
- 18. 如何禁用Flyspell?
- 19. 如何禁用EditText
- 20. 如何禁用mozgrabber?
- 21. 如何禁用recaptcha?
- 22. 如何禁用_moz_resizing?
- 23. 如何禁用Fiddler
- 24. 如何禁用TextView
- 25. 如何禁用OnClickListerners
- 26. 如何禁用ImageCheckRow
- 27. 如何禁用rightBarButtonItem
- 28. 如何禁用UIBarButtonItem?
- 29. 如何禁用VVDocumenter?
- 30. 如何禁用UITabBar?
不,这不是病毒:-) – 2013-03-22 23:51:04
很长时间以来这是不可能的。你从什么升级?请注意HeapCreate()winapi函数的HEAP_CREATE_ENABLE_EXECUTE选项。不,你不能在VS2012中改变它,它现在从默认进程堆中分配。你需要使用VirtualAlloc()来分配具有正确保护标志的内存。听起来像我工作btw旧项目;) – 2013-03-23 01:19:51