ELF 형식 (x64 Linux 플랫폼)과 프로그램 헤더에서 첫 번째 세그먼트 (PT_PHDR)에이 가상 주소 0x40004000
(정렬은 8 바이트)이 있습니다. 나는 이해하지 못하고 설명 된 곳을 찾지 못한다. 인터넷상의 몇몇 다른 예에서는 0x08048034
이며 이것이 OS 또는 프로세서 아키텍처 때문인지는 알 수 없습니다. 이 고정 값이 나열되어 있고 간략하게 설명되는 참고서 나 설명서 같은 곳이 있습니까? 64 리눅스 플랫폼에서 감사프로그램 헤더 세그먼트 가상 주소가 0x40004000 인 이유는 무엇입니까?
0
A
답변
0
는
플랫폼 는 존재하지 않습니다. Linux x86_64
플랫폼을 의미합니다.
(PT_PHDR는) 아주 이상한 주소이 가상 주소 0x40004000
있습니다. 0x400040
이 아닌 것은 확실합니까?
나는 이해하지 못하고 설명 된 곳을 찾지 못했습니다. 인터넷에있는 다른 몇 가지 예에서는 0x08048034이며 이것이 OS 또는 프로세서 아키텍처 때문인지 여부는 알 수 없습니다.
Linux x86_64
를 들어, 실행 파일이 링크 된 기본 주소는 0x400000
이며, (모든 ELF 바이너리의 시작입니다) Elf64_Ehdr
의 크기는 기본 당신에게 0x400040
의PT_PHDR
주소를 제공 64
입니다.
Linux i*86
를 들어, 실행 파일의 기본 주소는 0x08048000
이며, Elf32_Ehdr
의 크기는 당신에게 0x08048034
의 기본PT_PHDR
주소를 제공 52
입니다.
이러한 주소 중 하나는 예 : 링커 -Ttext=0xNNNN
플래그를 사용합니다.
관련 문제
- 1. "주소가 이미 사용 중"인 이유는 무엇입니까
- 2. gdb에서이 주소가 변경되는 이유는 무엇입니까?
- 3. 다른 프로세스에서 가상 메모리 주소가 같은 이유는 무엇입니까?
- 4. 이 휘발성 변수의 주소가 항상 1 인 이유는 무엇입니까?
- 5. 가상 메모리가없는 컴퓨터에서 가상 주소가 작동하는 방식은 무엇입니까?
- 6. 함수가 실행될 때마다 주소가 변경되는 이유는 무엇입니까?
- 7. 주소가 쉼표 인 경우
- 8. pre_c_init가 정의 된 프로그램 세그먼트 외부의 메모리에 액세스하는 이유는 무엇입니까?
- 9. 세그먼트 오류가 발생하는 이유는 무엇입니까?
- 10. 외부 주소가 외부 컴퓨터의 IP 주소가 아닌 이유는 무엇입니까?
- 11. JVM이 스택 기반 가상 시스템 인 이유는 무엇입니까?
- 12. 실행 시간에 프로그램 세그먼트 (헤더, 텍스트, 제약 등 ...) 결정
- 13. 이메일 주소가 appengine 도메인 인
- 14. 이 호출의 메모리 주소가 같은 이유는 무엇입니까?
- 15. strtok_s() 포인터의 주소가 필요한 이유는 무엇입니까?
- 16. reCaptcha에서 사용자의 IP 주소가 필요한 이유는 무엇입니까?
- 17. 잘못된 주소가 RtlFreeHeap에 지정된 이유는 무엇입니까
- 18. .pdb의 함수 주소가 .exe와 다른 이유는 무엇입니까?
- 19. 주소가 char *으로 형 변환되는 이유는 무엇입니까?
- 20. WCF 끝점 주소가 매번 변경되는 이유는 무엇입니까?
- 21. 입력하는 웹 주소가 오류가되는 이유는 무엇입니까?
- 22. webrtc blob 주소가 신호 서버에있는 이유는 무엇입니까?
- 23. 내 IP 주소가 자주 변경되는 이유는 무엇입니까?
- 24. 결제 복사를위한 주소가 배송되지 않는 이유는 무엇입니까?
- 25. dateFormatter가 null 인 이유는 무엇입니까?
- 26. 가상 테이블이 중요한 이유는 무엇입니까?
- 27. 리눅스 프로그램 세그먼트 오류
- 28. elf 헤더의 기본 가상 주소가 0으로 변경됩니까?
- 29. Genymotion "가상 장치에 IP 주소가 없습니다"
- 30. 가상 메서드가 초기 바인딩으로 간주되는 이유는 무엇입니까?