https://github.com/WerWolv/ImHex Skip to content Sign up * Product + Features + Mobile + Actions + Codespaces + Copilot + Packages + Security + Code review + Issues + Discussions + Integrations + GitHub Sponsors + Customer stories * Team * Enterprise * Explore + Explore GitHub + Learn and contribute + Topics + Collections + Trending + Skills + GitHub Sponsors + Open source guides + Connect with others + The ReadME Project + Events + Community forum + GitHub Education + GitHub Stars program * Marketplace * Pricing + Plans + Compare plans + Contact Sales + Education [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} WerWolv / ImHex Public * * Notifications * Fork 756 * Star 16.1k A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM. imhex.werwolv.net License GPL-2.0 license 16.1k stars 756 forks Star Notifications * Code * Issues 52 * Pull requests 3 * Discussions * Actions * Projects 3 * Wiki * Security * Insights More * Code * Issues * Pull requests * Discussions * Actions * Projects * Wiki * Security * Insights WerWolv/ImHex This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 5 branches 36 tags Code Latest commit @jonathanspw jonathanspw git: Added Fedora .rpm packaging to CI (#608) ... f12f10b Jul 30, 2022 git: Added Fedora .rpm packaging to CI (#608) * Update build.yml * Update build.yml * Update build.yml * Update build.yml * Update build.yml * Update build.yml * Update build.yml * Update build.yml * Update build.yml * Update build.yml * Update build.yml * Update get_deps_fedora.sh * Update build.yml * Update get_deps_fedora.sh * Update build.yml * Update build.yml * Update get_deps_fedora.sh * Update build.yml * Update build.yml * Update build.yml * Update build.yml * Update build.yml * Create imhex.spec * Update build.yml * Update build.yml * Update build.yml * Update build.yml * Update imhex.spec * Update build.yml * Update README.md * remove duplicate fedora build deps * Fix license * Use release tag 0 fedora official packaging starts at 1 so this will prevent conflicts and allow someone who manually installs the RPM to then later get updates from fedora repositories * add RPMs to releases * include rpms in releases * fixed order of ops for fedora builds * can't checkout without git... f12f10b Git stats * 1,566 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github git: Added Fedora .rpm packaging to CI (#608) Jul 30, 2022 .idea ui/ux: Rewrite of the entire hex editor view to make it more flexible (... May 27, 2022 cmake build: Fixed build outside of plugins Jul 27, 2022 dist git: Added Fedora .rpm packaging to CI (#608) Jul 30, 2022 lib sys: Fixed global shortcuts not working correctly Jul 30, 2022 main sys: Fixed global shortcuts not working correctly Jul 30, 2022 plugins fix: Byte editing mode not exiting when clicking somewhere else Jul 30, 2022 resources ui: Added backdrop image when no views are open Jul 6, 2022 tests tests: Added UTF-8 file operation tests Jul 2, 2022 .clang-format sys: Reformat all Feb 1, 2022 .gitattributes git: Updated .gitattributes to new repo structure Jan 29, 2022 .gitignore patterns: Huge refactor of Pattern Language runtime to use smart poin... Feb 27, 2022 .gitmodules patterns: Use standalone pattern language library instead of built-in... Apr 17, 2022 CMakeLists.txt build: Fixed build outside of plugins Jul 27, 2022 LICENSE Create LICENSE Dec 3, 2020 README.md git: Added Fedora .rpm packaging to CI (#608) Jul 30, 2022 VERSION build: Bumped version to 1.19.3 Jul 26, 2022 View code [ ] ImHex Supporting Screenshots Features Pattern Language Database Plugin development Nightly builds Compiling Credits Contributors Libraries README.md ImHex A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM. 'Build' workflow Status Discord Server Total Downloads Supporting 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 Screenshots Hex editor, patterns and data information Bookmarks, disassembler and data processor Features * Featureful hex view + Byte patching + Patch management + Copy bytes as feature o Bytes o Hex string o C, C++, C#, Rust, Python, Java & JavaScript array o ASCII-Art hex view o HTML self-contained div + String and hex search + Colorful highlighting + Goto from start, end and current cursor position * Custom C++-like pattern language for parsing highlighting a file's content + Automatic loading based on MIME type + arrays, pointers, structs, unions, enums, bitfields, namespaces, little and big endian support, conditionals and much more! + Useful error messages, syntax highlighting and error marking * Doesn't burn out your retinas when used in late-night sessions + Dark mode by default, but a light mode is available as well * Data importing + Base64 files + IPS and IPS32 patches * Data exporting + IPS and IPS32 patches * Data inspector allowing interpretation of data as many different types (little and big endian) * Huge file support with fast and efficient loading * String search + Copying of strings + Copying of demangled strings * File hashing support + CRC16 and CRC32 with custom initial values and polynomials + MD4, MD5 + SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 * Disassembler supporting many architectures (frontend for Capstone) + ARM32 (ARM, Thumb, Cortex-M, AArch32) + ARM64 + MIPS (MIPS32, MIPS64, MIPS32R6, Micro) + x86 (16-bit, 32-bit, 64-bit) + PowerPC (32-bit, 64-bit) + SPARC + IBM SystemZ + xCORE + M68K + TMS320C64X + M680X + Ethereum + RISC-V + WebAssembly + MOS565XX + Berkeley Packet Filter * Bookmarks + Region highlighting + Comments * Data Analyzer + File magic-based file parser and MIME type database + Byte distribution graph + Entropy graph + Highest and average entropy + Encrypted / Compressed file detection * Built-in Content Store + Download all files found in the database directly from within ImHex * Yara Rules support + Quickly scan a file for vulnerabilities with official yara rules * Helpful tools + Itanium and MSVC demangler + ASCII table + Regex replacer + Mathematical expression evaluator (Calculator) + Hexadecimal Color picker + Base converter + UNIX Permissions calculator + Anonfiles File upload tool + Wikipedia term definition finder + File utilities o File splitter o File combiner o File shredder Pattern Language The custom C-like Pattern Language developed and used by ImHex is easy to read, understand and learn. A guide with all features of the language can be found on the docs page. Database For format patterns, includable libraries magic and constant files, check out the ImHex-Patterns repository. Feel free to PR your own files there as well! Plugin development To develop plugins for ImHex, use one of the following two templates projects to get started. You then have access to the entirety of libimhex as well as the ImHex API and the Content Registry to interact with ImHex or to add new content. * C++ Plugin Template * Rust Plugin Template Nightly builds Nightlies are available via GitHub Actions here. * Windows * x86_64 + Installer + Portable * MacOS * x86_64 + DMG * Linux * x86_64 + DEB + AppImage + Arch Package + Fedora Rawhide RPM + Fedora Stable RPM Compiling To compile ImHex, a C++20 compiler is required. Releases are all mainly built using GCC, however on macOS, clang is also required to compile some ObjC code. Many dependencies are bundled into the repository using submodules so make sure to clone it using the --recurse-submodules option. All dependencies that aren't bundled, can be installed using the dependency installer scripts found in the /dist folder. Credits Contributors * Mary for her immense help porting ImHex to MacOS and help during development * Roblabla for adding MSI Installer support to ImHex * jam1garner and raytwo for their help with adding Rust support to plugins * Mailaender for getting ImHex onto Flathub * iTrooz for many improvements related to release packaging and the GitHub Action runners. * Everybody else who has reported issues on Discord or GitHub that I had great conversations with :) Libraries * Thanks a lot to ocornut for their amazing Dear ImGui which is used for building the entire interface + Thanks to ocornut as well for their hex editor view used as base for this project. + Thanks to BalazsJako for their incredible ImGuiColorTextEdit used for the pattern language syntax highlighting * Thanks to nlohmann for their json library used for project files * Thanks to aquynh for capstone which is the base of the disassembly window * Thanks to vitaut for their libfmt library which makes formatting and logging so much better * Thanks to rxi for microtar used for extracting downloaded store assets About A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM. imhex.werwolv.net Topics reverse-engineering disassembler analyzer hex-editor dear-imgui ips nodes hacktoberfest dark-mode pattern-language data-processor ips32 pattern-highlighting mathematical-evaluator Resources Readme License GPL-2.0 license Stars 16.1k stars Watchers 327 watching Forks 756 forks Releases 36 Bug fixes Latest Jul 26, 2022 + 35 releases Sponsor this project * * patreon patreon.com/werwolv * https://werwolv.net/donate Learn more about GitHub Sponsors Contributors 62 * * * * * * * * * * * + 51 contributors Languages * C++ 96.9% * CMake 2.5% * Other 0.6% Footer (c) 2022 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.