Skip to content

Releases: WerWolv/ImHex

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

18 Feb 10:18
Compare
Choose a tag to compare

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

Massive UX improvements, Custom Disassemblers, MSVC support

16 Feb 16:37
Compare
Choose a tag to compare

image
image
image

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

Startup fix

28 Dec 15:37
Compare
Choose a tag to compare

This release is identical to v1.36.1 except that it fixes a crash on startup when ImHex is launched for the first time.

Improvements

  • After an update, all items that were downloaded from the content store are now being updated as well
  • The command palette can now be closed by clicking on the menu bar

Bug Fixes

  • Fixed various issues with shortcuts not working
    • Updating to this version will force-reset all shortcuts you customized back to their default to clear this issue
    • This will only be done once. You may customize your shortcuts again afterwards
  • Fixed an issue that caused the CTRL key to sometimes get stuck on Keyboard layouts that mapped ALT GR to CTRL + ALT
    • This was most noticeable when writing patterns in the pattern editor
  • Fixed highlighting in interactive tutorials not working correctly anymore
  • Fixed saving files from the web version not working correctly
  • Fixed achievements in the web version not being saved correctly
  • Fixed a crash that would occur when disassembling bytes
  • Fixed occasional crashes when resizing the window
  • Fixed description of the "--reset-settings" subcommand
  • Fixed some rendering issues with the description text editor in bookmarks

Previous Release

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

Shortcut fixes

28 Dec 13:33
Compare
Choose a tag to compare

Improvements

  • After an update, all items that were downloaded from the content store are now being updated as well
  • The command palette can now be closed by clicking on the menu bar

Bug Fixes

  • Fixed various issues with shortcuts not working
    • Updating to this version will force-reset all shortcuts you customized back to their default to clear this issue
    • This will only be done once. You may customize your shortcuts again afterwards
  • Fixed an issue that caused the CTRL key to sometimes get stuck on Keyboard layouts that mapped ALT GR to CTRL + ALT
    • This was most noticeable when writing patterns in the pattern editor
  • Fixed highlighting in interactive tutorials not working correctly anymore
  • Fixed saving files from the web version not working correctly
  • Fixed achievements in the web version not being saved correctly
  • Fixed a crash that would occur when disassembling bytes
  • Fixed occasional crashes when resizing the window
  • Fixed description of the "--reset-settings" subcommand
  • Fixed some rendering issues with the description text editor in bookmarks

Previous Release

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

We're back!

24 Dec 13:05
Compare
Choose a tag to compare

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

Eradicate window flickering, improve pattern highlighting performance, crash fixes

09 Jul 06:39
811214d
Compare
Choose a tag to compare

Improvements

  • Pattern hover highlighting performance has been drastically improved
  • Completely eradicated any Window flickering during resizes on Windows and the Web
  • Toolbar items now have tooltips
  • The web version can now be properly used on mobile and with touch inputs
  • Custom plugins can once again be built using the SDK
  • File dialogs now belong to the ImHex window on Linux. Thanks a lot to @btzy

Bug Fixes

  • Fixed a crash that triggered when an auto backup was being created on macOS
  • Fixed liblzma not being configured in correctly on all OSes
  • Having debug mode enabled in a pattern no longer makes the UI lag out after evaluation
  • The find and goto popups no longer go transparent when opening a combo box within them
  • Fixed a rare crash when re-evaluating patterns while a sorting option was selected

Pattern Language

  • Added builtin crc8, crc16 and crc64 hash functions
  • The crc functions can now also be used with strings
  • Fixed a bug where patterns passed to non-type template parameters would get hidden
  • std::mem::find_sequence and co are now HUNDREDS of times faster. This includes std::mem::MagicSearcher

Previous Release

Additions

  • Added basic process memory provider support to macOS
    • Due to limitations on Apple's side, this only works with SIP disabled
  • View providers can now be renamed
  • Added options to load files into memory or read data from disk instead, independent of the file size
  • Find results can now be exported as CSVs, TSVs and JSONs. Thanks a lot to @SparkyTD
  • Added various per-byte highlights to the hex editor minimap
    • The minimap can now display the highlighting of individual bytes
  • Added a digital signal pattern visualizer
  • The pattern data view now uses nicer colors and strings to convey information
  • The recent files section on the welcome screen can now be collapsed
  • You can now scroll the hex editor view faster by holding down CTRL or even faster when holding down SHIFT + CTRL
  • Added a --reset-settings CLI command to clear all settings in case something gets corrupted

Improvements

  • Drastically improved rendering times
  • Added a small moon icon to the welcome screen in nightly builds
  • Providers now close instantly
  • The hex editor view no longer scrolls when jumping to a selection that's already visible
  • Auto project backups are now enabled by default
  • Custom data inspector rows now display a nice error message in the UI when they encountered an error
  • Bookmark reordering now doesn't swap entries anymore and actually works as expected
  • ImHex now displays a little dot in the close button on macOS if there's unsaved changes
  • Auto backups no longer remove the dirty status of providers anymore
  • SIGINT signals are now being handled to not close ImHex immediately anymore but to show a popup
  • UI scaling factors are now limited between 0.1x and 4.0x to prevent issues
    • Larger values are still possible by CTRL-clicking into the slider and entering a value manually
  • PageUp + PageDown no longer affects the hex editor selection
  • Row highlighting in the pattern data view is now less bright so the text has a better contrast

Bug Fixes

  • ImHex can now properly load files stored on network drives on Windows
  • Fixed crashes when searching for certain regex strings
  • Fixed an infinite loop when searching forward/backward with CTRL + F
  • Fixed loading of layout files
  • Fixed fonts being blurry in some cases
  • Bookmark regions can now be set to 1 byte
  • Fixes Alt and Ctrl being swapped in the text editor on macOS
  • Fixed disassembler always disassembling in little endian
  • ImHex no longer tries to store files in system paths now
  • Fixed an infinite loop when exporting data selections to a file. Thanks a lot to @FireNX70
  • Fixed file name display issues with files that contain unicode characters
  • Fixed content store getting stuck sometimes when updating multiple items at once

Pattern Language

  • continue and break now work as one would expect
  • Added std::core::execute_function()
  • Arrays can now be initialized using the following syntax:
    • u32 myArray[5] = { 1, 2, 3, 4, 5 };
  • Added support for constants inside of custom types
  • Unsigned, signed and floating point patterns no longer display their hex value in their value by default
  • Fixed [[no_unique_address]] not working correctly with bitfields
  • Patterns are now highlighted in the hex editor view when hovering over them in the pattern data view
  • Patterns in the pattern data view table are now highlighted when they are fully selected in the hex editor view
  • Bitfields can now be properly edited in the pattern data view
  • The filter in the pattern data view now gets correctly applied again after re-evaluating a pattern

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

Hotfix hotfix hotfix for "Rendering speed optimizations, bitfield improvements"

29 Jun 19:57
Compare
Choose a tag to compare

Hot fix because default folders even still weren't created correctly on Linux and macOS
Additionally this patch fixes that standard magic files weren't bundled properly anymore and a crash on exit

ImHex is extremely smooth now:
https://twitter.com/WerWolv/status/1806807278416281861

Additions

  • Added basic process memory provider support to macOS
    • Due to limitations on Apple's side, this only works with SIP disabled
  • View providers can now be renamed
  • Added options to load files into memory or read data from disk instead, independent of the file size
  • Find results can now be exported as CSVs, TSVs and JSONs. Thanks a lot to @SparkyTD
  • Added various per-byte highlights to the hex editor minimap
    • The minimap can now display the highlighting of individual bytes
  • Added a digital signal pattern visualizer
  • The pattern data view now uses nicer colors and strings to convey information
  • The recent files section on the welcome screen can now be collapsed
  • You can now scroll the hex editor view faster by holding down CTRL or even faster when holding down SHIFT + CTRL
  • Added a --reset-settings CLI command to clear all settings in case something gets corrupted

Improvements

  • Drastically improved rendering times
  • Added a small moon icon to the welcome screen in nightly builds
  • Providers now close instantly
  • The hex editor view no longer scrolls when jumping to a selection that's already visible
  • Auto project backups are now enabled by default
  • Custom data inspector rows now display a nice error message in the UI when they encountered an error
  • Bookmark reordering now doesn't swap entries anymore and actually works as expected
  • ImHex now displays a little dot in the close button on macOS if there's unsaved changes
  • Auto backups no longer remove the dirty status of providers anymore
  • SIGINT signals are now being handled to not close ImHex immediately anymore but to show a popup
  • UI scaling factors are now limited between 0.1x and 4.0x to prevent issues
    • Larger values are still possible by CTRL-clicking into the slider and entering a value manually
  • PageUp + PageDown no longer affects the hex editor selection
  • Row highlighting in the pattern data view is now less bright so the text has a better contrast

Bug Fixes

  • ImHex can now properly load files stored on network drives on Windows
  • Fixed crashes when searching for certain regex strings
  • Fixed an infinite loop when searching forward/backward with CTRL + F
  • Fixed loading of layout files
  • Fixed fonts being blurry in some cases
  • Bookmark regions can now be set to 1 byte
  • Fixes Alt and Ctrl being swapped in the text editor on macOS
  • Fixed disassembler always disassembling in little endian
  • ImHex no longer tries to store files in system paths now
  • Fixed an infinite loop when exporting data selections to a file. Thanks a lot to @FireNX70
  • Fixed file name display issues with files that contain unicode characters
  • Fixed content store getting stuck sometimes when updating multiple items at once

Pattern Language

  • continue and break now work as one would expect
  • Added std::core::execute_function()
  • Arrays can now be initialized using the following syntax:
    • u32 myArray[5] = { 1, 2, 3, 4, 5 };
  • Added support for constants inside of custom types
  • Unsigned, signed and floating point patterns no longer display their hex value in their value by default
  • Fixed [[no_unique_address]] not working correctly with bitfields
  • Patterns are now highlighted in the hex editor view when hovering over them in the pattern data view
  • Patterns in the pattern data view table are now highlighted when they are fully selected in the hex editor view
  • Bitfields can now be properly edited in the pattern data view
  • The filter in the pattern data view now gets correctly applied again after re-evaluating a pattern

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

Hotfix hotfix for "Rendering speed optimizations, bitfield improvements"

29 Jun 18:08
Compare
Choose a tag to compare

Hot fix because default folders still weren't created correctly on Linux and macOS
Additionally this patch fixes that standard magic files weren't bundled properly anymore

ImHex is extremely smooth now:
https://twitter.com/WerWolv/status/1806807278416281861

Additions

  • Added basic process memory provider support to macOS
    • Due to limitations on Apple's side, this only works with SIP disabled
  • View providers can now be renamed
  • Added options to load files into memory or read data from disk instead, independent of the file size
  • Find results can now be exported as CSVs, TSVs and JSONs. Thanks a lot to @SparkyTD
  • Added various per-byte highlights to the hex editor minimap
    • The minimap can now display the highlighting of individual bytes
  • Added a digital signal pattern visualizer
  • The pattern data view now uses nicer colors and strings to convey information
  • The recent files section on the welcome screen can now be collapsed
  • You can now scroll the hex editor view faster by holding down CTRL or even faster when holding down SHIFT + CTRL
  • Added a --reset-settings CLI command to clear all settings in case something gets corrupted

Improvements

  • Drastically improved rendering times
  • Added a small moon icon to the welcome screen in nightly builds
  • Providers now close instantly
  • The hex editor view no longer scrolls when jumping to a selection that's already visible
  • Auto project backups are now enabled by default
  • Custom data inspector rows now display a nice error message in the UI when they encountered an error
  • Bookmark reordering now doesn't swap entries anymore and actually works as expected
  • ImHex now displays a little dot in the close button on macOS if there's unsaved changes
  • Auto backups no longer remove the dirty status of providers anymore
  • SIGINT signals are now being handled to not close ImHex immediately anymore but to show a popup
  • UI scaling factors are now limited between 0.1x and 4.0x to prevent issues
    • Larger values are still possible by CTRL-clicking into the slider and entering a value manually
  • PageUp + PageDown no longer affects the hex editor selection
  • Row highlighting in the pattern data view is now less bright so the text has a better contrast

Bug Fixes

  • ImHex can now properly load files stored on network drives on Windows
  • Fixed crashes when searching for certain regex strings
  • Fixed an infinite loop when searching forward/backward with CTRL + F
  • Fixed loading of layout files
  • Fixed fonts being blurry in some cases
  • Bookmark regions can now be set to 1 byte
  • Fixes Alt and Ctrl being swapped in the text editor on macOS
  • Fixed disassembler always disassembling in little endian
  • ImHex no longer tries to store files in system paths now
  • Fixed an infinite loop when exporting data selections to a file. Thanks a lot to @FireNX70
  • Fixed file name display issues with files that contain unicode characters
  • Fixed content store getting stuck sometimes when updating multiple items at once

Pattern Language

  • continue and break now work as one would expect
  • Added std::core::execute_function()
  • Arrays can now be initialized using the following syntax:
    • u32 myArray[5] = { 1, 2, 3, 4, 5 };
  • Added support for constants inside of custom types
  • Unsigned, signed and floating point patterns no longer display their hex value in their value by default
  • Fixed [[no_unique_address]] not working correctly with bitfields
  • Patterns are now highlighted in the hex editor view when hovering over them in the pattern data view
  • Patterns in the pattern data view table are now highlighted when they are fully selected in the hex editor view
  • Bitfields can now be properly edited in the pattern data view
  • The filter in the pattern data view now gets correctly applied again after re-evaluating a pattern

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

Hotfix for "Rendering speed optimizations, bitfield improvements"

29 Jun 16:53
Compare
Choose a tag to compare

Hot fix because default folders weren't created correctly

ImHex is extremely smooth now:
https://twitter.com/WerWolv/status/1806807278416281861

Additions

  • Added basic process memory provider support to macOS
    • Due to limitations on Apple's side, this only works with SIP disabled
  • View providers can now be renamed
  • Added options to load files into memory or read data from disk instead, independent of the file size
  • Find results can now be exported as CSVs, TSVs and JSONs. Thanks a lot to @SparkyTD
  • Added various per-byte highlights to the hex editor minimap
    • The minimap can now display the highlighting of individual bytes
  • Added a digital signal pattern visualizer
  • The pattern data view now uses nicer colors and strings to convey information
  • The recent files section on the welcome screen can now be collapsed
  • You can now scroll the hex editor view faster by holding down CTRL or even faster when holding down SHIFT + CTRL
  • Added a --reset-settings CLI command to clear all settings in case something gets corrupted

Improvements

  • Drastically improved rendering times
  • Added a small moon icon to the welcome screen in nightly builds
  • Providers now close instantly
  • The hex editor view no longer scrolls when jumping to a selection that's already visible
  • Auto project backups are now enabled by default
  • Custom data inspector rows now display a nice error message in the UI when they encountered an error
  • Bookmark reordering now doesn't swap entries anymore and actually works as expected
  • ImHex now displays a little dot in the close button on macOS if there's unsaved changes
  • Auto backups no longer remove the dirty status of providers anymore
  • SIGINT signals are now being handled to not close ImHex immediately anymore but to show a popup
  • UI scaling factors are now limited between 0.1x and 4.0x to prevent issues
    • Larger values are still possible by CTRL-clicking into the slider and entering a value manually
  • PageUp + PageDown no longer affects the hex editor selection
  • Row highlighting in the pattern data view is now less bright so the text has a better contrast

Bug Fixes

  • ImHex can now properly load files stored on network drives on Windows
  • Fixed crashes when searching for certain regex strings
  • Fixed an infinite loop when searching forward/backward with CTRL + F
  • Fixed loading of layout files
  • Fixed fonts being blurry in some cases
  • Bookmark regions can now be set to 1 byte
  • Fixes Alt and Ctrl being swapped in the text editor on macOS
  • Fixed disassembler always disassembling in little endian
  • ImHex no longer tries to store files in system paths now
  • Fixed an infinite loop when exporting data selections to a file. Thanks a lot to @FireNX70
  • Fixed file name display issues with files that contain unicode characters
  • Fixed content store getting stuck sometimes when updating multiple items at once

Pattern Language

  • continue and break now work as one would expect
  • Added std::core::execute_function()
  • Arrays can now be initialized using the following syntax:
    • u32 myArray[5] = { 1, 2, 3, 4, 5 };
  • Added support for constants inside of custom types
  • Unsigned, signed and floating point patterns no longer display their hex value in their value by default
  • Fixed [[no_unique_address]] not working correctly with bitfields
  • Patterns are now highlighted in the hex editor view when hovering over them in the pattern data view
  • Patterns in the pattern data view table are now highlighted when they are fully selected in the hex editor view
  • Bitfields can now be properly edited in the pattern data view
  • The filter in the pattern data view now gets correctly applied again after re-evaluating a pattern

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

Rendering speed optimizations, bitfield improvements

29 Jun 09:54
Compare
Choose a tag to compare

ImHex is extremely smooth now:
https://twitter.com/WerWolv/status/1806807278416281861

Additions

  • Added basic process memory provider support to macOS
    • Due to limitations on Apple's side, this only works with SIP disabled
  • View providers can now be renamed
  • Added options to load files into memory or read data from disk instead, independent of the file size
  • Find results can now be exported as CSVs, TSVs and JSONs. Thanks a lot to @SparkyTD
  • Added various per-byte highlights to the hex editor minimap
    • The minimap can now display the highlighting of individual bytes
  • Added a digital signal pattern visualizer
  • The pattern data view now uses nicer colors and strings to convey information
  • The recent files section on the welcome screen can now be collapsed
  • You can now scroll the hex editor view faster by holding down CTRL or even faster when holding down SHIFT + CTRL
  • Added a --reset-settings CLI command to clear all settings in case something gets corrupted

Improvements

  • Drastically improved rendering times
  • Added a small moon icon to the welcome screen in nightly builds
  • Providers now close instantly
  • The hex editor view no longer scrolls when jumping to a selection that's already visible
  • Auto project backups are now enabled by default
  • Custom data inspector rows now display a nice error message in the UI when they encountered an error
  • Bookmark reordering now doesn't swap entries anymore and actually works as expected
  • ImHex now displays a little dot in the close button on macOS if there's unsaved changes
  • Auto backups no longer remove the dirty status of providers anymore
  • SIGINT signals are now being handled to not close ImHex immediately anymore but to show a popup
  • UI scaling factors are now limited between 0.1x and 4.0x to prevent issues
    • Larger values are still possible by CTRL-clicking into the slider and entering a value manually
  • PageUp + PageDown no longer affects the hex editor selection
  • Row highlighting in the pattern data view is now less bright so the text has a better contrast

Bug Fixes

  • ImHex can now properly load files stored on network drives on Windows
  • Fixed crashes when searching for certain regex strings
  • Fixed an infinite loop when searching forward/backward with CTRL + F
  • Fixed loading of layout files
  • Fixed fonts being blurry in some cases
  • Bookmark regions can now be set to 1 byte
  • Fixes Alt and Ctrl being swapped in the text editor on macOS
  • Fixed disassembler always disassembling in little endian
  • ImHex no longer tries to store files in system paths now
  • Fixed an infinite loop when exporting data selections to a file. Thanks a lot to @FireNX70
  • Fixed file name display issues with files that contain unicode characters
  • Fixed content store getting stuck sometimes when updating multiple items at once

Pattern Language

  • continue and break now work as one would expect
  • Added std::core::execute_function()
  • Arrays can now be initialized using the following syntax:
    • u32 myArray[5] = { 1, 2, 3, 4, 5 };
  • Added support for constants inside of custom types
  • Unsigned, signed and floating point patterns no longer display their hex value in their value by default
  • Fixed [[no_unique_address]] not working correctly with bitfields
  • Patterns are now highlighted in the hex editor view when hovering over them in the pattern data view
  • Patterns in the pattern data view table are now highlighted when they are fully selected in the hex editor view
  • Bitfields can now be properly edited in the pattern data view
  • The filter in the pattern data view now gets correctly applied again after re-evaluating a pattern

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