No description
  • C 52.2%
  • Objective-C++ 42.3%
  • Objective-C 4.2%
  • C++ 0.7%
  • Shell 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-10 15:44:41 +02:00
architecture missing files 2016-03-29 16:43:59 +00:00
Casks Document the 3.0 release 2026-09-10 15:44:41 +02:00
English.lproj Document licensing and project credits 2026-09-10 15:19:38 +02:00
lib Modernize for Xcode 26 and macOS 26 2026-09-10 15:19:37 +02:00
mach Modernize for Xcode 26 and macOS 26 2026-09-10 15:19:37 +02:00
mach-o Modernize for Xcode 26 and macOS 26 2026-09-10 15:19:37 +02:00
MachOView.icon Refresh the AppKit interface 2026-09-10 15:19:38 +02:00
machoview.xcodeproj Document the 3.0 release 2026-09-10 15:44:41 +02:00
otool_disasm Modernize for Xcode 26 and macOS 26 2026-09-10 15:19:37 +02:00
.gitignore Prepare version 3.0 release builds 2026-09-10 15:19:38 +02:00
AppController.h ARM64 initial; many bugfixes; target:OSX10.8; cctool:845 2014-01-03 15:25:13 +00:00
AppController.mm Harden modern Mach-O parsing and document state 2026-09-10 15:19:38 +02:00
ArchiveLayout.h Code modernisation and concurrency fixes. Still have racing conditions in the archiver module :( 2019-07-27 23:56:53 +02:00
ArchiveLayout.mm Support modern Mach-O containers safely 2026-09-10 15:19:38 +02:00
Attach.h Harden Mach-O parsing and process attachment 2026-09-10 15:19:38 +02:00
Attach.mm Harden Mach-O parsing and process attachment 2026-09-10 15:19:38 +02:00
check_vendored_headers.sh Modernize for Xcode 26 and macOS 26 2026-09-10 15:19:37 +02:00
Common.h Support modern Mach-O containers safely 2026-09-10 15:19:38 +02:00
createdmg.sh Document the 3.0 release 2026-09-10 15:44:41 +02:00
CRTFootPrints.h Code modernisation and concurrency fixes. Still have racing conditions in the archiver module :( 2019-07-27 23:56:53 +02:00
CRTFootPrints.mm Code modernisation and concurrency fixes. Still have racing conditions in the archiver module :( 2019-07-27 23:56:53 +02:00
DataController.h Harden modern Mach-O parsing and document state 2026-09-10 15:19:38 +02:00
DataController.mm Harden modern Mach-O parsing and document state 2026-09-10 15:19:38 +02:00
DataSources.h XIBs upgraded to 4.5; About box; Preference panel 2012-12-30 14:52:46 +00:00
DataSources.mm Code modernisation and concurrency fixes. Still have racing conditions in the archiver module :( 2019-07-27 23:56:53 +02:00
Document.h Modernize for Xcode 26 and macOS 26 2026-09-10 15:19:37 +02:00
Document.mm Harden modern Mach-O parsing and document state 2026-09-10 15:19:38 +02:00
DyldInfo.h Parse modern Mach-O metadata 2026-09-10 15:19:38 +02:00
DyldInfo.mm Harden modern Mach-O parsing and document state 2026-09-10 15:19:38 +02:00
Exceptions.h Code modernisation and concurrency fixes. Still have racing conditions in the archiver module :( 2019-07-27 23:56:53 +02:00
Exceptions.mm Harden modern Mach-O parsing and document state 2026-09-10 15:19:38 +02:00
FatLayout.h Support modern Mach-O containers safely 2026-09-10 15:19:38 +02:00
FatLayout.mm Support modern Mach-O containers safely 2026-09-10 15:19:38 +02:00
Info.plist Refresh the AppKit interface 2026-09-10 15:19:38 +02:00
Layout.h Add deterministic parser validation 2026-09-10 15:19:38 +02:00
Layout.mm Add deterministic parser validation 2026-09-10 15:19:38 +02:00
libdisasm.a Modernize for Xcode 26 and macOS 26 2026-09-10 15:19:37 +02:00
LICENSE Document licensing and project credits 2026-09-10 15:19:38 +02:00
LinkEdit.h Parse modern Mach-O metadata 2026-09-10 15:19:38 +02:00
LinkEdit.mm Harden modern Mach-O parsing and document state 2026-09-10 15:19:38 +02:00
LoadCommands.h Code modernisation and concurrency fixes. Still have racing conditions in the archiver module :( 2019-07-27 23:56:53 +02:00
LoadCommands.mm Harden modern Mach-O parsing and document state 2026-09-10 15:19:38 +02:00
MachOLayout.h Harden modern Mach-O parsing and document state 2026-09-10 15:19:38 +02:00
MachOLayout.mm Harden modern Mach-O parsing and document state 2026-09-10 15:19:38 +02:00
MachOThreadStates.h Harden modern Mach-O parsing and document state 2026-09-10 15:19:38 +02:00
main.mm Add deterministic parser validation 2026-09-10 15:19:38 +02:00
ObjC.h Code modernisation and concurrency fixes. Still have racing conditions in the archiver module :( 2019-07-27 23:56:53 +02:00
ObjC.mm Harden modern Mach-O parsing and document state 2026-09-10 15:19:38 +02:00
PreferenceController.h ARM64 initial; many bugfixes; target:OSX10.8; cctool:845 2014-01-03 15:25:13 +00:00
PreferenceController.mm Refresh the AppKit interface 2026-09-10 15:19:38 +02:00
Prefix.pch Modernize for Xcode 26 and macOS 26 2026-09-10 15:19:37 +02:00
README.md Document the 3.0 release 2026-09-10 15:44:41 +02:00
ReadWrite.h Harden modern Mach-O parsing and document state 2026-09-10 15:19:38 +02:00
ReadWrite.mm Harden modern Mach-O parsing and document state 2026-09-10 15:19:38 +02:00
runtime_smoke.sh Add deterministic parser validation 2026-09-10 15:19:38 +02:00
SectionContents.h Parse modern Mach-O metadata 2026-09-10 15:19:38 +02:00
SectionContents.mm Harden modern Mach-O parsing and document state 2026-09-10 15:19:38 +02:00
THIRD_PARTY_NOTICES.md Document licensing and project credits 2026-09-10 15:19:38 +02:00
VENDORED_HEADERS.md Modernize for Xcode 26 and macOS 26 2026-09-10 15:19:37 +02:00

MachOView

Hungry Apple icons by Nicholas Boyd (http://loafninja.deviantart.com)

Install with Homebrew

brew tap bplaat/machoview https://github.com/bplaat/MachOView.git
brew install --cask bplaat/machoview/machoview

MachOView requires macOS 26 or later.

todo:

  • code sections parsing on demand
  • string table

ver 3.0.10000

  • Updated for macOS 26 and Xcode 26
  • Added current Mach-O load commands, chained fixups, filesets, modern thread states, and relative Objective-C method lists
  • Hardened parsing of malformed and truncated binaries
  • Added native Apple silicon support and deterministic runtime validation
  • Refreshed the interface, application icon, credits, and release packaging

ver 2.4.9200

  • Lots of leaks fixed
  • Updated disassembler from cctools-855
  • Updated llvm disassembler from libLTO OSX10.9
  • ARM64 relocations in detail (need to review)
  • Added new load commands

ver 2.4.9000

  • ARM64
  • LC_ENCRYPTION_INFO_64,LC_LINKER_OPTION
  • data in code and entries (DICES)
  • updated disassembler (cctools-845 and LLVM with enhanced symbol table)
  • SDK 10.8 / deploy 10.8
  • fix for multithreaded usage of CoreAnimation

ver 2.3.8505

  • updated disassembler (LLVM included for testing)
  • some GUI improvements (PreferencePanel)
  • transitions to __weak references instead of __unsafe_retain
  • SDK 10.8 / deploy 10.6
  • crash fix for disassembling encrypted ARM text sections

ver 2.3.8370

  • merge changes from fG!
    • do not reopen unclosed binaries
    • some new Load Commands
    • bugfixes

ver 2.3.8345

  • Transition to ARC (but targeting OS X 10.6 for compatibility)
  • FAT binary layout in details
  • LC_ENCRYPTION_INFO,LC_PREBIND_CKSUM,LC_RPATH,LC_FUNCTION_STARTS
  • twolevel swapping for smaller memory usage and better GUI response
  • Better ObjectiveC 2 section parsing

ver 2.2.6500

  • objC sections
  • crash fix for concurrent treeView update
  • crash fix for disassembler (could read beyond file data)
  • relocs/bindings stored in a shadow NSData for faster access
  • improved exception records parser

ver 2.1.5290

  • mainly bugfixes (relocInfoInfo, static libraries)
  • stop button for cancelling background tasks
  • exception safe symbol/section namelookup
  • disassembler updated to cctools-806

ver 2.0.5000

  • ARM support
  • symbolic disassembling of text sections (based on otool)
  • split segment info in details
  • fast symbol stubs in details
  • improved RAW/RVA switch
  • typelist is fixed in LSDAs

ver 1.3.4090

  • some new file types, section types
  • minor fixes
  • indirect symbols showed between squared brackets

ver 1.3.4045

  • static libraries (binary archives)
  • dyld info parsing in details
  • base SDK and deploy target detection
  • fix indirect symbol issues in compressed Mach-O files
  • fix treeLock stability (now belongs to dataController not to the layout)
  • display multiply symbols for the same address

ver 1.3.3047

  • swapfile based processing to avoid memory overhead for extremely big binaries (note: Ctrl+click toggles swap file usage on the selected node for faster access)
  • two-level namespaces in details
  • export dylibs (e.g.: libSystem.B.dylib)
  • safer symbol/section table access

ver 1.2.2632

  • some command binary representation (dyld info, routines, two-level namespace)
  • better grouping and ordering of parsed content
  • 64bit exception data and relocation fixes
  • more stable name unmangling in tooltips

ver 1.2.2200

  • tooltip with unmangled name for all the mangled symbol
  • better section parsing
  • common symbol table for better search (types distinguished by coloured background)

ver 1.2.1842:

  • coloured background for special items:
    • local/absolute indirect symbol
    • scattered relocation
  • edit and save function
  • RVA/RWA offset uses segments' properties for calculation