ASLR
-
[리버싱 핵심원리 study] 41장 ASLRReverse Engineering 2021. 2. 8. 19:31
ASLR(Address Space Layout Randomization)은 Windows Vista 이후부터 지원되는 기능으로, PE 파일이 메모리에 로딩될 때 로딩 시작 주소를 랜덤 하게 바꿔주는 기능이다. 이로 인해 프로세스의 스택, 힙의 시작 주소도 랜덤 하게 바뀐다. 모든 실행 파일에 적용되는 기술은 아니며, 아래와 같은 두 가지 조건을 만족해야 한다. (1) OS의 Kernel Version이 6이상 (Vista 이상) (2) 개발 도구에서 /DYNAMICBASE 옵션 지원 위 조건 중 (2)는 Visual C++의 경우 프로젝트 속성의 링커-> 고급 메뉴에서 확인해 볼 수 있다. 만약 ASLR 기능을 원하지 않을 경우 옵션에서 /DYNAMICBASE:NO로 설정해주면 된다. 1. ASLR.ex..