github WerWolv/ImHex v1.36.0
We're back!

one day ago

First of all, massive thanks to @paxcut, @iTrooz and @jumanji144 who fixed and maintained ImHex while I was not around.

Features

  • Added a loop node to the data processor
    • This should allow for much more complex data processing
  • Added support for enumerating system fonts on Linux. Thanks to @ColinKinloch
  • The pattern hover tooltip of the hex editor now shows the offset to its parent
  • Massive improvements to the Pattern Editor. Huge thanks to @paxcut
    • The editor works much more like other editors
    • There's way too many improvements to list them all. Just try it out yourself!
  • Added a quarter precision option to the IEEE 754 tool
  • Added customizable segment separators to the hex editor view
  • Added annotations to the data information view where big entropy dips or spikes are detected
  • Added an export option to the disassembler view. Thanks to @BioTheWolff
  • Added "Disassemble selection" option to the Edit menu
  • Added Image base address and Image load address options to the disassembler
  • Added option to paste strings into the hex editor view

Improvements

  • Improved and modernized the look and feel of various views
  • Demangling now works correctly with identifiers that do not start with an underscore
  • The data processor now runs in the background so it doesn't freeze up the UI anymore
  • The table in the diff view is now resizable
  • When clicking on a diff in the diff view, the same region is now being selected in the main hex editor view
  • Hovering over patterns in the hex editor should not tank the frame rate anymore in some cases
  • Pattern descriptions are now being displayed in the accept pattern popup
  • stderr is not being completely suppressed anymore now
  • Inline visualizers may now be used in custom data inspector rows
  • Improved 3D visualizer error handling
  • Improved naming and shortcut display for various menu items
  • Command palette results (such as the calculator) may now be clicked to move their result back into the palette input
  • Updated ImGui to latest version

Bug Fixes

  • ImHex won't try to connect to the API anymore on startup now if server contact is disabled
  • The log is no longer being spammed with error messages now if an invalid data region is being viewed in a process data provider
  • Fixed 3D visualizer textures not being rendered correctly
  • Fixed issues when hashing large data regions
  • Fixed multiple race conditions that could crash ImHex while patterns were being sorted
  • Achievements should no longer reset now after a restart
  • Fixed issue where CRC64 parameters in the hash view were limited to 32 bit
  • Fixed issues with shortcuts using CTRL instead of CMD on macOS
  • Fixed inserting bytes at the start of the file using insert mode not working correctly

Pattern Language

  • Added various new built-in types
    • Types such as hex::type::Json for decoding json strings or hex::type::Instruction for disassembling bytes.
  • Added option to import existing patterns into other patterns.
    • You can for example use import * from elf as ELF; and then place the ELF type anywhere you want to decode ELF data there.
  • Added lz4 decompression support
  • Added reinterpret-expressions in the form of pattern as OtherType.
    • If both sides have the same size, this will interpret the bits of patterns as a OtherType type
  • Added functions to change the pattern color palette and reset the current palette progress
  • Processing patterns after evaluation has finished should be much quicker now
  • The bitmap visualizer can now handle indexed colormaps. Thanks to @paxcut
  • Added [[fixed_size]] attribute to set the minimum size of a type to a fixed value or throw an error if the type gets larger than this
  • Enums are no longer evaluated on every use
  • Added user-defined literals in the form of 123_literal or "Test"_literal(1, 2, 3)
  • Added a IMPORTED macro that's defined when a file is being imported by another
  • Various preprocessor and lexer improvements. Thanks to @paxcut

Note

  • Ubuntu 22.04 support has been dropped in favor of 24.04 and 24.10. Please use the AppImage or Flatpak if you're still on a older version
  • Support for Fedora 39 has been dropped in favor of Fedora 41. Please use the AppImage or Flatpak if you're still on a older version
  • The macOS builds require macOS 13.0 now at least since GitHub retired their old macOS 12.0 runners. Please update your machine to the latest macOS version to keep using ImHex or compile it yourself from sources.

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

Don't miss a new ImHex release

NewReleases is sending notifications on new releases.