那是刚来公司不久的时候,公司出于安全以及其他方面因素,需要用dll 将对外开放的接口进行封装一遍。
dll本身要做的事非常简单,将用户传入的参数经过“特殊”处理后发给Web service ,在接收返回数据以后,将其传递给调用者。
开发工具选择的是Delphi 7。
完成以后本地机器没有出现人和我问题 结果交到领导的机子上一跑就直接报内存错误~
后来发现问题所在。领导是2003系统,默认 dep 是对所有程序进行监控保护。
在对程序进行例外处理后,demo程序一路畅通无阻,dll调的一帆风顺。
其后给其它几个公司调用也没有再出现此问题(估计都是在xp系统中做开发) 直到昨天,
自己公司的人员也需要调用此接口,遂很大方的将dll以及demo程序、文档一起打包发过去。
结果又出现了上面一幕。
同事使用pb 调用,一调用dll方法,就直接退出程序,报错都不报~~~~~。
换一台机器就没问题。
为了开发进度,只能现将其机器的dep改为对所有程序禁用。
但是 心里总是很变扭,难道没有其它办法么?
该问题目前还没解决。暂时查出一些dep的相关信息,已备后查。
数据执行保护 (DEP) 是一套硬件和软件技术,可对内存执行额外检查,以防被恶意代码利用。
除了显式包含可执行代码的内存位置外,硬件实施 DEP 会将进程中的所有内存位置全部标记为不可执行。有一种恶意代码攻击尝试从不可执行的内存位置插入代码并加以运行。DEP 可截获这些攻击并引发异常,以此来帮助阻止此类攻击。
本文介绍硬件实施 DEP 的使用要求,并说明如何确认 Windows 中的硬件 DEP 是否可用。
更多信息
硬件实施 DEP 的使用要求
要使用硬件实施 DEP,必须符合下列所有条件: 1. 计算机的处理器必须支持硬件实施 DEP。
新生产的很多处理器都支持硬件实施 DEP。Advanced Micro Devices (AMD) 和 Intel Corporation 已定义并提供同时与 Windows 和 DEP 都兼容的体系结构。这种处理器支持可称为 NX(禁止执行)或 XD(执行禁用)技术。要确定计算机的处理器是否支持硬件实施 DEP,请与计算机的制造商联系。
2. 必须在 BIOS 中启用硬件实施 DEP。
在某些计算机的 BIOS 中,可以禁用针对硬件实施 DEP 的处理器支持。您不得禁用此支持。用于禁用此支持的选项可能标记为“数据执行保护”、“XD”、“执行禁用”或“NX”,具体则取决于计算机的制造商。
3. 计算机中必须安装了 Windows XP Service Pack 2 或 Windows Server 2003 Service Pack 1。
注意:Windows 的 32 位版本和 64 位版本都支持硬件实施 DEP。Windows XP Media Center Edition 2005 和 Microsoft Windows XP Tablet PC Edition 2005 包括 Windows XP SP2 的所有功能和组件。
4. 必须为计算机上的程序启用硬件实施 DEP。
在 Windows 的 64 位版本中,始终为 64 位的本机程序启用硬件实施 DEP。但是,32 位的程序可能已被禁用硬件实施 DEP,具体则取决于您的配置。
有关 DEP 和 DEP 配置的更多信息以及支持硬件 DEP 的 Windows 操作系统的列表,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
875352 (http://support.microsoft.com/kb/875352/) Windows XP Service Pack 2、Windows XP Tablet PC Edition 2005 以及 Windows Server 2003 中数据执行保护 (DEP) 功能的详细说明
有关如何在 Windows XP Service Pack 2 中配置内存保护的信息,请访问下面的 Microsoft 网站:
http://www.microsoft.com/china/t ... owsxp/depcnfxp.mspx (http://www.microsoft.com/china/t ... owsxp/depcnfxp.mspx)
如何确认 Windows 中的硬件 DEP 是否可用
要确认 Windows 中的硬件 DEP 是否可用,请使用下列方法之一。
方法 1:使用 Wmic 命令行工具
您可以使用 Wmic 命令行工具来检查 DEP 设置。要确定硬件实施 DEP 是否可用,请按照下列步骤操作: 1. 依次单击“开始”和“运行”,在“打开”框中键入 cmd,然后单击“确定”。
2. 在命令提示符处,键入以下命令并按 Enter:
wmic OS Get DataExecutionPrevention_Available
如果输出为“TRUE”,则说明硬件实施 DEP 可用。
要确定当前的 DEP 支持策略,请按照下列步骤操作。 1. 依次单击“开始”和“运行”,在“打开”框中键入 cmd,然后单击“确定”。
2. 在命令提示符处,键入以下命令并按 Enter:
wmic OS Get DataExecutionPrevention_SupportPolicy
返回值将为 0、1、2 或 3。此值与下表中描述的其中一个 DEP 支持策略相对应。
DataExecutionPrevention_SupportPolicy 属性值 策略级别 说明
2 OptIn(默认配置) 只有 Windows 系统组件和服务才应用 DEP
3 OptOut 为所有进程启用 DEP。管理员可以手动为不应用 DEP 的特定应用程序创建一个列表。
1 AlwaysOn 为所有进程启用 DEP。
0 AlwaysOff 为所有进程禁用 DEP。
注意:要验证 Windows 是否启用了硬件 DEP,请检查 Win32_OperatingSystem 类的 DataExecutionPrevention_Drivers 属性。在某些系统配置中,可以使用 Boot.ini 文件中的 /nopae 或 /execute 开关禁用硬件 DEP。要检查此属性,请在命令提示符处键入以下命令:
wmic OS Get DataExecutionPrevention_Drivers
方法 2:使用图形用户界面
要使用图形用户界面确定 DEP 是否可用,请按照下列步骤操作: 1. 依次单击“开始”和“运行”,在“打开”框中键入 wbemtest,然后单击“确定”。
2. 在“Windows 管理规范测试器”对话框中,单击“连接”。
3. 在“连接”对话框顶部的框中,键入 root\cimv2,然后单击“连接”。
4. 单击“枚举范例”。
5. 在“类别信息”对话框中的“输入超类别名称”框中,键入 Win32_OperatingSystem,然后单击“确定”。
6. 在“查询结果”对话框中,双击第一项。
注意:此项以“Win32_OperatingSystem.Name=Microsoft...”开头。
7. 在“对象编辑器”对话框中的“属性”区域中,找到“DataExecutionPrevention_Available”属性。
8. 双击“DataExecutionPrevention_Available”。
9. 在“属性编辑器”对话框中,记下“数值”框内的值。
如果该值为“TRUE”,则说明硬件 DEP 可用。
说明
• 要确定 DEP 的运行模式,请检查 Win32_OperatingSystem 类的 DataExecutionPrevention_SupportPolicy 属性。“方法 1”结尾处的表格描述了各个支持策略值。
• 要验证 Windows 中是否启用了硬件 DEP,请检查 Win32_OperatingSystem 类的 DataExecutionPrevention_Drivers 属性。在某些系统配置中,可以使用 Boot.ini 文件中的 /nopae 或 /execute 开关禁用硬件 DEP。
分享到:
相关推荐
protectionid 6.6.9 for all
Sentinel Protection Installer 7.6.3
标题中的“protectionid 最新版”指的是Protection ID,这是一款高级的查壳工具,用于识别软件上可能存在的各种保护机制,如压缩壳、加密壳和伪装壳。在IT安全领域,壳通常被黑客用来隐藏恶意代码,使得反病毒软件...
Symantec Endpoint Protection Manager 安装实施步骤 Symantec Endpoint Protection Manager 是一个功能强大且复杂的endpoint安全管理系统,旨在保护计算机和网络免受恶意软件、僵尸网络和其他网络威胁的攻击。为了...
在嵌入式系统和微控制器(MCU)领域,Flash Write Protection是一种重要的功能,用于防止对存储在设备内部Flash内存中的程序或数据进行未经授权的修改。Flash存储器是电子设备中常用的非易失性存储器,它能够在断电...
Sentinel Protection Installer 7.5.0
This comprehensive and insightful book discusses ESD protection circuit design problems from an IC designer's perspective. On-Chip ESD Protection for Integrated Circuits: An IC Design Perspective ...
Sentinel Protection Installer 7.6.1 整合型驅動程式, 可以同時安裝Sentinel的驅動程式、Sentinel Protection Server與Sentinel Key Server服務程式, 可同時支援32bit/64bit Windows作業系統
而"Source Protection Tool"则是Rslogix5000软件的一个关键组成部分,它为用户的数据安全提供了坚实的保障。 源保护,顾名思义,就是对程序源代码的保护。在工业自动化系统中,程序源代码是系统运行的核心,包含了...
"rav Endpoint Protection" 和 "rav Antivirus" 是两款可能在国内不那么知名的反病毒软件。这些软件在一些国外的软件下载中可能会作为捆绑程序出现,用户在不知情的情况下可能会安装到自己的计算机上。这两款软件的...
### 卸载Symantec Endpoint Protection的步骤及注意事项 #### 标题理解: - **标题**:“卸载symantec endpoint protection”明确指出本文将介绍如何卸载这一安全软件。 #### 描述理解: - **描述**:“卸载...
Symantec Endpoint Protection 14
《赛门铁克Endpoint Protection 14 Linux版的安装与离线病毒库更新指南》 赛门铁克Endpoint Protection是一款广泛应用于企业环境的安全防护软件,它提供了全面的防病毒、防火墙、入侵检测和防止恶意软件等服务。...
"Symantec Endpoint Protection Remove Tools" 是一个专为卸载Symantec Endpoint Protection(SEP)设计的工具。这款工具主要用于解决在常规卸载过程中可能出现的问题,例如残留的注册表项、服务或者文件,这些问题...
标题“ProtectionId.690.December.2017_BestAndAlways_Protection690_”暗示我们正在处理一个与安全相关的更新或软件,可能是某种安全防护工具的版本号,例如防病毒软件或者防火墙。"BestAndAlways"可能代表产品品牌...
ughuouigigoyigof f6of68vyboyf t
Symantec_Endpoint_protection_Manager
这是一个Sentinel Protection Installer 7.3.2,直译过来是哨兵保护安装器
Over 31 simple yet incredibly effective recipes for installing and managing System Center 2016 Endpoint Protection About This Book This is the most practical and up-to-date book covering important ...