Explore Mach-O binaries with a modern Qt interface on macOS and Windows (yet another MachOView).
v1.0 Alphais the latest release and remains unstable while bugs are being fixed.
- Features
- Quick Start
- Installation
- Usage
- Configuration
- Examples
- Development
- Roadmap / TODO
- Version History
- Contributing
- License
- Acknowledgements
- Star History
- Inspect Mach-O files with a dedicated desktop UI built with Qt.
- Works on both macOS and Windows with identical workflows and visuals.
- Ships with native icons, dock widgets, and screenshot previews so you understand the layout quickly.
- Download the latest
MachOExplorer.dmg(macOS) orMachOExplorer_Windows.zip(Windows) from the releases page. - Install or unzip the application just like any other desktop app.
- Launch MachOExplorer and open any Mach-O binary (try the included samples) to explore its structure immediately.
- Grab the packaged
MachOExplorer.dmg. - Drag the app into
/Applicationsor run it directly from the DMG.
- Download
MachOExplorer_Windows.zip. - Extract the archive and launch
MachOExplorer.exe.
- Launch the app, then open a Mach-O file via the file picker or by dragging and dropping it onto the window.
- Navigate headers, sections, and symbols using the dock widgets to inspect the full binary layout.
- Use the bundled sample binaries if you need something to experiment with or to verify functionality on a new install.
- Packaged apps: No runtime configuration is required beyond running the binary.
- Building from source:
- macOS expects Qt SDK
>= 5.10.1(scripts assume 5.11.2). Symlink your Qt install withsudo ln -s ~/qt/5.11.2 /opt/qtand installappdmgglobally vianpm install -g appdmg. - Windows builds need Qt 5.11.2 (MSVC 2017 64-bit),
nmake,windeployqt, and Inno Setup (seeres/windows_setup.iss). Keep Qt underC:\Qt\Qt5.11.2\5.11.2so scripts can find it.
- macOS expects Qt SDK
- The
sample/directory contains minimal Mach-O files (simple,complex, andsimple.c). Open them inside MachOExplorer to verify parsing, demo features, or aid debugging.
MachOExplorer is a Qt project (src/MachOExplorer.pro). Open it in Qt Creator or use the provided build scripts.
- Install Qt 5.11.2 (or newer) and make sure it is accessible at
/opt/qt/5.11.2. - Run
./build_macos.shto configure viaqmake, build withmake, and runmacdeployqt. - The script repackages the DMG using
appdmgand copies the artifact todist/MachOExplorer.dmg.
- Install Qt 5.11.2 for MSVC 2017 64-bit so
qmake.exe,nmake, andwindeployqt.exeare on the path, and install Inno Setup when packaging installers. - Run
build_windows.batfrom a Visual Studio Developer Command Prompt. - The script builds the release target, runs
windeployqt, and copies the distributable intodist/MachOExplorer_Windows/.
- Qt 5.11.x for the UI and platform integration.
- Vendorized third-party libraries inside
src/libmoexsuch as fmt, cpp-mmaplib, and nlohmann/json.
- Display symbol names for addresses.
- Improve Windows support (port is present but still unstable).
- 2018-11-21 —
v1.0 Alpha: Windows support and new user interface. - 2017-11-05 —
v0.4.0 Alpha: Command line toolmoexrelease and version policy change. - 2017-11-05 —
v0.3 Alpha: Bug fixes. - 2017-11-05 —
v0.2 Alpha: Icon created. - 2017-11-04 —
v0.1 Alpha: First release.
Contributions are welcome! Please open an issue or pull request if you spot bugs, want to improve the UI, or can help with feature parity across platforms.
Distributed under the MIT License.
- Icon designed by wantline.
- Special thanks to everyone who provided feedback on early alpha builds.

