如何关闭DEP
How to disable DEP
我们有一个应用程序,其中堆的某些部分作为汇编指令执行/用于测试目的-我们将程序下载到PLC,但允许用户在下载到PLC之前通过执行代码来模拟运行他们的应用程序。之前我们总是从存储指令的堆中执行这些程序,这工作得很好,但是我们现在转换到VS2012,现在似乎关闭DEP不是那么容易。我想知道是否有可能关闭DEP,无论GetProcessDEPPolicy
返回什么,或者是否有其他技术可以在不涉及DEP的情况下从堆中执行汇编指令?
你不想禁用DEP;你想修改你的应用程序在它里面工作。
每http://msdn.microsoft.com/en-us/library/windows/desktop/aa366553%28v=vs.85%29.aspxIf 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共存。
相关文章:
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 关闭||运算符优化
- C++在变量给定的指定时间内关闭电脑
- Python中的for循环与C++有何不同
- 确保流程关闭
- Qt Q串行端口未编程设备未关闭
- 如何正确关闭升压线程
- 是否可以依赖函数范围的静态变量来执行程序关闭期间调用的方法?
- 我的二进制搜索程序只是关闭了
- 在C++中释放内存期间,迭代器与指针有何不同
- 在不知道套接字的情况下关闭网络连接
- 防止组合框被关闭
- 按回车键后输出屏幕关闭
- SIGSEGV on Boost UDP 套接字关闭 - tcache_get at malloc.c.
- 通过安装信号处理程序关闭多线程应用程序
- 自定义对话框(源自QDialog)不会关闭(Android)
- 标准对此指向成员函数类型模板参数有何说明?是我的代码有误,还是 MSVS 16.6 有问题?
- C++ - 为什么我的程序在再次调用函数后关闭?
- 我可以写入关闭的套接字并强制纠正损坏的管道错误吗?
- 如何关闭DEP