Skip to content
abbaye edited this page Apr 1, 2026 · 14 revisions

Welcome to WPF HexEditor Wiki

GitHub .NET 8.0 License Status


What is WPF HexEditor?

WPF HexEditor is a full binary analysis IDE for Windows built entirely with WPF and .NET 8.0. Think Visual Studio for binary files — with a VS-style docking engine, a plugin system, an integrated terminal, a code editor with LSP support, a XAML visual designer, a multi-format document editor, and a powerful hex editor control at its core.

flowchart LR
    subgraph IDE["WpfHexEditor IDE v0.6.4.2"]
        App["IDE Application\nWpfHexEditor.App"]
        Editors["12+ Editors\nHex · Code · XAML Designer · Text\nTBL · JSON · Image · Entropy\nDiff Viewer · Structure · Document · Script"]
        Panels["20+ Panels\nSolution Explorer · Terminal · Parsed Fields\nAssembly Explorer · Archive Explorer\nBreakpoint Explorer · Call/Type Hierarchy\nPlugin Manager · Plugin Monitoring · ..."]
        Plugins["Plugin System\nSDK (SemVer 2.0 frozen) + PluginHost\n15+ first-party plugins"]
    end
    Control["Standalone HexEditor Control\nembeddable in any WPF app"]
    App --> Editors
    App --> Panels
    App --> Plugins
    IDE -.->|reuses| Control
Loading

Quick Links

Getting Started Clone, build and run the IDE in minutes
Architecture Complete IDE + control architecture with Mermaid diagrams
Docking Engine XAML setup, layout persistence, panel registration
Project System .whsln / .whproj / VS .sln, ISolutionLoader, build system
Editor Registry IDocumentEditor contract, format-aware editor selection
ContentId Routing Tab & panel ID mapping, duplicate prevention
Plugin System Build your own plugin with the SDK
Terminal 31+ commands, scripting, plugin API
Plugin Monitoring Real-time CPU/memory charts per plugin
ByteProvider Virtual view, PositionMapper, undo/redo, smart save
Rendering Engine DrawingContext pipeline, 99% faster than V1
Search Architecture LRU cache, Boyer-Moore, SIMD, parallel search
FAQ Frequently asked questions
Contributing How to contribute

IDE Features

Feature Description
VS-Style Docking Float, dock, auto-hide, colored tabs — 100% in-house (WpfHexEditor.Shell), 19 themes
Project System .whsln / .whproj, VS .sln / .csproj, open-folder mode, format migration
Build System IBuildAdapter + MSBuild/dotnet CLI adapter plugin, parallel builds, progress bar, error panel
Workspace System .whidews — ZIP+JSON workspace snapshots, theme/layout/solution/files restore
Plugin System IWpfHexEditorPluginV2, .whxplugin packages, hot-unload, sandbox isolation, permissions, 22 terminal commands
Terminal 31+ built-in commands, HxScriptEngine, mode badge, session export, plugin command API
Plugin Monitoring Per-plugin CPU% + memory charts, PerformanceCounter + GC, 1 s polling
400+ Format Detection .whfmt v2.0 — repeating/union/versionedBlocks/pointer/checksums/assertions/forensic/aiHints; 20 critical formats
Inline Search Ctrl+F quick bar + Ctrl+Shift+F advanced (Hex/Text/Regex/TBL/Wildcard)
LSP Engine Full JSON-RPC LSP 3.17 client — 13 providers, OmniSharp / fsautocomplete / clangd
Debugger VS-style debug UI, breakpoints, step over/into/out, execution line highlight, call stack, watch, locals
Options VS2026-style settings — 20+ pages across all categories with live apply
19 Themes Dark · Light · VS2022Dark · DarkGlass · Minimal · Office · Cyberpunk · VisualStudio · and 11 more
Unit Testing Panel dotnet test runner, TRX parser, pass/fail/skip counters, auto-run on build success
Assembly Explorer .NET PE inspection, C# + IL decompilation → Code Editor tab
Block Undo/Redo Coalescing (500 ms), transactions, VS-style history dropdown across editors
Diff Viewer Byte-level + text + structure diff — GlyphRun canvas, DiffHub launcher, overview ruler

Editors

Editor Progress Notes
Hex Editor ~65% Insert/overwrite, 400+ formats, bookmarks, scroll markers, breadcrumb bar, column/row highlight
Code Editor ~85% LSP, navigation bar, sticky scroll, inline hints, bracket pair colorization, color swatch, auto-close, end-of-block hints, find all references, word highlight, minimap, split view
XAML Designer ~40% Split-pane live canvas, bidirectional sync, adorners, snap, 9 panels, overkill undo
Document Editor ~35% RTF/DOCX/ODT — WYSIWYG canvas renderer, cursor, text input, undo, tables, images, page settings
TBL Editor ~75% Character table editor for ROM hacking
Text Editor ~40% Encoding support, zoom, word wrap
Diff Viewer ~65% Binary/text/structure diff — GlyphRun canvas renderer, DiffHub, overview ruler
Entropy Viewer ~30% Entropy graph for binary analysis
Image Viewer ~40% Zoom/pan, rotate/flip/crop/resize pipeline
Structure Editor ~30% .whfmt binary template editor
Disassembly Viewer ~20% x86/x64 instruction decoding (stub)
Script Editor ~40% HxScript + C#Script, CodeEditorSplitHost, ILocalCompletionProvider

IDE Panels

Panel Progress Notes
Solution Explorer ~75% Virtual/physical folders, D&D, lazy source outline
Parsed Fields ~65% 400+ format detection, FormatNavigator, forensic alerts
Data Inspector ~60% 40+ byte interpretations at caret
Assembly Explorer ~30% .NET PE tree, C# decompilation
Archive Explorer ~45% ZIP/RAR/7z/TAR, extract, in-place hex preview
Call Hierarchy ~65% LSP 3.17 — incoming/outgoing call tree (Shift+Alt+H)
Type Hierarchy ~65% LSP 3.17 — supertypes/subtypes (Ctrl+Alt+F12)
Breakpoint Explorer ~55% Solution-scoped breakpoints, hit counts, enable/disable
File Comparison ~55% DiffHub launcher + full diff viewer as document tab
Terminal Panel ~65% Multi-tab, ITerminalService plugin API
Output Panel ~70% Build channel, severity colors, auto-scroll
Error Panel ~65% Diagnostics from any IDiagnosticSource editor
Properties Panel ~50% Context-aware (F4), 400 ms debounce
Plugin Manager ~55% Browse, enable/disable, uninstall
Plugin Monitoring ~50% Real-time CPU% + memory charts
Options ~70% 20+ pages — Environment, Hex Editor, Code Editor, Text Editor, Debugger, Build & Run
Unit Testing ~65% dotnet test runner, TRX parser, color-coded outcomes
Quick Search ~60% Inline Ctrl+F overlay
Advanced Search ~40% 5 modes: Hex, Text, Regex, TBL, Wildcard

HexEditor Control — Key Stats

The WpfHexEditor.HexEditor UserControl can be embedded in any WPF application without the IDE:

  • 99% faster rendering — custom DrawingContext vs legacy ItemsControl
  • 10-100x faster search — LRU cache + Boyer-Moore + SIMD + parallel multi-core
  • 80-90% less memory — Span<T> + ArrayPool
  • 21 specialized services — MVVM, 100% testable
  • 19 languages — instant runtime switching
  • Handles files from bytes to gigabytes
  • Breadcrumb bar, column/row highlight, scroll markers, block undo/redo

Latest Changes — v0.6.4.2 (2026-03-31)

  • Options tree reorganization — Code Editor section with "Appearance & Colors", "Inline Hints", "Navigation", "Features", "Language Servers"
  • Bracket pair colorization (#162) — CE_Bracket_1/2/3/4 depth tokens, BracketDepthColorizer pipeline, synthetic bracket rule from .whfmt bracketPairs
  • Color swatch preview (#168) — 12×12 inline swatch for CSS/XAML/C# color literals
  • Format-on-save (#159 partial) — toggle in settings applied to Code Editor on open
  • DocumentEditor WYSIWYG (ADR-DOCEDIT-WYSIWYG) — cursor, text input, tables, images, undo, page settings, keyboard navigation, find/replace, styles panel; RTF/DOCX/ODT loaders
  • HexEditor block undo/redo (ADR-UNDO-01) — paste/cut/delete as single step, UndoGroup composite, coalescence, VS-style history dropdown
  • Breakpoint overkill upgrade — hover popup, solution-scoped persistence, hit counts, Explorer panel
  • DiffViewer — GlyphRun canvas renderers, DiffHub document tab, structure diff, format field overlay

See CHANGELOG for full history.


Getting Started

git clone https://github.com/abbaye/WpfHexEditorIDE.git

Open WpfHexEditorControl.sln → set WpfHexEditor.App as startup → F5.

Embed the control in your own WPF app:

<ProjectReference Include="..\WpfHexEditor.Core\WpfHexEditor.Core.csproj" />
<ProjectReference Include="..\WpfHexEditor.HexEditor\WpfHexEditor.HexEditor.csproj" />
<hex:HexEditor FileName="data.bin" />

The V1 NuGet package (WPFHexaEditor) remains available but is no longer maintained. V2 targets .NET 8.0-windows exclusively.

Full Getting Started guide →


Community

Navigation

Getting Started

IDE Documentation

HexEditor Control

Advanced

Development


v0.6.4.x Highlights

  • Bracket pair colorization (CE_Bracket_1/2/3/4)
  • Color swatch preview (CSS/XAML/C#)
  • Format-on-save toggle
  • Options tree reorganized (Code Editor section)
  • DocumentEditor WYSIWYG (RTF/DOCX/ODT)
  • HexEditor block undo/redo (UndoGroup, history dropdown)
  • Breakpoint overkill upgrade (hit counts, explorer)
  • DiffViewer GlyphRun canvas + DiffHub

Links

Clone this wiki locally