# Install dwarf with Homebrew, MacPorts

Object file manipulation tool. Version 0.4.0 via Homebrew; verified from local package data. Also installable with macports: sudo port install dwarf.

## Install

```sh
sudo av install brew:dwarf
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install dwarf
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install dwarf
```

  Evidence: MacPorts ports tree: sysutils/dwarf/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:dwarf
- **Package manager:** Homebrew
- **Version:** 0.4.0
- **Source summary:** Object file manipulation tool
- **Homepage:** <https://github.com/elboza/dwarf-ng/>
- **Repository:** <https://github.com/elboza/dwarf-ng>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- dwarf (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.4.0
## Project history and usage

dwarf is the command shipped by dwarf-ng, a small object-file manipulation tool and hex editor in the spirit of gdb. Despite the name, it is not the libdwarf/dwarfdump DWARF-debug-info package; it focuses on reading and editing Raw, ELF, PE, and Mach-O files.

### Project history

The dwarf-ng man page is dated 2007-2011 and credits Fernando Iazeolla as founder and core developer. The README's usage banner identifies dwarf-ng 0.4.0 with copyright years 2007, 2013, and 2017.

The project later moved from an older code.google.com homepage reference to GitHub; the current GitHub repository was created in May 2013. The README describes the tool as a command-line hex editor and object-file manipulator with an interactive shell and a command language.

### Adoption history

Public adoption appears small. The input metadata lists Homebrew and MacPorts packages, and GitHub metadata shows a niche repository rather than a broad ecosystem project. That makes the history useful mainly for distinguishing the package from DWARF debug-info tooling with similar names.

### How it is used

Users run dwarf against object files to inspect file information, print bytes and structured headers, edit blocks, create or remove headers, inject data, and work interactively. The man page documents support for ELF, PE, Mach-O, and Mach-O fat binaries.

The tool reads /etc/dwarfrc and ~/.dwarfrc for settings such as working on a temporary copy, verbosity, temporary paths, and colors.

### Why package nerds care

The package is significant mostly as a naming trap and a small binary-analysis artifact. In package indexes, brew:dwarf can be mistaken for DWARF debugging utilities, but its actual role is closer to a scriptable hex/object editor adjacent to readelf, objdump, otool, gdb, ht, elfsh, and elfdump.

### Timeline

- 2007: The man page copyright range begins, marking the early dwarf-ng era.
- 2011: The hosted man page is generated from the dwarf-ng manual.
- 2013: The official GitHub repository is created.
- 2017: The README usage banner lists dwarf-ng 0.4.0 with 2017 in the copyright range.

### Related projects

- The man page lists readelf, objdump, ht, otool, gdb, elfsh, and elfdump as related tools.
- ELF, PE, Mach-O, and raw binary files are the file formats documented by the README and man page.

### Sources

- <https://github.com/elboza/dwarf-ng#readme>
- <https://www.autistici.org/0xFE/src/dwarf-ng/xdwarf.man.html>
- <https://api.github.com/repos/elboza/dwarf-ng>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- MacPorts - dwarf: normalized package name match | MacPorts ports tree: sysutils/dwarf/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/dwarf.yml](https://github.com/mxcl/pkgdb/blob/main/combined/dwarf.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
