天天看點

【逆向知識】PE ASLR

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