2017-04-01 4 views
1

kali 리눅스를 업데이트 한 후 gcc를 사용하여 프로그램을 컴파일합니다. 시스템을 업데이트하기 전에 objdump를 사용하여 프로그램을 해체하고 .text 주소는 0x08048 ...이지만 그 뒤에 .text 주소는 0x00000 ...이고 gcc 버전은 6.1.1에서 6.3, 뭐가 잘못 됐어? 왜 이런 일이 생길까요?왜 코드 세그먼트의 주소가 0입니까?

답변

1

나는 새 버전이 기본적으로 -fPIE (prooflink)으로 실행 파일을 빌드하기 때문에 그렇게 믿습니다. 위치 독립성은 이론적으로 시스템의 보안을 향상시켜야합니다.

+0

감사합니다. 컴파일 옵션 -fno-pie 및 -no-pie를 사용하면 문제가 해결되었습니다. –