macOS 바이너리 검사

macOS용 Mach-O diff 도구

ABDiff는 슬라이스별 메타데이터, load command, 세그먼트, export, private API 신호를 구조화된 읽기 전용 트리로 보여 주는 macOS용 Mach-O 비교 도구입니다.

원시 바이너리 diff가 너무 저수준일 때 유용합니다. 실행 파일, 프레임워크, 앱 바이너리의 실제 구조에 변경을 대응시켜 검토할 수 있습니다.

  • 슬라이스 인식 검사
  • Load commands
  • 세그먼트와 export
  • Private API 후보
  • 읽기 전용 검토
macOS의 ABDiff Mach-O 비교 보기
ABDiff Mach-O 비교 보기

유용한 경우

  • 빌드 사이의 바이너리 출력 검토.
  • 배포 전에 아키텍처 슬라이스와 플랫폼 메타데이터 확인.
  • dylib 의존성, rpath, export 심볼 검사.
  • App Store 제출 전에 private API 신호 확인.

구조화된 diff가 중요한 이유

  • 헤더, load command, export는 각각 의미가 다르므로 하나의 불투명한 바이너리 덩어리로 뭉개면 안 됩니다.
  • 유니버설 바이너리와 플랫폼별 출력에서는 슬라이스 인식 그룹화가 중요합니다.
  • 읽기 전용 표현은 검토를 실수 편집이 아닌 검사에 집중하게 합니다.

ABDiff가 검사하는 항목

영역 중요한 이유
헤더와 슬라이스 CPU 대상, 파일 유형, 유니버설 바이너리의 슬라이스 구성을 검토할 수 있습니다.
Load commands 플랫폼 버전, dylib 의존성, 런타임 경로를 검사할 수 있습니다.
세그먼트 Mach-O 이미지 내부의 구조 레이아웃 변화를 이해할 수 있습니다.
Export Swift와 Objective-C를 포함한 공개 심볼 변화를 볼 수 있습니다.
Private API 후보 배포 전에 추가 검토가 필요한 휴리스틱을 드러냅니다.

관련 페이지