macOS 바이너리 검사

macOS용 hex diff 및 Mach-O 바이너리 도구

ABDiff는 임의 바이너리를 바이트 지향 hex diff로 비교하고, 단일 바이너리를 독립 hex viewer로 열며, Mach-O와 기타 인식된 형식에는 구조화된 읽기 전용 보기를 추가합니다.

원시 바이트 증거와 의미 있는 맥락이 모두 필요할 때 유용합니다. hex 및 ASCII 열을 확인하고, 파싱된 구조 트리로 변경 사항을 섹션, 헤더, 메타데이터, 페이로드 범위에 연결할 수 있습니다.

  • hex diff
  • 독립 hex viewer
  • 슬라이스 인식 검사
  • 읽기 전용 검토
macOS의 ABDiff Mach-O 비교 보기
ABDiff Mach-O 비교 보기

유용한 경우

  • 임의 바이너리를 바이트 단위로 비교할 때.
  • 단일 바이너리를 독립 hex 검사로 열 때.
  • 빌드 사이의 바이너리 출력 검토.
  • 배포 전에 아키텍처 슬라이스와 플랫폼 메타데이터 확인.
  • dylib 의존성, rpath, export 심볼 검사.
  • App Store 제출 전에 private API 신호 확인.

hex와 구조가 중요한 이유

  • hex 및 ASCII 열은 렌더링된 hex를 텍스트로 취급하지 않고 원시 바이트 증거를 보여 줍니다.
  • 파싱된 구조 트리는 의미 있는 섹션을 바이트 범위에 연결합니다.
  • 헤더, load command, export는 각각 의미가 다르므로 하나의 불투명한 바이너리 덩어리로 뭉개면 안 됩니다.
  • 읽기 전용 표현은 검토를 실수 편집이 아닌 검사에 집중하게 합니다.

ABDiff가 검사하는 항목

영역 중요한 이유
hex 바이트 hex 및 ASCII 맥락에서 바이트 오프셋의 삽입, 삭제, 대체를 비교할 수 있습니다.
단일 파일 비교할 반대편이 아직 없어도 하나의 바이너리를 읽기 전용 hex viewer로 열 수 있습니다.
구조화된 형식 인식된 아카이브, 미디어, 데이터베이스, 실행 파일, 컨테이너를 파싱된 섹션별로 검토할 수 있습니다.
헤더와 슬라이스 CPU 대상, 파일 유형, 유니버설 바이너리의 슬라이스 구성을 검토할 수 있습니다.
Load commands 플랫폼 버전, dylib 의존성, 런타임 경로를 검사할 수 있습니다.
세그먼트 Mach-O 이미지 내부의 구조 레이아웃 변화를 이해할 수 있습니다.
Export Swift와 Objective-C를 포함한 공개 심볼 변화를 볼 수 있습니다.
Private API 후보 배포 전에 추가 검토가 필요한 휴리스틱을 드러냅니다.

관련 페이지