Tiny Online Tools logoTiny Online ToolssearchПоиск инструментов…grid_viewВсе инструменты
Главнаяchevron_rightИнструменты обратной разработкиchevron_rightАнализатор Mach-OАнализатор Mach-O

Анализатор Mach-O

Изучайте бинарные файлы Mach-O для macOS и iOS: архитектуру, команды загрузки, сегменты, секции и связанные библиотеки — прямо в браузере.

Выберите файл Mach-Oupload_file

Нажмите для выбора или перетащите файлы сюда

Исполняемый файл, .dylib или bundle — подойдёт любой файл, расширение не требуется

Допустимо: */*

Похожие инструменты

Анализатор ELF-файлов

Анализатор ELF-файлов

Изучайте бинарные файлы ELF Linux и Unix: заголовки, секции, сегменты, символы и зависимости от разделяемых библиотек — прямо в браузере.

Анализатор PE/EXE

Анализатор PE/EXE

Изучайте исполняемые файлы и DLL Windows формата PE: заголовки COFF, секции, импорт, экспорт и типы ресурсов — прямо в браузере.

Универсальный анализатор бинарных файлов

Универсальный анализатор бинарных файлов

Загрузите любой бинарный файл — инструмент автоматически определит, ELF это, PE, Mach-O или WebAssembly, и покажет реальную сводку прямо в браузере.

Анализатор мёртвого кода JavaScript

Анализатор мёртвого кода JavaScript

Вставьте JS-бандл и найдите функции верхнего уровня, на которые нет ни одной статической ссылки в файле — эвристический анализ достижимости, а не гарантированный результат.

Калькулятор рабочих дней

Калькулятор рабочих дней

Посчитайте количество рабочих дней между двумя датами, исключая выходные и пользовательские праздники.

Выделение текста в PDF

Выделение текста в PDF

Автоматически выделяйте каждое вхождение одного или нескольких слов или фраз в PDF с помощью полупрозрачных цветных наложений.

SVG в фон CSS

SVG в фон CSS

Конвертируйте SVG-код в URL данных для background-image CSS.

apps

Больше инструментов

Просмотрите нашу полную коллекцию бесплатных онлайн-инструментов.

Что показывает инструмент

Загрузите любой 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. Выбранный файл никуда не отправляется.