Skip to content

Bug fixes for Massive UX improvements, Custom Disassemblers, MSVC support

Latest
Compare
Choose a tag to compare
@WerWolv WerWolv released this 18 Feb 10:18
· 10 commits to releases/v1.37.X since this release

image
image
image

Bug Fixes

  • Fixed large memory allocations when printing error messages in some cases
  • Fixed an issue that caused the pattern editor to shift to the left when clicking evaluate
  • Fixed a crash when a custom disassembler returned no bytes
  • Fixed incorrect native scaling value when using fractional scaling on Wayland
  • Moving the ImHex window between two screens with different DPI on Windows works better now
  • Fixed a crash when loading a project with a saved process memory provider
  • Fixed closing one Selection View causing all other Selection Views to become unusable
  • Fixed a crash when selecting an invalid font
  • Fixed the pattern editor losing focus when auto evaluate is on

Previous Version

Features

  • ImHex now properly supports HiDPI scaling on Windows, macOS and Linux!
  • ImHex now uses the native menu bar on macOS
  • You can now set separate fonts for the main UI, the Hex Editor and the Pattern Editor
  • Added a new ARM64 AppImage release as well as a WebAssembly release to self-host ImHexWeb
  • ImHex can now be fully compiled using MSVC and ClangCL on Windows! Huge thanks to @mrexodia
    • The main releases are still built with MinGW but this should hopefully make it easier to contribute to ImHex!
  • We now provide build attestation for each build generated through our CI so you can verify exactly from which run an artifact has been built
  • Added initial support for custom disassemblers
    • This lets you define disassemblers for custom instruction sets using a simple JSON format
  • Added messaging support for macOS and Linux
    • This allows you to use ImHex as a command line tool on macOS and Linux to control the currently open ImHex instance
    • For example imhex --open "SomeFile.bin" --select 0x100 0x200 will open the SomeFile.bin file in the current instance and then select addresses 0x100 to 0x200
  • Added Russian translation! Huge thanks to @Lemon4ksan
  • Added a title bar backdrop color gradients and accent colors
  • Added utf16 and utf32 string and char types
  • Added option to randomize window title
    • In case some stupid anti-cheat is trying to detect ImHex in the future :)
  • Added new --select, --pattern and --debug-mode subcommands
  • Added support for OpenGL post processing shaders
    • This lets you load custom shaders now by placing a shader.vert and shader.frag file in one of the ImHex resource folders.
    • These shaders can apply any post processing to the rendered image
  • Added New File option to the GNOME launcher and a --new cli option
  • Added support for scanning binaries for UTF-8 strings
  • Added visibility toggle to hide bookmark highlighting
  • Added option to fit hex columns to screen width
  • Added setting to disable hex editor highlights entirely
  • Added a preview to the Edit -> Copy as options
  • Added "Jump to address" option to data inspector row context menu
  • Added option to change radix of numbers in hex editor view
  • Added context menu and next/previous buttons to the data inspector
  • Added option to move selection back to hex editor footer
  • Added option to copy data as escaped string
  • Added shortcut for Copy as -> Custom Encoding

Improvements

  • Replaced the Windows and Linux app icon with the one from the Papyrus Icon Project!
  • The DMG on macOS now looks a lot nicer than before
  • Revamped the frame rate limiting system to make ImHex feel much less laggy by default and make it use less CPU resources
  • ImHex now uses Jetbrains Mono as its default font instead of the ImGui default font
  • The settings window can now be resized
  • The ImHex window is now hidden on macOS when close button is pressed
  • Allowed all highlights to overlap each other
  • Allowed the favorite column in the pattern data view to be hidden
  • Allowed command palette to be closed by clicking on the menu bar
  • All installed content store items are now force updated after an ImHex update

Bug Fixes

  • Fixed various issues with the auto updater
  • RGBA8 data processor node not working correctly
  • Very slow processing of large pattern console outputs
  • Windows forwarder application not working when piping output
  • Writing not working correctly through a provider view
  • Crash on Linux if XDG_SESSION_TYPE is not set
  • Crash when closing ImHex with one or more view providers open
  • Uninitialized buffers in resize operation
  • Exception being thrown while loading projects
  • Crash when certain pattern language exceptions were thrown
  • Pattern Editor shortcuts not working correctly on different languages (#2085)
  • Pattern Editor Find and Replace history (#2064)
  • Crash in 3D Visualizer, improved error messages (#2062)
  • Disable bogus Keypad to function key conversions on macOS
  • Empty regions in Intel Hex and Motorola SREC files not being displayed correctly
  • Make sure provider switch buttons and close button don't overlap
  • Hang when filtering for a large number of items in the pattern data view
  • Off-by-one when calculating hashes of selected regions
  • ImHex freezing on AMD GPUs when resizing
  • Rendering issues with text editor in bookmark view
  • Ctrl sometimes getting stuck when pressing ALT GR and other keys at the same time
  • Missing endian setting in ARM64 disassembler
  • Clicking past end of line in text editor putting cursor before last character

Pattern Language

  • The evaluator now tries to keep as many patterns as it possibly can when an error occurs
  • Added cursor positions to the error stack traces
  • Exported global variables are now displayed in the output
  • Added support for rvalue assignments inside of structs
  • Fixed various issues when importing patterns as types
  • Make decompress functions return number of read bytes
  • Allow #pragma magic to index from the end of the data with negative addresses
  • Fixed error spam when encountering an error in the Lexer

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