Skip to content

View providers, custom sections

Compare
Choose a tag to compare
@WerWolv WerWolv released this 14 Nov 09:41
· 2396 commits to master since this release

Additions

  • All tool windows can now be detached
  • Added a RGBA8 image visualizer node to the data processor
  • Added a uninstall target to the build script. Thanks to @iTrooz
  • Added CTRL + SHIFT + Z as a Undo shortcut. Thanks to @iTrooz
  • Added a menu to the Edit menu to automatically place a pattern type at the current selection
  • New files are now created in memory and only turned into actual files when saved
  • Added Paste all option to paste all bytes and resize the provider accordingly if it's too small
  • Added Display Buffer, Display String, Arithmetic Average, Arithmetic Median and Buffer Patch data processor nodes
  • Added a setting to disable loading of unicode characters. Thanks to @iTrooz
  • ImHex now no longer makes any web requests unless specifically instructed to do so by the user. Thanks to @iTrooz
  • Added a new View provider to open a view of section of another provider in a new tab

Improvements

  • Non-existing folders are now displayed in red in the paths list. Thanks to @iTrooz
  • Visualizer data processor nodes now only show a bigger view of their content if SHIFT is held down
  • Greatly improved various error messages. Thanks to @iTrooz
  • Improved precision of data passed between nodes in the data processor
    • Integers now use a i128 internally instead of a i64 and floats use a long double instead of a float
  • Various pattern editor settings are now unique per provider
  • Yara rule matching can now be interrupted
  • Multiple Yara rules can now be applied at the same time
  • Limited the maximum window name length to 32 characters
  • Improved window scaling on macOS
  • The pattern editor now always inserts spaces instead of tabs

Bug Fixes

  • Fixed a crash when loading a new provider after evaluating pattern source code
  • Fixed issues when modifying bytes on any pages but the first one
  • Fixed editing not working on some Linux systems
  • Fixed a crash when scrolling to the end of a file that's a multiple of 8 bytes long
  • Fixed an issue that prevented pattern auto loading to work correctly on Windows. Thanks to @Asvel
  • Fixed opening multiple files by dragging them onto the window

Pattern Language

  • Added custom sections support
    • This feature allows you to dynamically create new memory regions, write data to them and then place patterns in them
    • This is useful for encrypted, compressed or otherwise transformed data
  • Allow casting of strings to integers for magic numbers. For example u32("ABCD") turns into 0x44434241
  • Fixed template types not being correctly cleared on reset
  • Fixed creating global arrays of certain types
  • Fixed a crash when validating infinitely recursive types
  • Fixed issues when returning custom types from inside of a conditional
  • Fixed printing of zero sized arrays
  • Fixed [[hidden]] attributes not applying to top level patterns
  • Evaluation time is now being displayed in the console once execution finished
  • Removed some unneeded overhead
  • Fixed format function memory leak
  • Fixed sizeof(this) yielding incorrect results
  • Fixed some statements not being executed at all in global scope
  • Greatly improved the speed of std::hash::crc32
  • Added std::core::is_valid_enum function to check if a enum has a valid representation

If you like my work, please consider supporting me on GitHub Sponsors, Patreon or PayPal. Thanks a lot!

GitHub donate button Patreon donate button PayPal donate button