Changelog
Additions
- Added official support for MacOS
- Made possible by @Thog's amazing contributions to the build system
- Added Plugin support
- Allows creation of custom windows, custom entries to the Tools window and custom data providers
- An example can be found under
/plugins/example
- Rewrote the entire pattern language parser and evaluator
- The language is now faster, more robust and has much less issues
- A in-depth guide for all the features in the Pattern Language can now be found in the Wiki
- Many new features have been added to the pattern language
- Added mathematical expressions with many operators, bit operators and value access
- Added a much more featureful way of using values of other variables everywhere where a number is required
- Added conditional statements for structs and unions (
if
,else
andelse if
) - Added back zero sized array. These will simply be ignored
- Added scope resolution operator for using enum values in expressions
- Added built-in functions to find sequences and read values at addresses
- Added boolean patterns
- Added unsized character arrays for null-terminated strings
- Use file memory mapping instead of using standard file IO
- This greatly increases performance on older computers and brings down background file IO to a minimum.
- Added Decimal, Hexadecimal and Octal number format options to data inspector
- Added nightlies for all platforms
- Added full DPI scaling
- Added custom font support
- To use this, place your font named
font.ttf
next to the executable
- To use this, place your font named
- Added version info to about page
- Version info, current commit hash and branch are shown
- Added selected region information to hex editor footer
- Various UI/UX improvements
Bug fixes
- Greatly improved byte highlighting performance
- Previously, when scrolling down with a big pattern running, huge slowdowns started happening. The algorithm used for highlighting has been greatly improved to fix this.
- Fixed opening of files with a non-ASCII file path
- Fixed crashes with zero-sized arrays
- Fixed byte selection in read-only files
- Fixed ImHex refusing to be closed in some circumstances
- Fixed data inspector not updating in all cases
- Fixed ASCII characters drawing above the hex editor footer
- Fixed floating point displaying in pattern data view
- Fixed pattern data not updating when a new file is loaded