Compile options
리눅스 환경에서의 기본적인 컴파일
gcc -o <실행 파일명> <소스 파일명>
Enable ASLR
sudo sysctl -w kernel.randomize_va_space = 2
Disable ASLR
sudo sysctl -w kernel.randomize_va_space = 0
Disable Canary(SSP)
-fno-stack-protector
Disable dummy(stack boundary)
-mpreferred-stack-boundary=2
Disable NX(DEP)
-z execstack
32 bit Compile
-m32
Enable PIE
-fpic -pie
RELRO
- FULL RELRO =
-z relro -z now
- Partial RELRO =
-z relro
- No RELRO =
-z norelro