Что показывает инструмент
Загрузите любой Mach-O-файл — исполняемый файл, динамическую библиотеку (.dylib), бандл или fat/универсальный файл с несколькими архитектурами — и инструмент полностью разбирает его в браузере, как это делает otool, показывая:
- Заголовок Mach: тип и подтип CPU, тип файла (исполняемый, dylib, bundle, core…), количество команд загрузки и флаги заголовка (PIE, двухуровневое пространство имён, TLV-дескрипторы и др.).
- Команды загрузки: каждую
LC_SEGMENT/LC_SEGMENT_64с содержащимися секциями (имя, адрес, размер),LC_LOAD_DYLIB/LC_ID_DYLIBдля связанных библиотек с версиями, расположениеLC_SYMTAB,LC_UUIDиLC_BUILD_VERSION/LC_VERSION_MIN_*. Любая команда загрузки, которую инструмент специально не декодирует, всё равно перечисляется по числовому коду и размеру — ничего не отбрасывается молча. - Сегменты и секции: щёлкните по сегменту, чтобы увидеть его секции с адресами и размерами.
- Связанные библиотеки: каждый путь
LC_LOAD_DYLIBс текущей и совместимой версией.
Fat (универсальные) бинарные файлы — честное примечание
Fat-бинарник объединяет несколько обычных Mach-O-образов, по одному на архитектуру, под таблицей fat_header/fat_arch. Инструмент реализует эту структуру напрямую по публичному заголовку <mach-o/fat.h> и перечисляет каждую архитектуру отдельно. Однако на этой машине не было реального универсального бинарника для проверки — код обработки fat-файлов проверен структурно (он следует документированному формату), но не на реальном многоархитектурном образце. Обычный, одноархитектурный путь (типичный случай) полностью проверен на реальном исполняемом файле macOS.
Для чего это нужно
Проверьте, с какими библиотеками на самом деле связан скачанный бинарник macOS, узнайте минимальную версию ОС и SDK сборки, изучите расположение сегментов бинарного файла или исследуйте внутреннее устройство Mach-O без Mac.
Конфиденциальность
Всё выполняется локально в браузере на JavaScript. Выбранный файл никуда не отправляется.
Tiny Online Tools







