Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
machscope — Все в одном анализ бинарных файлов macOS: парсинг Mach-O, дизассемблирование ARM64, подписи кода и отладка. | Kitploit
Инструменты/GitHubGitHub/sadopc/machscope
Статический анализБезопасность iOSАнализ КодаОбратная инженерияОтладчикиАнализ вредоносных программCTFМобильная безопасностьАнализ Бинарных ФайловОбучение и ОбразованиеАнализ Прошивок
10046 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
GitHub
sadopc/machscope

machscope

Все в одном анализ бинарных файлов macOS: парсинг Mach-O, дизассемблирование ARM64, подписи кода и отладка.

Репозиторий

MachScope

Инструмент для анализа нативных бинарных файлов macOS, предоставляющий разбор Mach-O, дизассемблирование ARM64 и отладку процессов. Полностью написан на Swift без внешних зависимостей.

Swift 6.0 Platform License

Возможности

ФункцияОписание
Разбор Mach-OЗаголовки, сегменты, секции, символы, динамические библиотеки, строки
Кодовые подписиПрава (entitlements), CDHash, информация о подписи, идентификатор команды
Дизассемблирование ARM64Полный декодер инструкций с аннотациями PAC
Отладка процессовПодключение, точки останова, память, регистры
Библиотека SwiftВстраивание в собственные проекты
Вывод JSONУдобный для скриптов формат вывода

Зачем нужен MachScope?

  • Чистый Swift — Нет зависимостей, легко собрать и встроить
  • Родной ARM64 — Создан для Apple Silicon, понимает инструкции PAC
  • Всё в одном — Парсинг + Дизассемблирование + Отладка в одном инструменте
  • Библиотека + CLI — Используйте отдельно или интегрируйте в свои проекты Swift
  • Хорошо протестирован — 319+ тестов с всесторонней обработкой ошибок

Быстрый старт

root@kitploit:~
# Сборка
swift build

# Парсинг бинарного файла
swift run machscope parse /bin/ls

# Парсинг приложения macOS
swift run machscope parse /Applications/Calculator.app/Contents/MacOS/Calculator

# Просмотр прав (entitlements)
swift run machscope parse /Applications/Safari.app/Contents/MacOS/Safari --entitlements

# Вывод в JSON
swift run machscope parse /bin/ls --json

Установка

Homebrew

root@kitploit:~
brew install sadopc/tap/machscope

Сборка из исходного кода

root@kitploit:~
git clone https://github.com/sadopc/machscope.git
cd MachScope
swift build -c release

Глобальная установка (опционально)

root@kitploit:~
sudo cp .build/release/machscope /usr/local/bin/

Использование

Команда parse

Анализ структуры Mach-O:

root@kitploit:~
# Базовый анализ
machscope parse /bin/ls

# Полный анализ
machscope parse /bin/ls --all

# Определённые секции
machscope parse /путь/к/бинарному --symbols
machscope parse /путь/к/бинарному --dylibs
machscope parse /путь/к/бинарному --strings
machscope parse /путь/к/бинарному --signatures
machscope parse /путь/к/бинарному --entitlements

# Вывод в JSON для скриптов
machscope parse /bin/ls --json --all > analysis.json

Команда disasm

Дизассемблирование кода ARM64:

root@kitploit:~
# Список функций
machscope disasm /bin/ls --list-functions

# Дизассемблирование с адреса
machscope disasm /bin/ls --address 0x100003f40 --length 50

# Показывать байты инструкций
machscope disasm /bin/ls --show-bytes

Проверка разрешений

Просмотр доступных функций:

root@kitploit:~
machscope check-permissions

Вывод:

root@kitploit:~
Feature               Status      Notes
------------------------------------------------------------
Static Analysis       ✓ Ready     No special permissions needed
Disassembly           ✓ Ready     No special permissions needed
Debugger              ✗ Denied    Missing debugger entitlement

Команда debug

Подключение к запущенным процессам (требуется подпись):

root@kitploit:~
# Сначала подпишите с правом на отладку
codesign --force --sign - --entitlements Resources/MachScope.entitlements .build/debug/machscope

# Включите «Инструменты разработчика» в Системных настройках > Конфиденциальность и безопасность

# Подключиться к процессу
machscope debug <pid>

Использование в качестве библиотеки Swift

Добавьте MachScope в ваш Package.swift:

root@kitploit:~
dependencies: [
    .package(url: "https://github.com/sadopc/machscope.git", from: "1.0.0")
]

Затем используйте в коде:

root@kitploit:~
import MachOKit
import Disassembler

// Парсинг бинарного файла
let binary = try MachOBinary(path: "/bin/ls")
print("CPU: \(binary.header.cpuType)")
print("Segments: \(binary.segments.count)")

// Проверка прав (entitlements)
if let signature = try binary.parseCodeSignature(),
   let entitlements = signature.entitlements {
    for key in entitlements.keys {
        print("\(key): \(entitlements[key] ?? "nil")")
    }
}

// Дизассемблирование
let disasm = ARM64Disassembler(binary: binary)
let result = try disasm.disassembleFunction("_main", from: binary)
for instruction in result.instructions {
    print(disasm.format(instruction))
}

Требования

  • macOS 14.0 (Sonoma) или новее
  • Swift 6.0 или новее
  • ARM64 (Apple Silicon) — поддерживается разбор x86_64, но инструмент работает на ARM64

Документация

  • Руководство по установке
  • Быстрый старт
  • Руководство по использованию
  • Архитектура
  • Справочник API
  • Устранение неполадок
  • Участие в разработке

Структура проекта

root@kitploit:~
MachScope/
├── Sources/
│   ├── MachOKit/        # Основная библиотека парсинга Mach-O
│   ├── Disassembler/    # Декодер инструкций ARM64
│   ├── DebuggerCore/    # Отладка процессов
│   └── MachScope/       # CLI-приложение
├── Tests/               # Наборы тестов (319+ тестов)
├── Resources/           # Файлы прав для подписи кода
└── docs/                # Документация

Для кого это?

  • iOS/macOS разработчики — Проверять бинарные файлы, смотреть права перед отправкой в App Store
  • Исследователи безопасности — Быстрая первичная проверка и анализ бинарных файлов
  • Студенты — Изучение формата Mach-O на читаемом коде Swift
  • Создатели инструментов — Встраивание MachOKit в собственные проекты на Swift
  • Участники CTF — Быстрый анализ бинарных файлов

Сравнение с другими инструментами

Главное преимущество MachScope: библиотека на Swift, которую можно встраивать в собственные инструменты.

Лицензия

Лицензия MIT — подробнее в LICENSE.

Участие в разработке

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

root@kitploit:~
# Запустите тесты перед отправкой
swift test

# Отформатируйте код
xcrun swift-format -i -r Sources/ Tests/

Благодарности

  • Документация Apple по Mach-O
  • Справочное руководство по архитектуре ARM
  • Сообщество Swift

Звёздная история

Star History Chart


Создано с ❤️ на Swift

Скачать инструмент
ИнструментЯзыкБиблиотека?ARM64 PACОтладчик
MachScopeSwift✅ Да✅ Да✅ Да
otoolC❌ Нет❌ Нет❌ Нет
objdumpC❌ Нет❌ Нет❌ Нет
jtool2C❌ Нет✅ Да❌ Нет
Hopper—❌ Нет✅ Да❌ Нет