【逆向知识】PE ASLR

时间:2020-12-22 07:19:05

1、知识点

微软从windows vista/windows server 2008(kernel version 6.0)开始采用ASLR技术,主要目的是为了防止缓冲区溢出

ASLR技术会使PE文件每次加载到内存的起始地址随机变化,并且进程的栈和堆的起始地址也会随机改变。

这样的PE不好调试,如果不想启用ASLR。可以通过以下两种方法解决。

  • VS编译器:若不想使用ASLR功能,可以在VS编译的时候将“配置属性->链接器->高级->随机基址”的值修改为否。
  • 010editor:把DllCharacteristics这个位置,将PE中8140的数据改为8100。
IMAGE_NT_HEADERS NtHeader
IMAGE_OPTIONAL_HEADER32 OptionalHeader
DLL_CHARACTERISTICS DllCharacteristics

2、参考

  • ASLR

http://www.cnblogs.com/dliv3/p/6411814.html

  • ASLR pe 分析

https://www.cnblogs.com/studyskill/p/7849595.html