FAQ¶
What is 0tH?¶
0tH (Zero the Hero) is a Mach-O binary parser. It focuses on correctness and security rather than completeness of features. It’s meant for reverse engineers, researchers, and anyone who needs a safe way to inspect Apple binaries.
Why not just use otool
?¶
otool
is Apple’s official tool, but it’s often slow and limited in scope. 0tH aims to be:
Faster (an order of magnitude on large files)
Safer (strict parsing, no silent assumptions)
Deeper (it inspects parts
otool
ignores)
Which platforms are supported?¶
macOS (Intel + ARM64)
Linux (Intel + ARM64) — to be released
OpenBSD (Intel + ARM64) — to be released
Other BSDs: in the pipeline
Other UNIX-like systems may work, but they aren’t primary targets. And honestly, I’m not sure I want to compile for every system out there.
Does 0tH support Fat/Universal binaries?¶
Not yet. At the time of writing (v0.6.x), multi-arch files are unsupported. Planned for v0.7.0.
👉 Workaround: use lipo -thin
to extract the slice you need.
Does 0tH parse code signatures?¶
Partially. The SuperBlob is identified, but not all sub-blobs are expanded yet.
👉 Use codesign -d --verbose=4
or jtool2 --sig
for full detail.
Can I automate 0tH in scripts?¶
Currently, 0tH is REPL-only.
👉 Workaround: drive it with script
, expect
, or a heredoc
.
Batch-friendly CLI mode is on the roadmap.
Can I trust 0tH output in production?¶
Yes. It won’t corrupt your binaries or silently mis-parse. If a structure is unknown or not implemented, 0tH will bail out or show raw data instead of faking results.
Will it ever support Swift/ObjC metadata?¶
Planned, but not in early releases. For now, rely on class-dump
, swift-demangle
, or jtool2
.
How is 0tH licensed?¶
Community Edition (CE) is free. PRO/MASTER editions are planned with additional features.
Where can I report bugs or request features?¶
Email the maintainer (see
AUTHORS
file)Segment 0
Then how can I contribute?¶
There’s a mailing list: Segment 0.
It’s meant to support users, but also to collect feedback and requests.
👉 Don’t use GitHub issues — there is no public GitHub project.
Why Zero-the-Hero? Why so many names?¶
Because names matter. Zero the Hero is a nod to Black Sabbath and to the first segment in a Mach-O (__TEXT
, address 0). Other nicknames and project codenames exist because this is not a boring corporate tool. And it never will be.
I see blabbering about this “Mach-O-Nomicon” here and there. What’s that?¶
It’s a book. Theory + practice + exercises. A grim grimoire for those who want to master Mach-O internals.
👉 Download it — it’s just a few bux.
Who are you? Why doing this?¶
See RevEng3.
No whoami
. Sorry.
Can I contribute with my code?¶
No. 0tH is closed source for a reason: Mach-O is too complex to have multiple development lines. Fragmentation would kill the project.
How do you pay the mortgage installments?¶
I don’t. Please, buy me a coffee — and my cats some treats.
How often will you release new versions?¶
Quite often. There’s no fixed schedule yet — but keep your eyes open and bookmark blog.zero-the-hero.run.