问题标签 [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.

0 投票
5 回答
656 浏览

fogbugz - Why does FogBugz require that the DEP is turned off?

I am really wondering why FogBugz when installed locally insists that DEP is turned off?

0 投票
6 回答
2215 浏览

c# - AccessViolationException 与 Windows 窗体中的 Web 浏览器

我用 C# 编写了一个基本的 Windows 窗体应用程序,它具有嵌入式 Web 浏览器控件。我正在导航到一个页面以查看相机的提要。该应用程序在 Windows XP 上运行良好,但在 Vista 上却不行。

在 Vista 上,我得到一个 AccessViolationException。这似乎与数据执行保护有关。

http://jtstroup.net/CommentView,guid,3fa30293-a3a4-4a1c-a612-058e751ad151.aspx上的文章有几个解决方案。页面底部的修复,来自 Visual Studio 命令提示符的 editbin.exe /NXCOMPAT:NO YourProgram.exe 工作得很好。

但是,我想通过按照建议添加以下内容来使用构建后事件方法:

REM 将项目标记为 DEP 不符合要求 call "$(DevEnvDir)....\VC\bin\vcvars32.bat" call "$(DevEnvDir)....\VC\bin\editbin.exe" /NXCOMPAT:NO "$ (目标路径)"

但是,当我尝试通过调试器运行程序时,这不起作用(即我得到相同的异常)。

有任何想法吗?

0 投票
4 回答
463 浏览

delphi - 在 Vista 上关闭时,Delphi 2006 总是停止工作

每当我在 Vista 下从 Delphi 2006 停止 Galileo IDE 时,我得到

微软Windows

Borland® Developer Studio for Windows 已停止工作

一个问题导致程序停止正常工作。请关闭程序。

[关闭程序]

然后是一些数据执行预防的对话。即使从 DEP 中排除该程序也无济于事。

我怎样才能防止这种情况发生?

对答案做出反应:更改为另一个版本的 Delphi 不是一种选择,因为我们为客户开发了一个必须在 Delphi 7 - 2007 上运行的框架。我们的主要客户使用 Delphi 2006。Delphi 2009 尚未确定,因为我们有大量的代码需要移植到 unicode。我们必须在 Delphi 2006 下进行广泛的测试,没有办法。

0 投票
1 回答
1433 浏览

.net - Windows 7 中可能存在的数据执行保护 (DEP) 问题

我的 .Net 程序存在严重问题。它调用本机 dll,然后由于找不到本机方法而立即崩溃。这是我们之前看到的行为,C# 编译器以其无限的智慧设置程序与 DEP 兼容的标志,即使它调用了一个明显不兼容的本机 dll。

我们对此有标准的解决方法,在构建后步骤中将标志设置为 Not DEP Compatible,这工作正常。除了在我的机器上,到处都是。我有 Windows 7 32 位,该程序在我们拥有的 Win 7 64 位机器以及 Vista 和 XP 上运行良好。

但是,在我的机器上,DataExecutionPolicy_SupportPolicy 为 0,即我们已成功关闭 DEP。有谁知道在某些情况下它仍然可以起作用吗?或者任何其他可能具有相同效果的机制?

我们现在还检查了另一台新安装的 Win7 32 位机器(也是我的 Thinkpad),它也可以在那里工作。我们比较了所有的 BIOS 设置,它们是相似的(我的是 T61,另一个是 R60)。

当从本机程序调用时,有问题的 dll 在我的机器上也可以正常工作。我们的想法已经用完了......任何帮助将不胜感激!

0 投票
1 回答
5514 浏览

.net - 如何为我的 .NET 应用程序启用 DEP 或 ASLR?

我在 VS2010 中编写程序,构建目标是 .NET 4。我相信DEP兼容性标志默认是打开的。真的吗?

.NET 默认情况下是否也与ASLR兼容,并且默认情况下我的进程是否打开了 ASLR,还是我必须在运行时请求它?

0 投票
1 回答
944 浏览

linux - VirtualProtectEx 的 Linux 等效项?

我正在做一些简单的 JITing,并在 Windows 下使用VirtualProtectEx将页面标记为可执行。在 Linux 下,最好是在其他类似 POSIX/Unix 的操作系统下有什么等价物?

0 投票
1 回答
2251 浏览

c# - Windows 服务的数据执行保护

我正在运行 Windows 7 Ultimate 64 位。

我有一个 Windows 服务(用 C# 编写)调用一个 dll,该 dll 由南非的一家主要电信服务提供商 (TELKOM) 发布。该 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 已关闭。

提前致谢。

0 投票
1 回答
1444 浏览

delphi - Delphi 的简单数据执行保护示例代码

对于测试“崩溃”,我需要一小段 Delphi 代码来查看操作系统如何在事件日志中记录 DEP 违规。

我发现了很多关于激活 DEP 的资料,但没有找到关于如何“触发”违反 DEP 的资料。

你有一个例子吗?


相关问题:https ://serverfault.com/questions/130716/if-dep-has-stopped-an-app-is-there-a-possibility-to-see-this-events-in-a-log

显示 DEP vialotion 在日志中的外观

0 投票
1 回答
83 浏览

linux - 进程何时需要同时具有写入和执行权限的内存页

我试图了解如何隔离和保护程序。

当进程需要PROT_WRITE |PROT_EXEC在内存页面上时,是否有任何有效的情况?这可以避免吗?

这似乎与 NX 位或 W^X 或 DEP 试图实现的目标相反。

Libre office 似乎正在使用它,并在硬化的 linux 上造成了很多麻烦。

https://github.com/nning/linux-pax-flags/pull/3

0 投票
0 回答
152 浏览

delphi - Delphi 6的数据执行预防

我在使用 VISTA 的计算机上有 Delphi 6。它多年来一直运行良好,但现在 Windows 只是向我发送一条消息,说 Delphi 32 开发环境已停止工作并由于数据执行保护而关闭。我尝试更改数据执行保护,但没有效果