Hex Editor For Huge Files

Home » CentOS » Hex Editor For Huge Files
CentOS 8 Comments

hexpeek: a hex editor for huge files

Occasionally I need to work with huge binary files. Over the years I’ve tried many different tools and never found one that was exactly what I
wanted. In my experience most hex editors either (1) do not work well with 4GB+ files or (2) require the user to learn a curses interface and are not scriptable.

So I ended up creating a hex editor with some nice features:
1. prompt interface with command history (with libedit)
2. scriptable interface with a flexible command language
3. no glitches on huge files — no reading until user requests
4. fully functional insert and delete
5. multi-level backup and restore
6. ability to dump generic file descriptors
7. work in hexadecimal and with 64 bit file offsets by default
8. BSD 3-clause license
9. and more…

If interested, please check out the project at https://www.hexpeek.com or send e-mail to hexpeek@hexpeek.com.

hexpeek is known to work on Debian, CentOS, FreeBSD, and Cygwin and is expected to work on any recent POSIX-like system. I look forward to improving hexpeek based on community feedback. Please let me know what features you are looking for in a hex/metadata editor.

About the author: visit https://www.resiliware.com for more about me.

Thanks for reading!
—–BEGIN PGP SIGNATURE—

8 thoughts on - Hex Editor For Huge Files

  • The package generates a symlink /usr/bin/hexedit to /usr/bin/hexpeek, but this is in conflict with the package hexedit which is in base of CentOS 7.

    Mogens

  • Indeed, this oversight made it into the beta release. It has already been removed from the current version and will not appear in future versions.
    —–BEGIN PGP SIGNATURE—

  • I’ve upgraded the RPM as well.

    BTW: I strongly suggest to change back the assignment of BINDIR in the Makefiles. If ‘realpath’ doesn’t exist on the build host, this is what happens when you run make:

    make -C src make[1]: Entering directory
    `/home/pkgbuild/rpmbuild/BUILD/hexpeek-v0.0.20200712b/src’
    rm -f /*
    rm: cannot remove `/bin’: Is a directory rm: cannot remove `/boot’: Is a directory rm: cannot remove `/cgroup’: Is a directory rm: cannot remove `/dev’: Is a directory rm: cannot remove `/etc’: Is a directory rm: cannot remove `/home’: Is a directory rm: cannot remove `/lib’: Is a directory

    Regards, Simon

  • Thank you for bringing this to my attention. I apologize for any inconvenience. I was under the impression make would terminate if a command failed, but it seems that is not true for variables set via a subshell.

    I will remove the dependency on realpath in the Makefiles and scripts, and implement a more robust cross-platform build solution when I get a chance. Again, thank you for testing this within the RPM framework.
    —–BEGIN PGP SIGNATURE—

  • Simon, I made some adjustments to the Makefiles that should address this issue. I tested on a mostly vanilla CentOS 8.1 system. If you have any other issues, let me know.
    —–BEGIN PGP SIGNATURE—