readelf와 같은 툴을 Mac OS X용으로 제공합니까?
이와 유사한 재배치 테이블 및 기호 오프셋에 대한 정보를 인쇄하는 Mac OS X 이진 파일을 읽을 수 있는 도구가 있습니까?readelf
출력은?
readelf -r app
Relocation section '.rel.dyn' at offset 0x5ec contains 2 entries:
Offset Info Type Sym.Value Sym. Name
08049d58 00001706 R_386_GLOB_DAT 00000000 __gmon_start__
08049d60 00000305 R_386_COPY 08049d60 _ZSt4cout
Relocation section '.rel.plt' at offset 0x5fc contains 13 entries:
Offset Info Type Sym.Value Sym. Name
08049d24 00000107 R_386_JUMP_SLOT 0804868c print
08049d28 00000207 R_386_JUMP_SLOT 0804869c _ZNSt8ios_base4InitC1E
08049d2c 00000507 R_386_JUMP_SLOT 080486ac _ZStlsISt11char_traits
08049d30 00000607 R_386_JUMP_SLOT 080486bc _ZNSolsEPFRSoS_E
08049d34 00000707 R_386_JUMP_SLOT 08048664 _init
08049d38 00000807 R_386_JUMP_SLOT 080486dc sleep
08049d3c 00000907 R_386_JUMP_SLOT 080486ec _ZNKSsixEj
08049d40 00000b07 R_386_JUMP_SLOT 080486fc _ZNKSs4sizeEv
08049d44 00000c07 R_386_JUMP_SLOT 0804870c __libc_start_main
08049d48 00000d07 R_386_JUMP_SLOT 08048ae4 _fini
08049d4c 00001307 R_386_JUMP_SLOT 0804872c _ZSt4endlIcSt11char_tr
08049d50 00001507 R_386_JUMP_SLOT 0804873c __gxx_personality_v0
08049d54 00001607 R_386_JUMP_SLOT 0804874c _ZNSt8ios_base4InitD1E
이 예에서는,print
는 런타임에 공유 라이브러리에서 로드되는 함수입니다. readelf
로케이션 정보를 표시할 수 있습니다.app
바이너리
MacPort 사용:
홈브루 사용:
- 홈브루 설치
- 하다
brew update && brew install binutils
/usr/local/path/to/gobjdump -p /path/to/app
# 또는 지시에 따라 PATH에 추가합니다.
물론 그 밖에도 많은 명령줄 옵션이 있습니다.binutils 포트는 설치 시 다른 포트의 구축에 실패할 수 있음을 주의해 주십시오.포토 인스톨/조회/포토의 언인스톨을 실시하는 것도 편리합니다.
이를 위한 네이티브 툴이 아직 없다는 것이 오히려 놀랍습니다.
otool -l test.o
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install binutils
greadelf filepath
- 홈브루를 설치합니다.
- 홈브루를 사용하여 바이너틸을 설치하다
- 바이너틸의 readelf는 라고 불린다.
greadelf
.
시도해 보세요.
ObjConv를 사용해 보셨습니까?http://agner.org/optimize/ #objconv
이 유틸리티는 모든 32비트 및 64비트 x86 플랫폼에서 COFF/PE, OMF, ELF 및 Mach-O(Mac OS에서 사용) 형식 간의 객체 파일 변환에 사용할 수 있습니다.개체 파일의 기호 이름을 수정할 수 있습니다.플랫폼 전체에서 기능 라이브러리를 구축, 변경 및 변환할 수 있습니다.개체 파일 및 실행 파일을 덤프할 수 있습니다.SSE4, AVX, FMA 및 XOP 명령 세트를 지원하는 매우 우수한 분해 장치도 포함되어 있습니다.
추신: 소스 코드가 포함되어 있습니다(GPL).
언급URL : https://stackoverflow.com/questions/3286675/readelf-like-tool-for-mac-os-x
'programing' 카테고리의 다른 글
setUp()과 setUpBeforeClass()의 차이점 (0) | 2022.07.10 |
---|---|
오류:java: 비활성 소스 릴리스: Intellij의 8.그것은 무엇을 뜻하나요? (0) | 2022.07.10 |
Java 메서드에서 2개의 값을 반환하려면 어떻게 해야 합니까? (0) | 2022.07.10 |
Vue.js는 화면상의 현재 메시지 포스처를 변경하지 않고 이전 채팅메시지를 렌더링합니다. (0) | 2022.07.10 |
SVN "이미 잠긴 오류" (0) | 2021.01.19 |