Screenshots
Additions
- Added support for selecting OTF font files as custom fonts
- Added a new Division by Invariant Multiplication calculator tool
- Added support for specifying multiple Yara rules to be executed in order
- Added support for custom Nodes in the data processor
- These nodes can be created directly in the editor and then exported and shared
- We have a new section in the WerWolv/ImHex-Patterns repo for sharing these nodes!
- Added support for specifying input values for integer and float inputs on nodes directly on the node itself
- Added new builds for Fedora Rawhide, RHEL and AlmaLinux. Thanks to @jonathanspw
- Resources such as patterns, includes and scripts can now be loaded from folders relative to the current project file
- Task progress is now being displayed in the Taskbar on Windows
- Added basic stack trace output on crash
- Added support for macOS keyboard shortcut layouts. Thanks to @Kuruyia
- Added support for saving more things to project files
- Added a Base64 file exporter
- Added option to copy the selected custom encoding string
- Added a wait popup when Tasks are still running when ImHex is being closed
- Added option to import patches from a modified version of the same file
Improvements
- Project is now correctly closed when all providers have been closed. Thanks to @iTrooz
- Improved handling of Projects in general
- Improved native scaling handler on macOS
- Added a short description to the IEEE754 decoder tool
- Reordered File menu to make more logical sense
- Allow .yar and .yara files to be loaded
- Added better error messages for importing/exporting IPS patches
- The process memory provider's process and module list can now be searched case-insensitively
- The find view string finder can now be searched case-insensitively
- Updated Japanese translation. Thanks to @Berylskid
- Updated the German translation
Bug Fixes
- Fixed IEEE 754 tool typo. Thanks to @ivq
- Fixed the editing cursor not advancing automatically after the first page of data
- Fixed Intel Hex and Motorola SREC files not being openable on macOS
- Fixed issues with Yara rules not being able to include other rules
- Fixed exceptions not displaying their error messages correctly
- Fixed logs always being saved to user folders, even on portable releases
- Fixed ImHex not being able to load properly in portable mode from a folder without permissions
- Fixed rare crash when loading providers
- Fixed importing of IPS and IPS32 patches being broken
- Fixed find view not correctly accepting hexadecimal values
- Fixed copying bytes from non-zero pages not working correctly
- Fixed rendering of custom encodings on non-zero pages
- Fixed CRC8 hashing algorithm displaying 16 bits instead of 8
- Fixed loading of Hex and SREC files with new lines in them
- Fixed last row in diff view always being displayed as zeros
Pattern Language
- Added various Visualizers to graphically visualize patterns and binary data
- Currently available Visualizers are
line_plot
,scatter_plot
,image
,bitmap
,disassembler
,3d
,sound
- Currently available Visualizers are
- Added option to automatically expand or flatten the pattern data tree
- Added support for specifying local variables inside of structs
- Added ability to query various informations from the currently loaded provider
- Added
const
variables application/octet-stream
is no longer considered a valid MIME type as it matches any unknown format- Bitfield field bit addresses now always specify the offset from the start of the bitfield instead of from the start of the current byte
- Fixed editing of static array values
- Fixed various issues with recursion
- Fixed character patterns not always being formatted correctly
- Fixed crash when removing out variables
- Fixed string conversions not properly trimming values
- Added better array out of bounds checks for arrays
- Custom patterns are now always being passed as references implicitly
- Fixed only the last pragma of a specific type to be executed
- Added support for attributes with more than one parameter
- Allow
this
to be used in variable attributes to refer to the current variable - Fixed printing of strings with null bytes in them
- Fixed pointer values being evaluated twice
- Added
null
keyword - Fixed
#endif
directives requiring a space behind it to work - Added
format_read_entries
,format_write_entries
andtransform_entries
attributes - Added
highlight_hidden
attribute to disable highlighting of the current pattern
If you like my work, please consider supporting me on GitHub Sponsors, Patreon or PayPal. Thanks a lot!