Skip to content
abbaye edited this page Apr 16, 2026 · 15 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.75"]
        App["IDE Application\nWpfHexEditor.App"]
        Editors["21 Editors\nHex · Code · XAML Designer · Text\nTBL · JSON · Image · Entropy\nDiff · Structure · Document · Script\nMarkdown · ClassDiagram · Resx · Audio · Tile · ..."]
        Panels["25+ Panels\nSolution Explorer · Terminal · Parsed Fields\nAssembly Explorer · Archive Explorer\nBreakpoint Explorer · Call/Type Hierarchy\nWhfmtBrowser · WhfmtCatalog · AI Assistant\nPlugin Manager · Plugin Monitoring · ..."]
        Plugins["Plugin System\nSDK (SemVer 2.0 frozen) + PluginHost\n28+ 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
690+ Format Detection .whfmt v2.3 — repeating/union/versionedBlocks/pointer/checksums/assertions/forensic/variables/references; 27 categories; NuGet: whfmt.FileFormatCatalog
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, 690+ formats, bookmarks, scroll markers, breadcrumb bar, block undo/redo
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 template editor — block DataGrid, drag-drop, validation, SmartComplete, TestTab
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% 690+ 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
WhfmtBrowser ~70% Browse 690+ embedded format definitions by category
WhfmtCatalog ~70% Format detail inspector with JSON preview
AI Assistant ~80% Multi-provider AI chat with 25 MCP tools, streaming, inline apply
Document Structure ~55% 8 providers — LSP, JSON, XML, Markdown, INI, Binary, Folding, Outline
Git Changes ~40% Stage/unstage/commit/discard, diff preview, branch picker

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.75 (2026-04-15)

  • whfmt.FileFormatCatalog v1.0.0 NuGet — cross-platform net8.0 package with 690+ format definitions, magic-byte detection, MIME lookup, FormatCategory/SchemaName enums
  • Structure Editor (~30%) — visual .whfmt template editor with block DataGrid, drag-drop, validation, undo/redo, TestTab, SmartComplete
  • 690+ .whfmt definitions — +230 new formats, schema v2.3, forensic patterns, variables, references
  • Format detection hardening — thread-safe cache, SignatureStrength converter, corrupted whfmt crash guard

Previous — 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.75 Highlights

  • whfmt.FileFormatCatalog v1.0.0 NuGet (cross-platform net8.0)
  • 690+ .whfmt definitions (schema v2.3)
  • Structure Editor — block DataGrid, drag-drop, validation, SmartComplete
  • WhfmtBrowser/Catalog panels — browse all embedded formats
  • AI Assistant (5 providers, 25 MCP tools)
  • Tab Groups, Document Structure, Lazy Plugin Loading
  • Window Menu + Win32 Fullscreen (F11)
  • Git Integration UI (changes, history, blame)
  • Shared Undo Engine (HexEditor ↔ CodeEditor)
  • Bracket pair colorization, sticky scroll, peek definition
  • Format detection hardening (thread-safe, crash guard)

Links

Clone this wiki locally