Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
machscope — All-in-one macOS binary analysis: Mach-O parsing, ARM64 disassembly, code signatures, and debugging. | Kitploit
Tools/GitHubGitHub/sadopc/machscope
Static AnalysisiOS SecurityCode AnalysisReverse EngineeringDebuggersMalware AnalysisCTFMobile SecurityBinary AnalysisLearning & EducationFirmware Analysis
GitHub
10046 months agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
sadopc/machscope

machscope

All-in-one macOS binary analysis: Mach-O parsing, ARM64 disassembly, code signatures, and debugging.

View Repository

MachScope

A native macOS binary analysis tool providing Mach-O parsing, ARM64 disassembly, and process debugging. Built entirely in Swift with zero external dependencies.

Swift 6.0 Platform License

Features

FeatureDescription
Mach-O ParsingHeaders, segments, sections, symbols, dylibs, strings
Code SignaturesEntitlements, CDHash, signing info, team ID
ARM64 DisassemblyFull instruction decoder with PAC annotation
Process DebuggingAttach, breakpoints, memory, registers
Swift LibraryEmbed in your own projects
JSON OutputScript-friendly output format

Why MachScope?

  • Pure Swift — No dependencies, easy to build and embed
  • ARM64 Native — Built for Apple Silicon, understands PAC instructions
  • All-in-One — Parse + Disassemble + Debug in one tool
  • Library + CLI — Use standalone or integrate into your Swift projects
  • Well Tested — 319+ tests with comprehensive error handling

Quick Start

root@kitploit:~
# Build
swift build

# Parse a binary
swift run machscope parse /bin/ls

# Parse a macOS app
swift run machscope parse /Applications/Calculator.app/Contents/MacOS/Calculator

# View entitlements
swift run machscope parse /Applications/Safari.app/Contents/MacOS/Safari --entitlements

# JSON output
swift run machscope parse /bin/ls --json

Installation

Homebrew

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

Build from Source

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

Install Globally (Optional)

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

Usage

Parse Command

Analyze Mach-O binary structure:

root@kitploit:~
# Basic analysis
machscope parse /bin/ls

# Full analysis
machscope parse /bin/ls --all

# Specific sections
machscope parse /path/to/binary --symbols
machscope parse /path/to/binary --dylibs
machscope parse /path/to/binary --strings
machscope parse /path/to/binary --signatures
machscope parse /path/to/binary --entitlements

# JSON output for scripting
machscope parse /bin/ls --json --all > analysis.json

Disassemble Command

Disassemble ARM64 code:

root@kitploit:~
# List functions
machscope disasm /bin/ls --list-functions

# Disassemble from address
machscope disasm /bin/ls --address 0x100003f40 --length 50

# Show instruction bytes
machscope disasm /bin/ls --show-bytes

Check Permissions

See what features are available:

root@kitploit:~
machscope check-permissions

Output:

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

Debug Command

Attach to running processes (requires signing):

root@kitploit:~
# First, sign with debugger entitlement
codesign --force --sign - --entitlements Resources/MachScope.entitlements .build/debug/machscope

# Enable Developer Tools in System Settings > Privacy & Security

# Attach to process
machscope debug <pid>

Use as a Swift Library

Add MachScope to your Package.swift:

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

Then use in your code:

root@kitploit:~
import MachOKit
import Disassembler

// Parse a binary
let binary = try MachOBinary(path: "/bin/ls")
print("CPU: \(binary.header.cpuType)")
print("Segments: \(binary.segments.count)")

// Check entitlements
if let signature = try binary.parseCodeSignature(),
   let entitlements = signature.entitlements {
    for key in entitlements.keys {
        print("\(key): \(entitlements[key] ?? "nil")")
    }
}

// Disassemble
let disasm = ARM64Disassembler(binary: binary)
let result = try disasm.disassembleFunction("_main", from: binary)
for instruction in result.instructions {
    print(disasm.format(instruction))
}

Requirements

  • macOS 14.0 (Sonoma) or later
  • Swift 6.0 or later
  • ARM64 (Apple Silicon) — x86_64 parsing supported, but tool runs on ARM64

Documentation

  • Installation Guide
  • Quick Start
  • Usage Guide
  • Architecture
  • API Reference
  • Troubleshooting
  • Contributing

Project Structure

root@kitploit:~
MachScope/
├── Sources/
│   ├── MachOKit/        # Core Mach-O parsing library
│   ├── Disassembler/    # ARM64 instruction decoder
│   ├── DebuggerCore/    # Process debugging
│   └── MachScope/       # CLI application
├── Tests/               # Test suites (319+ tests)
├── Resources/           # Entitlements for code signing
└── docs/                # Documentation

Who Is This For?

  • iOS/macOS Developers — Inspect binaries, check entitlements before App Store submission
  • Security Researchers — Quick binary triage and analysis
  • Students — Learn Mach-O format with readable Swift code
  • Tool Builders — Embed MachOKit in your own Swift projects
  • CTF Players — Fast binary analysis

Comparison with Other Tools

MachScope's main advantage: Swift-native library you can embed in your own tools.

License

MIT License — See LICENSE for details.

Contributing

Contributions welcome! Please read Contributing Guide first.

root@kitploit:~
# Run tests before submitting
swift test

# Format code
xcrun swift-format -i -r Sources/ Tests/

Acknowledgments

  • Apple's Mach-O documentation
  • ARM Architecture Reference Manual
  • The Swift community

Star History

Star History Chart


Built with ❤️ in Swift

Download Tool
ToolLanguageLibrary?ARM64 PACDebugger
MachScopeSwift✅ Yes✅ Yes✅ Yes
otoolC❌ No❌ No❌ No
objdumpC❌ No❌ No❌ No
jtool2C❌ No✅ Yes❌ No
Hopper—❌ No✅ Yes❌ No