GCC(The GNU Compiler Collection) OPTION


GCC OPTION 

sudo apt-get install g++-multilib libc6-dev-i386 (ubuntu)
 : 64bit 머신에서 32bit 바이너리로 컴파일 가능하게 라이브러리 설치
-m32
 : 32bit 바이너리로 컴파일
-fno-stack-protector(<-> -stack-protector)
 : remove canary(__stack_chk_fail)
-mpreferred-stack-boundary=2
 : remove stack boundary(dummy)
-z execstack
 :executable stack
-fno-builtin
 :builtin함수 사용
-fPIC
 :flexible compile
-fno-pie
  : remove PIE 


gcc -m32 -masm=intel --save-temp -o a a.c
  : intel asem, save .i .s .o (.i .s .o파일 다 남김)
gcc -m32 -fno-stack-protector -mpreferred-stack-boundary=2 -z execstack -fno-pie -o


 


0 개의 댓글:

댓글 쓰기