internal/

directory
v0.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 19, 2026 License: MIT

Directories

Path Synopsis
Package arch defines CPU architecture identifiers shared by binary parsers and decoder adapters.
Package arch defines CPU architecture identifiers shared by binary parsers and decoder adapters.
Package binfile loads an executable (ELF or Mach-O) and exposes the bits the explorer needs through a single, format-neutral model: header info, sections, symbols, address→source mapping, and continuous virtual-address / raw-file byte images for the hex and disassembly views.
Package binfile loads an executable (ELF or Mach-O) and exposes the bits the explorer needs through a single, format-neutral model: header info, sections, symbols, address→source mapping, and continuous virtual-address / raw-file byte images for the hex and disassembly views.
Package bytesearch turns UI search queries into byte patterns and scans byte slices in either direction.
Package bytesearch turns UI search queries into byte patterns and scans byte slices in either direction.
Package chromalexers provides the curated Chroma lexer registry bundled by exex's default build.
Package chromalexers provides the curated Chroma lexer registry bundled by exex's default build.
Package chromastyles provides the curated Chroma style registry bundled by exex's default build.
Package chromastyles provides the curated Chroma style registry bundled by exex's default build.
Package chromasubset owns the curated Chroma XML manifests bundled by exex.
Package chromasubset owns the curated Chroma XML manifests bundled by exex.
Package config loads user customisation for exex: colour palette and top-level keybindings.
Package config loads user customisation for exex: colour palette and top-level keybindings.
Package cpufeat classifies disassembled instructions into the CPU-feature families they require, so a binary can be summarised as "needs AVX2, SSE4.2, FMA" → an implied baseline (x86-64-v3).
Package cpufeat classifies disassembled instructions into the CPU-feature families they require, so a binary can be summarised as "needs AVX2, SSE4.2, FMA" → an implied baseline (x86-64-v3).
Package disasm wraps golang.org/x/arch to provide a uniform decoder across x86, x86-64, ARM64, RISC-V 64, 32-bit ARM, PowerPC (32- and 64-bit, both endians), s390x and LoongArch 64.
Package disasm wraps golang.org/x/arch to provide a uniform decoder across x86, x86-64, ARM64, RISC-V 64, 32-bit ARM, PowerPC (32- and 64-bit, both endians), s390x and LoongArch 64.
Package dump renders a binary's views as plain, non-interactive text for stdout (the `-o` flag), turning exex into a scriptable readelf/nm/objdump-lite.
Package dump renders a binary's views as plain, non-interactive text for stdout (the `-o` flag), turning exex into a scriptable readelf/nm/objdump-lite.
Package dyldcache reads Apple's dyld shared cache: the single large mapped image (split across a main file plus ".NN" subcache files) that macOS/iOS ship their system dylibs in instead of as standalone files on disk.
Package dyldcache reads Apple's dyld shared cache: the single large mapped image (split across a main file plus ".NN" subcache files) that macOS/iOS ship their system dylibs in instead of as standalone files on disk.
Package explorer contains format-neutral navigation and service logic shared by the TUI.
Package explorer contains format-neutral navigation and service logic shared by the TUI.
Package integration holds slow, toolchain-dependent end-to-end tests guarded by the "crosscompile" build tag (see cross_test.go).
Package integration holds slow, toolchain-dependent end-to-end tests guarded by the "crosscompile" build tag (see cross_test.go).
Package sourcefiles ranks and searches source files referenced by debug info.
Package sourcefiles ranks and searches source files referenced by debug info.
Package syntax highlights source files for display in the TUI source pane.
Package syntax highlights source files for display in the TUI source pane.
Package syscalls maps system-call numbers to names per OS/architecture.
Package syscalls maps system-call numbers to names per OS/architecture.
Package testbin hand-builds tiny, byte-for-byte deterministic binaries for tests.
Package testbin hand-builds tiny, byte-for-byte deterministic binaries for tests.
Package theme provides colour palettes extracted from Chroma's styles as plain data, so both the full and lite builds can theme the whole UI (and the built-in highlighter) from any Chroma style name without importing Chroma.
Package theme provides colour palettes extracted from Chroma's styles as plain data, so both the full and lite builds can theme the whole UI (and the built-in highlighter) from any Chroma style name without importing Chroma.
ui
Package ui implements the Bubble Tea TUI for exex.
Package ui implements the Bubble Tea TUI for exex.
asmhl
Package asmhl highlights a single line of disassembled instruction text.
Package asmhl highlights a single line of disassembled instruction text.
layout
Package layout holds the pure, Model-independent scroll/viewport geometry the TUI views share: given a cursor, a window height and a per-row height function, it computes which row to anchor at the top and which logical item sits at a visual row.
Package layout holds the pure, Model-independent scroll/viewport geometry the TUI views share: given a cursor, a window height and a per-row height function, it computes which row to anchor at the top and which logical item sits at a visual row.
modal
Package modal is the neutral contract between the exex TUI shell (package ui) and the overlay modals, mirroring what package view is for the top-level views.
Package modal is the neutral contract between the exex TUI shell (package ui) and the overlay modals, mirroring what package view is for the top-level views.
modals/cpufeat
Package cpufeat is the CPU-features overlay: the set of optional instruction families (SSE/AVX/NEON/…) a binary requires, the baseline they imply, and how often each is used.
Package cpufeat is the CPU-features overlay: the set of optional instruction families (SSE/AVX/NEON/…) a binary requires, the baseline they imply, and how often each is used.
modals/findquery
Package findquery is the free-text global-search prompt (the `l` key): type a symbol name, a string, or a hex address, and it runs the same content scan the caret-seeded Find does.
Package findquery is the free-text global-search prompt (the `l` key): type a symbol name, a string, or a hex address, and it runs the same content scan the caret-seeded Find does.
modals/findresults
Package findresults is the global value search's results overlay: every place a value occurs across the binary — disasm operands, data words, string contents, relocation targets — in one list, tagged by the view it belongs to and filterable by that view.
Package findresults is the global value search's results overlay: every place a value occurs across the binary — disasm operands, data words, string contents, relocation targets — in one list, tagged by the view it belongs to and filterable by that view.
modals/findto
Package findto is the "Find from here" seed picker (the `f` key): it lists the things at the caret — its address, the pointer it holds, the symbol or section covering it, a string, a library path — and on selection launches the global value search for that seed.
Package findto is the "Find from here" seed picker (the `f` key): it lists the things at the caret — its address, the pointer it holds, the symbol or section covering it, a string, a library path — and on selection launches the global value search for that seed.
modals/help
Package help is the keybinding cheat-sheet overlay (the `?` key): a static, two-column table of every binding, scrolled when it is taller than the terminal and dismissed by any other key.
Package help is the keybinding cheat-sheet overlay (the `?` key): a static, two-column table of every binding, scrolled when it is taller than the terminal and dismissed by any other key.
modals/jumpto
Package jumpto is the "open caret position in…" overlay: take the address under the cursor and offer to reopen it in each of the other views, each row previewing exactly where it would land, above a header describing what the address *is*.
Package jumpto is the "open caret position in…" overlay: take the address under the cursor and offer to reopen it in each of the other views, each row previewing exactly where it would land, above a header describing what the address *is*.
modals/palette
Package palette is the "Jump to" command palette (the `g` key): type a query, pick a scope, and jump to a symbol, section, string, library or address.
Package palette is the "Jump to" command palette (the `g` key): type a query, pick a scope, and jump to a symbol, section, string, library or address.
modals/rawheader
Package rawheader is the raw container-header overlay (⇧H): the ELF e_* fields, the Mach-O mach_header and load commands, or the PE COFF/optional header, as an aligned field table.
Package rawheader is the raw container-header overlay (⇧H): the ELF e_* fields, the Mach-O mach_header and load commands, or the PE COFF/optional header, as an aligned field table.
modals/search
Package search is the in-view search prompt (the `/` key): a query box above a strip of clickable toggles for the match mode, case sensitivity, direction and origin.
Package search is the in-view search prompt (the `/` key): a query box above a strip of clickable toggles for the match mode, case sensitivity, direction and origin.
modals/settings
Package settings is the settings overlay: a scrollable list of preferences grouped under headings, cycled left/right, applied live, and saved on Enter.
Package settings is the settings overlay: a scrollable list of preferences grouped under headings, cycled left/right, applied live, and saved on Enter.
modals/syscalls
Package syscalls is the system-calls results overlay: every place the binary enters the kernel, grouped by scope (this function / the whole binary / one row per distinct call / the binary plus its linked libraries), sortable, filterable and followable with Enter.
Package syscalls is the system-calls results overlay: every place the binary enters the kernel, grouped by scope (this function / the whole binary / one row per distinct call / the binary plus its linked libraries), sortable, filterable and followable with Enter.
modals/textoverlay
Package textoverlay is the shared behaviour of exex's scrollable text overlays: the keybinding cheat-sheet and the raw container header.
Package textoverlay is the shared behaviour of exex's scrollable text overlays: the keybinding cheat-sheet and the raw container header.
modals/xref
Package xref is the cross-references results overlay: every instruction that references the address under the disasm cursor, sortable, filterable, and followable with Enter.
Package xref is the cross-references results overlay: every instruction that references the address under the disasm cursor, sortable, filterable, and followable with Enter.
scope
Package scope names what a search looks through.
Package scope names what a search looks through.
view
Package view is the neutral contract between the exex TUI shell (package ui) and the individual views.
Package view is the neutral contract between the exex TUI shell (package ui) and the individual views.
views/disasm
Package disasm implements the disassembly view: the column geometry the rows are laid out on, and the rendering built over it.
Package disasm implements the disassembly view: the column geometry the rows are laid out on, and the rendering built over it.
views/hexraw
Package hexraw implements the Hex and Raw byte-dump views.
Package hexraw implements the Hex and Raw byte-dump views.
views/info
Package info implements the normal Info overview page: the file header re-aligned into one column, plus overview, hardening, dynamic-linking and toolchain blocks.
Package info implements the normal Info overview page: the file header re-aligned into one column, plus overview, hardening, dynamic-linking and toolchain blocks.
views/libs
Package libs implements the dynamic-libraries view: the DT_NEEDED entries together with the linkage context (interpreter, libc kind, RPATH, RUNPATH), as a flat list or a collapsible path tree, with name filtering and an on-disk/in-cache availability lens.
Package libs implements the dynamic-libraries view: the DT_NEEDED entries together with the linkage context (interpreter, libc kind, RPATH, RUNPATH), as a flat list or a collapsible path tree, with name filtering and an on-disk/in-cache availability lens.
views/relocs
Package relocs implements the Relocations view: a filterable table of the binary's relocations — the GOT/PLT slots and base fixups the loader patches.
Package relocs implements the Relocations view: a filterable table of the binary's relocations — the GOT/PLT slots and base fixups the loader patches.
views/sections
Package sections implements the Sections view: a filterable table of the binary's sections.
Package sections implements the Sections view: a filterable table of the binary's sections.
views/sources
Package sources implements the Sources view's file list (DWARF only): every source file referenced by the line table, as a project-first flat list or a directory tree, with name filtering and an on-disk availability lens.
Package sources implements the Sources view's file list (DWARF only): every source file referenced by the line table, as a project-first flat list or a directory tree, with name filtering and an on-disk availability lens.
views/strs
Package strs implements the Strings view: the printable runs found in the file (à la strings(1)), each annotated with its file offset and — when the bytes are mapped — the virtual address and owning section.
Package strs implements the Strings view: the printable runs found in the file (à la strings(1)), each annotated with its file offset and — when the bytes are mapped — the virtual address and owning section.
views/symbols
Package symbols implements the Symbols view: a filterable, sortable table of the merged symbol table (matching on both raw and demangled names), with an alternative collapsible namespace-tree mode, kind/scope/bind facet filters, clickable facet chips on the status row, and per-row or global abbreviation of bracketed argument/template lists.
Package symbols implements the Symbols view: a filterable, sortable table of the merged symbol table (matching on both raw and demangled names), with an alternative collapsible namespace-tree mode, kind/scope/bind facet filters, clickable facet chips on the status row, and per-row or global abbreviation of bracketed argument/template lists.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL