github ChiChou/grapefruit v1.1.1

latest release: v1.1.2
8 hours ago

Highlights

Radare2 Analysis Panels

Binary Ninja / Iaito-inspired features added to the R2 binary viewer:

  • Dashboard — binary overview with architecture, hashes, entropy visualization, sections, compiler info and security flags
  • Memory maps — segment layout with color-coded permission bar chart
  • Split view — disassembly + control flow graph side by side
  • Disassembly minimap — vertical overview with click-to-jump-to-function
  • Inline opcode bytes — toggle hex encoding next to instructions
  • Cross-reference graph — dagre-based caller/callee visualization
  • Multi-mode search — string, hex pattern, ROP gadgets, assembly
  • Type editor — define structs and enums with Monaco editor
  • Bookmarks — save addresses with labels and notes
  • Rename dialog — rename functions inline
  • Binaries panel — list loaded libraries
  • CFG export — download control flow graph as SVG

Async Hex Editor

Full hex editor with paged on-demand loading for large files:

  • 64KB pages with LRU cache via fs.range RPC
  • Data inspector sidebar (int/float/string formats)
  • Toolbar with stride selector, go-to-offset, download
  • Wide scrollbar styled as minimap

Text Editor Toolbar

Notepad2-style toolbar for the text editor:

  • Save, Undo/Redo, Cut/Copy/Paste, Find, Fold/Unfold, Word Wrap, Download
  • Save writes back to device via fs.saveText RPC
  • Readonly gating when directory is not writable
  • Oversized file guard (>1MB)

DEX Analysis in Browser

DexViewerTab now runs entirely in the browser via r2 WASM — no server-side r2 sessions needed. Downloads the file from the device and analyzes locally, gaining all R2Viewer features (minimap, split view, maps, search, etc.).

Other Changes

  • Remove magika WASM (froze browser on init), use extension-based syntax detection
  • HTTP Range header support for streaming file downloads
  • Agent posix.ts split into syscall wrappers + higher-level file.ts
  • Persist selected function, view mode, and left tab across page reload
  • i18n keys (en + cn) for all new R2 UI strings
  • CSS variables for light/dark mode theming
  • Dev script refactored with Bun.$, added bun run dev:both (server + GUI only)
  • CI: refactored build workflows, fixed npm publish pipeline, bumped actions/cache to v5

Full Changelog: v1.1.0...v1.1.1

Don't miss a new grapefruit release

NewReleases is sending notifications on new releases.