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 개의 댓글:
댓글 쓰기