WIN VSITA 이후로는 ASLR 기능때문에 프로그램을 열 때마다 로딩되는 주소가 달라진다는데
확인차 win8 컴퓨터에서 ollydbg로 이것저것 열어본 결과 항상 EP 주소가 같음
알아보니 PE HEADER에 RELOC SECTION이 있어야 ASLR기능이 작동한다는 것 같아서
메모장을 x64_dbg 열어서 확인했는데 또 항상 EP 주소가 같음
이거 왜이런건가요?
WIN VSITA 이후로는 ASLR 기능때문에 프로그램을 열 때마다 로딩되는 주소가 달라진다는데
확인차 win8 컴퓨터에서 ollydbg로 이것저것 열어본 결과 항상 EP 주소가 같음
알아보니 PE HEADER에 RELOC SECTION이 있어야 ASLR기능이 작동한다는 것 같아서
메모장을 x64_dbg 열어서 확인했는데 또 항상 EP 주소가 같음
이거 왜이런건가요?
.reloc 섹션이 아니라 CHARACTERISTIC(철자 까먹었다 대강 이런거) 어쩌고 하는 헤더의 특정 옵션에 비트 플래그로 설정하는 겁니다. win8.1 에서는 비트 플래그 없이 ForceASLR 이 적용되어 있으니 정 원하면 8.1 에서 테스트.
책보고 따라하는중인데 책에보면 vista 이후로는 무조건 ADSL이 적용되는 것 처럼 말하던데 왜 제 컴퓨터에서는 안되는거죠? 윈8에서는 없다가 8.1부터 적용됨?
http://blog.ptsecurity.com/2012/12/windows-8-aslr-internals.html
나도 기억이 가물가물하니 자세한건 찾아보면 다 나옴. (그리고 올디로 볼거면 attach 해서 확인하도록)