LinuxCommandLibrary

dab

Build Android applications (deprecated)

SYNOPSIS

dab [OPTIONS] [FILE]

PARAMETERS

-h, --help
    Print help and exit

-V, --version
    Print version information

-d, --disasm=<ARCH>
    Enable disassembly (e.g., x86, arm64, mips); requires Capstone

-b, --bits=<32|64>
    Set disassembly bit width (default: 64)

-e, --entropy
    Display entropy graph on startup

-g, --goto=<ADDR>
    Jump to hexadecimal address or decimal offset

-s, --search=<PATTERN>
    Search for hex, text, or regex pattern

--palette=<NAME>
    Load color palette (e.g., default, solarized)

--cfg=<FILE>
    Use custom config file

--dump-cfg
    Output default config to stdout

--base=<BASE>
    Set address base (e.g., 0x1000)

DESCRIPTION

dab is a powerful command-line tool for viewing, navigating, and editing binary files using a full-screen curses-based interface. It offers hex and ASCII views side-by-side, with features like disassembly powered by Capstone, entropy visualization, block-based searching, and vi-like keybindings for efficient editing.

Key capabilities include jumping to offsets, searching for strings or hex patterns, customizing color palettes, and graphing file entropy to spot compressed or encrypted sections. Disassembly supports architectures like x86, ARM, MIPS, and more, with 32/64-bit modes.

Unlike traditional dumpers like xxd or hexdump, dab provides an interactive editor with undo/redo, making it ideal for reverse engineering, debugging, and malware analysis. It's written in Rust for speed and safety, runs on Linux, macOS, and Windows, and is lightweight with no runtime dependencies beyond the terminal.

Launch with dab file.bin for instant viewing; use arrows or hjkl to navigate, i for insert mode, :w to save.

CAVEATS

Interactive only; disassembly needs libcapstone-dev at build time. No stdin support for piping. Terminal must support 256 colors for best visuals.
Editing unsaved changes prompts on exit.

KEYBINDINGS

Navigation: hjkl or arrows; Edit: i insert, R replace; Commands: : for goto/search/save/quit; u undo, Ctrl+r redo.
Full list via ? in app.

INSTALL

Via cargo: cargo install dab; or binaries from GitHub releases. Arch: in AUR as dab-bin.

ARCHITECTURES

x86/x64, ARM/Thumb/AArch64, MIPS, PowerPC, RISC-V, 6502, and more via Capstone backend.

HISTORY

Developed by oxagast starting 2020 as a Rust-based alternative to aging hex tools. Initial release v0.1.0 in 2021; now at v1.x with Capstone integration (2023). Actively maintained on GitHub with 2k+ stars.

SEE ALSO

xxd(1), hexdump(1), bvi(1), hexedit(1), objdump(1)

Copied to clipboard