I've made a post about ImHex a while ago but I feel it's at the point where another one is due. ImHex is a Hex Editor for Windows, MacOS and Linux written in C++ using ImGui. What makes it special is the big focus on reverse engineering and that it's, in contrast to many other programs with similar features, completely free and open source.
It includes a completely custom scripting language, similar to 010 Editor's language but more modern, that allows you to define so called "Patterns" that can be placed into your data to analyze and decode it. There's also a growing database of scripts to analyze everything from PE executables over Java classes to ARM Microcontroller memory maps. Since the latest release, data can not only be pulled from normal files but also from raw disks and partitions as well as from remote GDB servers.
To make file reverse engineering easier, ImHex can disassemble various different instruction sets, calculate and display entropy graphs, diff files and analyze loaded data using Yara rules.
It can also guess based on magic values inside files what type of file has been loaded.Besides all of this, there's a Node-based (similar to Unreal Engine Blueprints), data preprocessor which can transform loaded data before displaying it. This allows for example to decrypt AES encrypted data on the fly without modifying the underlying data at all.
There's a lot more ImHex can do but probably best to just look at the screenshots on my repo or download and try it out yourself :)In contrast to a year ago, it now ships as portable zips, MSI installers, DMGs, DEBs, FlatPaks and AppImages making installing a lot easier too.