Skip to content

WPF HexEditor v2 is a powerful, high-performance hex editor control for .NET applications. Built with modern MVVM architecture and optimized for files from bytes to gigabytes, it delivers professional-grade binary editing

License

Notifications You must be signed in to change notification settings

abbaye/WpfHexEditorControl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1,588 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

โšก The Fastest Wpf Hex Editor Control for .NET โšก

NuGet .NET Multi-Target Platform C# License Languages V2 Architecture


WPF HexEditor V2
Screenshot from brand new V2 version

Quick Start โ€ข Features โ€ข Tutorial โ€ข Docs โ€ข V1โ†’V2


๐Ÿ’Ž About

WPF HexEditor is a powerful, high-performance hex editor control for .NET applications. Built with modern MVVM architecture and optimized for files from bytes to gigabytes, it delivers professional-grade binary editing with 99% faster rendering and 10-100x faster search than legacy versions.

Perfect for: binary file analysis, game ROM modding, data recovery, protocol debugging, security research, and any application requiring low-level data inspection.


โšก Quick Start

1. Install via NuGet (V1 only):

dotnet add package WPFHexaEditor

2. Add to your XAML:

<Window xmlns:hex="clr-namespace:WpfHexaEditor;assembly=WPFHexaEditor">
  <hex:HexEditor FileName="data.bin" />
</Window>

3. Done! ๐ŸŽ‰

๐Ÿ’ก JetBrains Rider Users: No visual toolbox? No problem! See the Rider Guide for IntelliSense tips, Live Templates, and sample projects.

๐Ÿ‘‰ Complete Tutorial | 7+ Sample Apps | API Docs


๐ŸŽฏ Why Choose the brand new V2?

โšก Performance

  • 99% faster rendering
  • 10-100x faster search
  • 80-90% less memory
  • Handles GB+ files

๐Ÿ—๏ธ Architecture

  • MVVM + Services
  • 16 specialized services
  • 100% testable
  • Zero dependencies

โœ… Production Ready

  • Solide MVVM architecture fixed
  • Insert byte anywhere fixed
  • Scroll markers
  • Async operations

๐Ÿ†• New Features

  • BarChart visualization
  • AvalonDock support
  • SIMD optimization
  • Progress reporting

๐Ÿ”„ 100% Retro-Compatible

  • Drop-in replacement
  • Same but bonified API as V1
  • Zero breaking changes
  • Multi-targeting

๐ŸŒ Multilingual

  • 19 languages
  • Instant switching
  • No restart needed
  • Extensible

Upgrading from V1? โ†’ Migration Guide (zero code changes required!)


๐Ÿ“Š Key Stats

Metric V1 Legacy V2 Modern Improvement
Rendering ItemsControl DrawingContext โšก 99% faster
Search Standard LRU + Parallel + SIMD โšก 10-100x faster
Memory High Span<T> + Pooling โšก 80-90% less
Architecture Monolithic MVVM + 15 Services ๐Ÿ—๏ธ Service-based
Bugs Insert Mode โš ๏ธ
Save loss โš ๏ธ
All fixed โœ… โœ… Production ready

โ†’ See complete feature comparison (163 features)


๐Ÿ“ธ Screenshots

Note: The screenshots below are from V1 (Legacy). V2 screenshots will be added soon.

๐Ÿ“ Standard ASCII View
Clean interface with hex/ASCII side-by-side

Standard ASCII view
๐ŸŽฎ Custom TBL (Final Fantasy II)
Game ROM editing with custom character tables

Custom TBL
๐Ÿ” Find & Replace
Advanced search with pattern matching

Find/Replace
๐Ÿ“Š BarChart View โญ
Visual data representation for analysis

BarChart
๐Ÿ”ง Advanced Features - Click to see more screenshots
โš™๏ธ ByteShift + Fixed Table Editing
Advanced table editing with byte shifting

ByteShift
๐Ÿ–ฅ๏ธ AvalonDock Integration โญ
Dockable panels for complex workflows

AvalonDock
๐ŸŽจ Custom Background Blocks
Visual diff and data highlighting

CustomBackgroundBlock

๐Ÿ“š Documentation

Quick References

Document Description
GETTING_STARTED.md ๐Ÿ‘จโ€๐Ÿ’ป Complete tutorial with code examples
FEATURES.md ๐Ÿ“Š Full V1 vs V2 comparison (163 features)
MIGRATION.md ๐Ÿ”„ V1โ†’V2 migration guide (zero code changes)
CHANGELOG.md ๐Ÿ“ Version history and changes

Architecture & API

Document Description
Architecture Overview ๐Ÿ—๏ธ Complete system architecture with diagrams
Core Systems โš™๏ธ ByteProvider, Position Mapping, Edit Tracking, Undo/Redo, Rendering, Services
Data Flow ๐Ÿ”„ File operations, Edit operations, Search, Save sequences
API Reference ๐Ÿ“– Complete API documentation with examples

Code Organization

Folder Description
PartialClasses/ ๐Ÿ“‚ HexEditor organized by functionality (Core, Features, Search, UI)
Services/ ๐Ÿ”ง 15 specialized services (Search, Clipboard, Bookmarks, etc.)
Core/Bytes/ ๐Ÿ’พ ByteProvider system and data management

Sample Applications

Sample Description
C# WPF Sample Main comprehensive demo with all features
AvalonDock Sample IDE-like dockable interface
BarChart Sample Visual data analysis
WinForms Sample Windows Forms integration
Binary Diff Sample File comparison tool
Insert Anywhere Sample Dynamic insert/delete operations
Service Usage Sample Console app (headless usage)

โ†’ Browse all samples with documentation


๐Ÿ›’ Features Highlight

Core Capabilities

  • โœ… Multi-format editing - Hex, Decimal, Binary, Octal
  • โœ… Multi-byte support - 8/16/32-bit values with endianness control
  • โœ… Insert/Overwrite modes - Full insert mode support (Issue #145 fixed)
  • โœ… Unlimited Undo/Redo - Complete history management
  • โœ… Copy as code - Generate byte arrays for C#, VB, Java, Python, etc.

Advanced Features

  • ๐Ÿ” LRU Search Cache - 10-100x faster repeated searches
  • โšก SIMD Vectorization - Hardware-accelerated search (AVX2/SSE2)
  • ๐Ÿ”„ Parallel Multi-Core - Automatic for files > 100MB
  • ๐Ÿ“ Scrollbar Markers - Visual indicators for search/bookmarks/changes and selection!
  • ๐Ÿ“Š BarChart View - Byte frequency visualization
  • ๐ŸชŸ AvalonDock Support - Professional IDE integration
  • ๐ŸŒ 9 Languages - English, Spanish, French, Polish, Portuguese, Russian, Chinese

Developer Features

  • ๐Ÿ—๏ธ MVVM Architecture - ViewModel, RelayCommand, INotifyPropertyChanged
  • โฑ๏ธ Async Operations - Progress reporting + cancellation
  • ๐ŸŽจ Fully Customizable - Colors, fonts, themes, display modes
  • ๐ŸŽฎ TBL File Support - Custom character tables for ROM hacking
  • ๐Ÿ“‹ Rich Events - 21+ events for fine-grained control

โ†’ See complete feature matrix (163 features)


๐Ÿ”ง Supported Frameworks

WPF HexEditor uses multi-targeting for maximum compatibility:

Framework Version Performance Level
.NET Framework 4.8 โšก Fast (99% rendering, LRU cache, parallel)
.NET 8.0-windows โšกโšกโšก Blazing (+ Span<T>, SIMD, PGO)

Single NuGet package works for both! The correct binary is automatically selected based on your project's target framework.

Recommendation: Use .NET 8.0 for maximum performance (Span<T>, SIMD, Profile-Guided Optimization).


๐Ÿ› Critical Bug Fixes (V2)

Bug V1 Status V2 Status
Issue #145: Insert Mode โš ๏ธ Critical โœ… FIXED (commit 405b164)
Save Data Loss โš ๏ธ Critical โœ… FIXED (multi-MB corruption resolved)
Search Cache Invalidation โš ๏ธ โœ… FIXED (all 11 modification points)
Binary Search O(m)โ†’O(log m) โš ๏ธ โœ… FIXED (100-5,882x faster)

All production-critical bugs resolved. V2 is production-ready. โœ…

โ†’ See detailed bug fix documentation


โญ Support This Project

WPF HexEditor is 100% free and open source (Apache 2.0). It can be used in personal projects, commercial applications, and everything in between.

This project is developed in free time by passionate contributors. If you find it useful:

  • โญ Star this repository - It helps others discover the project!
  • ๐Ÿด Fork and contribute - Pull requests are always welcome
  • ๐Ÿ’ฌ Share feedback - Report bugs or suggest features
  • ๐Ÿ“– Improve documentation - Help others get started

Every star motivates us to keep improving! ๐Ÿ™


๐Ÿค Contributing

We welcome contributions! The comprehensive documentation makes it easy to understand the codebase:

How to contribute:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes (see Architecture Guide for design patterns)
  4. Test your changes
  5. Submit a pull request

โ†’ See contribution guidelines


๐Ÿ“ License

Apache License 2.0 - Free for personal and commercial use.

See LICENSE file for details.


๐Ÿ“ง Contact & Support



โœจ WPF HexEditor V2 โœจ
A powerful, well-documented hex editor control for .NET

Created by Derek Tremblay (abbaye)
V2 Contributor: Claude Sonnet 4.5
V1 (Legacy) Contributors: ehsan69h, Janus Tida

Coded with โค๏ธ for the community! ๐Ÿ˜Š๐ŸคŸ (with a touch of AI magic โœจ)


๐Ÿš€ Quick Start โ€ข ๐Ÿ“– Tutorial โ€ข ๐Ÿ“Š Features โ€ข ๐Ÿ”„ Migration โ€ข โญ Star Us


About

WPF HexEditor v2 is a powerful, high-performance hex editor control for .NET applications. Built with modern MVVM architecture and optimized for files from bytes to gigabytes, it delivers professional-grade binary editing

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 14