架构技术评论

MachOExplorer 8 年后更新,MachO 文件查看工具

Image

MachOExplorer 是一个面向 Mach-O 生态的桌面分析工具,主要用 Qt / C++ 开发。这个项目是我大概是 8 年前写的,手搓代码“古法编程”。功能一直能用,但很多结构、交互和工程细节,已经明显跟不上现在的使用需求。

这个月,我借助 Codex 对它做了一轮比较集中的整理、优化和功能开发。

时光飞逝,8 年了。

Image

能力层面。现在已经能更完整地查看 Mach-O、Fat Mach-O、.a 静态库和 dyld shared cache,不只是看基础结构,还补强了 ObjC 元数据、Swift 元数据、dyld exports / fixups、反汇编、xref、relocation 等内容。对于做二进制分析、逆向或兼容性排查的人来说,这意味着从“看到文件”进一步走到了“看懂结构”。

使用体验。这个月把表格筛选、复制、CSV 导出、键盘导航这些高频操作都补齐了,dyld shared cache 也打通了镜像搜索、提取、自动打开和命令行输出,日常分析效率提升很明显。同时,CLI 模式也补上了,支持无界面分析和 JSON 输出,更适合自动化脚本、回归检查和批处理。

工程化和稳定性。这个月补了不少 parser 边界校验、异常输入回归测试、发布脚本、Homebrew 分发和打包流程。最近还顺手修掉了一个 .app 目录直开会崩溃的问题,现在遇到这种情况会明确报错,不会再直接闪退。

如果你想试用:

  • 下载地址:
    https://github.com/everettjf/MachOExplorer/releases/latest
  • Homebrew 安装:
    brew update && brew tap everettjf/homebrew-tap && brew install --cask machoexplorer

如果你想看源码或参与改进:

  • 项目源码:https://github.com/everettjf/MachOExplorer
  • 问题反馈:https://github.com/everettjf/MachOExplorer/issues