'2018/07/10'에 해당되는 글 1건

반응형

옵션 적용 방법


gcc -o helloworld helloworld.c [Options]



[NX]

적용 : 별다른 옵션이 필요없다 (최신 버전 기준)

해제 : -zexecstack


[Stack Canary]

적용 : 별다른 옵션이 필요없다 (최신 버전 기준)

해제 : -fno-stack-protector


[ASLR]

적용 : 운영체제에서 제공해준다 (최신 버전 기준)

해제 : echo 0 > /proc/sys/kernel/randomize_va_space

- randomize_va_space=0 : ASLR 해제

- randomize_va_space=1 : 랜덤 스택 & 랜덤 라이브러리 설정

- randomize_va_space=2 : 랜덤 스택 & 랜덤 라이브러리 & 랜덤 힙 설정


[RELRO]

- Partial

적용 : -Wl,-z,relro

해제 : 별다른 옵션이 필요없다.

- Full

적용 : -Wl,-z,relro,-z,now

해제 : 별다른 옵션이 필요없다.


[PIE]

적용 : -fPIE -pie

해제 : 별다른 옵션이 필요없다.



예시

gcc -o helloworld helloworld.c -zexecstack -Wl,-z,relro

블로그 이미지

KuroNeko_

KuroNeko

,