No binary loaded
MACH-OOpen a Mach-O binary to inspect its structure and ARM64 code.
Disassembly
Select a function or go to a code address.
| Address | Word | Instruction | Reference |
|---|
Could not analyze this binary
Explore ARM64 code
Open a Mach-O binary to inspect its source details. Everything stays in this browser.
64-bit Mach-O and universal binaries, up to 128 MiB. ARM64 / arm64e graphs; other architectures are metadata-only.
Choosing a system executable
On macOS: choose a file, press ⌘ + Shift + G in the picker, then enter /bin/ls. A browser cannot open a typed filesystem path without your file selection.
No executable loaded.
How to read this graph
Each block shows full instruction addresses, original words, and decoded AArch64 assembly. Right-angle arrows leave block bottoms and enter block tops. Green means taken, red not taken, blue unconditional branch or fallthrough, and amber unresolved flow. Text labels also identify each edge; external destinations are explicitly marked.
Calls stay inline, rather than creating callee edges. Returns and known non-returning calls terminate a block. Bounded static recovery can resolve indirect targets and complete switch tables; remaining indirect flow stays explicitly unresolved. Unknown instructions remain visible as .inst.
Target assumption: FEAT_PAuth and FEAT_PAuth_LR are enabled. This is a static view, not execution tracing or a complete call graph.
All parsing, decoding, layout, and export happen locally in this browser.
Decoded with a64js Drawn with bblocks
Control-flow graph
No function selected.
No binary loaded.
- Instructions
- —
- Basic blocks
- —
- External targets
- —
- Instruction range
- —
No graph selected.
Block inspector
Selectable textSelect a block to view and copy its instructions.
Analysis notes 0
No analysis warnings.
Control-flow structure & references
Entry reachability, natural loops, switch cases, and reference evidence.