Command Line Interface, .NET scripts, Achievements
Additions
- Added a command line interface to ImHex. Huge thanks to @iTrooz
- Get started by typing
imhex --help
- Get started by typing
- Added initial support for .NET scripts
- These scripts are meant to be a cross-platform way of performing automated actions.
- They cannot be used to add new features like native plugins can
- Special thanks to @PerikiyoXD for some really involved fixes around this
- Added Achievements
- These are meant to provide an easy and fun way to learn and get used to ImHex
- The achievement window can be opened by going to Extras -> Achievement
- If you don't like the achievements and just want to use ImHex like before, open the achievements window and disable the popups there
- Added a new and much nicer splash screen
- Allow memory files to be saved to project files and be renamed
- Files can also be converted to memory files now
- Added support for hashing arbitrary strings using the hashes view
- Added built-in logging console
- Allow hex editor data visualizers to be switched to big-endian mode
- Upgraded to Capstone V5 finally
- Encoding names are now being displayed in the header of the hex editor
- Added a "Update All" button to the content store
- Linux now uses the GTK filepicker whenever possible
- This should correct issues where the file picker didn't work correctly on some Linux systems by default
- The AppImage and Flatpak still use the Portals filepicker because it's necessary there
- The hex editor editing mode is now being entered when pressing Enter
- Added a setting to remember the current main window size and position
- Added option to fill a selected region with bytes
- Added option to switch between human-readable sizes and bytes in the hex editor footer. Thanks to @LennardF1989
- Removed Anonfiles file uploader. Rest in Peace ✝️
- Added windo actions popup when clicking on the header icon
- Added authors and descriptions to things in the content store
- Added shortcuts to switch between providers, evaluate patterns and interact with the pattern debugger
Improvements
- Improved the data information diagrams look and field
- Multi-window support is now being disabled properly by default on Linux
- Plugins are now being loaded asynchronously to improve startup times
- Pattern console is automatically scrolled to the bottom now when new lines are being added
- Unidentifiable data is being handled better now in the data information view
- Allow hex editor view to be scrolled slightly past the end
- Made demangler results selectable and copyable
- Timestamp of files is being updated correctly now on Windows. Thanks to @lorsanta
- ImHex should now exit cleanly when crashing
- Bytes per row count setting in the hex editor is being remembered now. Thanks to @LennardF1989
Bug Fixes
- Fixed raw disk provider not working correctly on non-windows platforms. Thanks a lot to @Nowilltolife
- Fixed disassembler view not clearning selection when typing in the region field
- Fixed page count displaying wrongly in empty files
- Fixed crash when trying to paste bytes without a selection
- Fixed occasional crash when evaluating patterns
- Fixed scaling not being applied properly in some cases
- Fixed bookmarks not being loaded correctly from project files
- Fixed menu bar being scrollable sideways
- Fixed loading projects when an existing project is loaded already
- Fixed issues where the cursor started flickering when hovering certain elements
- Fixed crash when clicking on "Open in new view" in a bookmark
- Fixed occasional crash when loading incorrect data processor node files
- Fixed writing to non-zero pages in the hex editor when a custom base address has been set
- Fixed issue where libmagic dumped a bunch of compiled files into the cwd on Linux and macOS. Thanks to @iTrooz
- Fixed endianess of all CRC hashes
- Fixed highest/lowest entropy block address in the data information view being wrong
- Fixed issue where downloading items from the store was suceptible for path traversal. Thanks to @iTrooz
- Fixed various data processor issues
Pattern Language
- Added
typenameof
operator - Added
[[hex::favorite]]
attribute to mark patterns as favorites directly - Added
[[hex::group]]
attribute to add patterns to custom groups in the pattern data view - Added single-stepping feature to pattern debugger
- Added coordinates visualizer
- Added timestamp visualizer
- Images in the pattern image and bitmap visualizer can now be scaled
- Added various new inline visualizers such as "color", "guage" and "button"
- Format functions are no longer being evaluated during highlighting
- Sections without a name are being hidden now and treated as "internal" sections
- Added
[[hex::spec_name]]
attribute to document names for pattern variables taken from the documentation - Added string in/out variables
- Fixed issue where pattern local variables sometimes allocated huge amounts of memory
If you like my work, please consider supporting me on GitHub Sponsors, Patreon or PayPal. Thanks a lot!