Windows下ASLR机制(地址随机化)- 概念、PE操作、VS相关选项

592 篇文章 7 订阅 ¥99.90 ¥299.90
105 篇文章 2 订阅
本文详细介绍了Windows下的地址空间布局随机化(ASLR)技术,这是一种增强安全性的措施,防止缓冲区溢出攻击。通过随机化堆、栈和库的地址,增加攻击的难度。内容涉及ASLR的工作原理、如何通过修改PE文件禁用ASLR,以及在Visual Studio中启用或禁用ASLR的选项。
摘要由CSDN通过智能技术生成

1 ASLR机制


    Address Space Layout Randomization=地址空间布局随机化;
    是一种针对缓冲区溢出的安全保护技术;
    没有ASLR时,每次进程执行,加载到内容中,代码所处堆栈stack的位置都是相同的,容易被破解;
    如果开启了ASLR,操作系统加载器会针对基地址再去加上一个随机生成的偏移地址,然后再去加载程序模块,通过对堆、栈、共享库映射等线性区布局的随机化,增加攻击者预测目的地址的难度。

    地址随机化需要程序自身和操作系统的双重支持,会在PE头中设置IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE标识来说明支持ASLR。

    此字段位于PE结构的可选头结构体中;可选头的概念可参阅此,

    https://blog.csdn.net/bcbobo21cn/article/details/115032841

2 PE操作


    下面来用010Editer操作看一下,打开010Editor,打开notepad.exe;
    根据资料,在 NtHeader 数据块内找到4081,然后修改为0081即可;或者找到WORD IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE这个字段 ,把值1改为0即可;

看下图NT头的区域;里面没有4081;也许版本发生了变化;

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值