当前位置: 首页 > news >正文

windows 缓冲区溢出实验关于VS的一些配置 (逆向与漏洞分析 (魏强) (Z-Library))

使用vs编写缓冲区溢出demo 的配置

最近在看 逆向与漏洞分析 (魏强) (Z-Library) 这本书,书上的关于缓冲区溢出的实验代码,使用vs 编写代码编译出来的可执行程序默认情况下就会存在一系列保护,如何不修改的话真的就调试不了书上的实验。主要是书上说也是使用vs编译的,但是具体细节没有告诉读者,也是挺ex的。

一、常规代码检查

当我们在vs 中使用scanf,printf 这样的函数时就会报错下面的错误:
在这里插入图片描述
说scanf 函数不安全,提示我们使用 scanf_s 来替代,但是替代后对于VS是可以编译的,换到其他编译器就不行了。所以我们直接在引入头文件的第一行使用#define _CRT_SECURE_NO_WARNINGS 1就像这样:
在这里插入图片描述

___security_cookie机制,防止栈溢出

编译完成后我们使用ida 打开exe文件,发现存在这个安全检查记得关闭。
在这里插入图片描述
项目右键–>属性
在这里插入图片描述

最后一步,关闭运行时检查

当你在实验中开始溢出时,程序就会报错,弹出
Run-Time Check Failure #2 - Stack around the variable 'buffer' was corrupted.
在这里插入图片描述

参考:
https://www.cnblogs.com/cthon/p/8890242.html
https://www.cnblogs.com/mavaL/articles/2627516.html
https://www.cnblogs.com/taadis/p/10666060.html
https://blog.csdn.net/qq_43746320/article/details/104603363

相关文章:

  • 【存储基础】数据存储基础知识
  • 【基于阿里云搭建数据仓库(离线)】DataWorks中删除节点
  • 每日八股文6.2
  • 激光雷达的强度像和距离像误差与噪声分析(2)2025.6.2
  • 软件测评师教程 第2章 软件测试基础 笔记
  • Linux 中 m、mm、mmm 函数和 make 的区别
  • 【C++/Linux】TinyWebServer前置知识之IP协议详解
  • UE特效Niagara性能分析
  • String和StringBuilder和StringBuffer
  • Java从入门到精通 - 常用API(一)
  • Java函数式编程(中)
  • Vortex GPGPU的github流程跑通与功能模块波形探索(四)
  • 6个月Python学习计划 Day 12 - 字符串处理 文件路径操作
  • RocketMQ 消息发送核心源码解析:DefaultMQProducerImpl.send () 方法深度剖析
  • day 40 python打卡
  • Artificial Analysis2025年Q1人工智能发展六大趋势总结
  • C#项目07-二维数组的随机创建
  • HTML 等价字符引用:系统化记忆指南
  • 轮播图各类切换场景
  • 【Godot引擎】如何使用内置的全局搜索功能提升开发效率
  • 做网站页面/广州seo优化推广
  • 云南网络宣传公司/谷歌seo优化
  • 电商设计网站模板/在线培训网站次要关键词
  • 汾阳做网站/东莞推广服务
  • window wordpress搭建/seo的基本步骤包括哪些
  • 山东青岛网站建设公司/4414站长平台