如何关闭VS的DEP保护(数据执行保护)

C#应用程序关闭WIN7系统DEP执行保… 最近在做项目,由于应用程序中调用了第三方的DLL,运行在WIN7上发现被DEP拦截了,程序跑不起来。网上一阵搜索发现是由于VS开发工具在编译C#项目的时候会在PE头文件里面将DEP开关打开,而C#工程又没有这个关闭的开关【C++工程是有这个开关的】,最后终于找到了一个方法,在项目生产后执行事件里添加关闭DEP命令行即可。 项目属性---》生产事件---》后期生成事件命令行---》编辑后期生成事件 阅读详情
AI摘要

本文介绍了解决栈溢出问题的过程,在开启了数据执行保护(DEP)的情况下,如何通过修改Visual Studio项目的设置来禁用DEP,进而允许在特定环境下执行栈上的代码。

今天看到0day安全中栈溢出的示例,手痒就学习,程序在一波

函数中修改函数返回地址跳到栈区去执行代码,而在DEP保护开启情况下堆和栈是无法执行代码,这也是缓冲区溢出保护机制之一。

在一番太头疼之后终于在VS项目--》属性一堆长长的设置中找到“数据执行保护”的字样

他藏在了项目--》属性--》链接器--》高级--》数据执行保护(DEP)  设置为 否 (/NXCOMPAT:NO)

美滋滋 这个小问题解决啦,继续学习

在Windows上启用或禁用数据执行保护 在Windows操作系统中,DEP可以通过启用或禁用来增强系统的安全性。DEP有两种模式:硬件DEP和软件DEP。硬件DEP依赖于处理器的硬件支持,而软件DEP则是通过操作系统实现的。在Windows上,我们可以通过修改系统的Boot Configuration Data(BCD)来启用或禁用DEP。现在,您可以根据自己的需要在Windows上通过编程方式启用或禁用DEP了。请记住,在对系统进行任何更改之前,确保理解潜在的安全风险,并谨慎操作。这将启用硬件DEP和软件DEP。这将完全禁用DEP。 阅读详情

相关推荐

Python数据分析实战:用TIGRAMITE库5步搞定时间序列因果分析(附完整代码)

本文详细介绍了如何使用TIGRAMITE库进行时间序列因果分析,通过5个步骤从环境配置到模型优化,帮助读者掌握因果关系库的应用。附完整代码示例,适合数据分析师和研究人员快速实现复杂时间序列的因果发现。

weixin_29050271的博客 161

C#调用第三方dll生成exe被dep拦截

前段时间用C#写了个小程序,用到了第三方的dll,在编译运行后直接闪退,找了半天发现是被windows的dep给拦截了,尝试后很多方法,最终解决了,现在分享给大家! 1.关闭指定程序的dep保护 ...

luoqilong012的博客 7590

某商场G区火灾自动报警与控制系统设计

某商场G区火灾自动报警与控制系统设计 摘要:随着我国经济建设的迅速发展,人民生活水平不断提高,城市用地日益紧张,促使建筑物正朝着高层化、密集化方向发展。高层建筑的特点决定其火灾的危险性和高层建筑的火灾自动报警系统的重要性,一套完整的火灾自动报警及联动控制系统是高层建筑发生火灾时人们生命财产的有利保障,是能否快速准确地发现火情,把火灾扑灭在萌芽状态的关键所在。文章通过消防设计,论述了火灾自动报警及消...

weixin_44026784的博客 5369

Win7怎么开启或关闭dep数据执行保护

由于现在做自助签注设备软件开发,启用航信签注模块服务是需要关闭数据保护,因此。。。。。 开启数据保护: 1.使用管理员身份运行命令窗口 2.输入bcdedit.exe/set {current} nx AlwaysOn pause并按回车,此时提示操作成功完成,表示已成功开启dep   关闭数据保护 1.使用管理员身份运行命令窗口 2.输入bcdedit.exe/set {curre...

beautifull001的博客 1万+

Yolov26 在 Rk3588 上的 Rknn Onnx 部署实践(c++)

本文介绍了YOLOv26在RK3588平台的C++推理部署方案。重点包括:1)扩展Ultralytics导出格式,新增RKNN_ONNX专用导出选项;2)重构Detect Head结构,使其更适合RKNN推理;3)提供C++侧后处理实现建议。该方案保留了Ultralytics训练生态,通过优化模型结构输出,将解码等操作移至C++端,充分发挥Rockchip NPU性能。适用于RK3588/RK356x等平台,需配合rknn-toolkit2使用,为YOLOv26的嵌入式部署提供完整解决方案。

qq_64366203的博客 2178

H无穷控制学习笔记——加权灵敏度H无穷控制问题

一、加权灵敏度H无穷问题 系统结构如上图所示。被控对象P的状态空间方程为(Ap,Bp,Cp,DpA_p,B_p,C_p,D_pAp​,Bp​,Cp​,Dp​),加权函数W1的状态空间方程为(A1,B1,C1,D1A_1,B_1,C_1,D_1A1​,B1​,C1​,D1​),加权函数W2的状态空间方程为(A2,B2,C2,D2A_2,B_2,C_2,D_2A2​,B2​,C2​,D2​),加权函数W3的状态空间方程为(A3,B3,C3,D3A_3,B_3,C_3,D_3A3​,B3​,C3​,D3​)。

一饮丶一啄的博客 4351

Win7x64 Win2012系统启用和关闭DEP数据保护执行!

禁用后:高级-设置-不能选择选项。亲测可用:w7 x64。

wangxingps的博客 2033

解决 `version ‘GLIBCXX_3.4.32‘ not found‘ not found` 错误

解决 `version 'GLIBCXX_3.4.32' not found' not found` 错误

engchina的专栏 5679

Windows 如何关闭 dep数据执行保护 - 软件双击没反应的解决办法

3、单击“数据执行保护”选项卡 选择仅为基本Windows程序和服务启用DEP。2、单击“高级”选项卡,然后单击“性能”下面的“设置”;1、按 win + s 输入 高级系统设置。

qq_34920482的博客 1319

导航系统 | 全球四大卫星导航系统(2025)核心能力对比分析

北斗系统通过GEO卫星(80°E、110.5°E、140°E)实现区域增强,其IGSO卫星在亚太地区形成"8"字形轨迹,使该区域可见卫星数量比GPS多4-6颗,显著提升复杂环境下的定位可用性[13]。北斗短报文功能在2025年云南地震救援中发挥关键作用,被困人员通过北斗终端发送120字求救信息,实现"位置+状态"一体化上报,救援响应时间缩短40%[15]。北斗通过三频信号(B1C/B2a/B3)消除电离层延迟误差,在城市峡谷环境下定位连续性达99.98%,优于GPS的99.95%[5]。

尘世冰封的专栏 2616

拼多多Android面试题及参考答案

Android 系统采用分层架构设计,从底层到上层依次为Linux 内核层硬件抽象层(HAL)系统运行时库层应用框架层应用层,共五层。位置:Linux 内核层与系统运行时库层之间,是“硬件与系统的隔离层”。核心作用:屏蔽硬件差异,为上层提供统一的硬件访问接口,解决 Android 开源与硬件厂商闭源的矛盾,具体功能如下:硬件能力抽象:将硬件的具体实现(如不同厂商的摄像头芯片、音频芯片)封装为标准化接口(如Camera HALAudio HAL。

大模型大数据攻城狮的专栏 1285

开DEP与不开DEP

测试环境:Win7 32 测试代码: #include "stdafx.h" #include <string.h> int _tmain(int argc, _TCHAR* argv[]) { char buf[500]; buf[499]=0xbb; strcpy(buf,argv[1]); return 0; } 为了排除其他安全机制的...

anyingga7675的博客 465

面向边缘计算的YOLOv12模型剪枝-蒸馏联合优化实战教程**

这套剪枝-蒸馏联合方案的优势在于其系统性和可靠性。它不是单一的技巧,而是一套完整的工程流程,确保了从研发到部署的无缝衔接。

FJN110的博客 160

gdb 查看是否 栈溢出_ASLR、DEP与栈保护(HFUT-ZRB's Task)

任务2:ASLR、DEP与栈保护一、任务内容①查阅资料,了解地址空间布局随机化(Address Space Layout Randomization,ASLR)的原理和作用。②在Windows操作系统中,基于VC 6编写、编译包含简单自定义函数func( )调用的控制台小程序,利用反编译结果或调试跟踪分析func( )的调用与地址;基于VS C++编译上述同一代码,并分析func( )的调用与地址...

weixin_39692623的博客 1166

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VS2003 在push edi 的时候AV

VS2003 在push edi 的时候AV原贴地址:http://eparg.spaces.msn.com/Blog/cns!1pnPgEC6RF6WtiSBWIHdc5qQ!379.entry原贴时间:2005-11-1原贴作者:eparg个月做一个case的时候,需要激活vs2003的unmanaged debugging. 激活后用f5调试,程序还没有起来,vs2003 IDE就c

eparg的专栏 2904

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

数据执行保护

    程序在一波函数中修改函数返回地址跳到栈区去执行代码,而在DEP保护开启情况下堆和栈是无法执行代码,这也是缓冲区溢出保护机制之一。程序崩溃没有调用栈,内存没溢出。 -------解决方法:在VS项目--》属性--》高级 :找到“数据执行保护” -------将 数据执行保护(DEP)  设置为 否 (/NXCOMPAT:NO)  ...

蝈蝈的博客 1558

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

VS解决BEX错误但无法关闭DEP保护的问题

个人博客: alex-my.xyz   最近程序报出BEX错误:   问题签名: 问题事件名称: BEX 应用程序名: Auth.exe 应用程序版本: 0.0.0.0 应用程序时间戳: 546d9e0c 故障模块名称: Auth.exe 故障模块版本: 0.0.0.0 故障模块时间戳: 546d9e0c 异常偏移: 00137ec6 异常代码: c0000417 异常数据: 00000...

alex_my 1万+

《Windows安全机制》之DEP(数据执行保护)

Windows安全机制第二弹——DEP保护,上一篇《Windows安全机制——ASLR(地址随机化)及如何关闭ASLR》,地址如下:https://blog.youkuaiyun.com/weixin_43742894/article/details/105702886 ...

weixin_43742894的博客 6702

DEP原理及关闭

一、原理   DEP - 数据执行保护的缩写,Data Execution Prevention。 他是一套软硬件技术,能够在内存上执行额外检查以帮助防止在系统上运行恶意代码。其基本原理是将数据所在内存页标识为不可执行,当程序溢出成功转入shellcode时,程序会尝试在数据页面上执行指令,此时CPU就会抛出异常,而不是去执行恶意指令。如图所示           DEP 的主要作用是阻

dongyewolong的专栏 2万+

9.1 DEP机制的保护原理

DEP工作原理

qq_55202378的博客 2050

数据执行保护DEP

由于许多通用的漏洞利用方法和大量的蠕虫! 微软决定在硬件层和软件层加入内存保护。所以从windows XP SP2 (Windows XP Tablet PC Edition 2005) , Windows Server 2003 Service Pack 1 (OS level) 开始、从 visual studio 2003 (编译器方面)开始加入了许多内存保护功能。 我简单的介绍下

u010654697的专栏 1691

dep原理及突破方法

一、原理   DEP - 数据执行保护的缩写,Data Execution Prevention。 他是一套软硬件技术,能够在内存上执行额外检查以帮助防止在系统上运行恶意代码。其基本原理是将数据所在内存页标识为不可执行,当程序溢出成功转入shellcode时,程序会尝试在数据页面上执行指令,此时CPU就会抛出异常,而不是去执行恶意指令。如图所示           DEP 的主要作用是阻

zz_strive_2012的专栏 3497

DEP

一、原理  DEP - 数据执行保护的缩写,Data Execution Prevention。 他是一套软硬件技术,能够在内存上执行额外检查以帮助防止在系统上运行恶意代码。其基本原理是将数据所在内存页标识为不可执行,当程序溢出成功转入shellcode时,程序会尝试在数据页面上执行指令,此时CPU就会抛出异常,而不是去执行恶意指令。如图所示 DEP 的主要作用是...

weixin_30649859的博客 846

DEP学习

SEH表的信息在内存中是加密存放的,所以突破它可能性不大······································································ 种类: 1)软件DEP  就是前面学习过的 SafeSEH 目的是阻止利用SEH的攻击  与CPU硬件无关  利用软件模拟实现DEP 对操作系统提供一定的保护。 现在就知道了 SafeSE

zcc1414的专栏 1847
上一篇: SQL注入语句
下一篇: 缓冲区溢出(栈溢出)实验 之 函数调用
开发农民
博客等级 码龄10年 12粉丝 20原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值