Hex editors, assemblers and disassemblers are tools that let a programmer manipulate binary files, create object codes or generate assembly language codes from machine language. These tools serve various purposes and are essential for some aspects of programming. Let’s take a look at some of these tools that work on Ubuntu.
GHex is a hex editor for Gnome, capable of loading data from any file and allows you to view or edit it in both hex and ASCII formats. It supports conversion between binary, octal, decimal, hexadecimal values.
BIEW (Binary vIEW) is a cross platform binary file viewer. It's built in editor supports editing in binary, hexadecimal and disassembler modes. BIEW contains a pentiumIII/K7 Athlon/Cyrix-M2 disassembler, preview of various executable formats like DOS.SYS, NLM,MZ, NE, PE etc. It is available for DOS, Windows, OS/2, Linux/Unix and BeOS.
Bless Hex Editor
Bless is a feature rich hex editor written in mono/Gtk#. It supports editing of large data files, features multilevel undo/redo operations, find and replace, bitwise operation on data, and a data conversion table, among other features.
bvi is a console mode binary file editor. It is based on the vi editor, thus if you are familiar with the vi editor, getting started with bvi is easy. However, if you are not familiar with vi, there may be better choices around.
The popular text editor for Linux, Emacs can also be used as a Hex editor by running it in the hexl-mode.
hexedit is capable of showing a file in both ASCII and hexadecimal. As it reads the file a piece at a time, the file can even be a device. It also allows searching through the file and modifying it.
HT is a hex editor and disassembler capable of view/edit text, binary and executable files.
MadEdit is a cross platform text and hex editor. It has features like syntax highlighting, word wrap, and support for various encodings.
Okteta is a hex/binary editor for KDE. It features an interface with two columns (one for numeric values and another for the assigned characters). You can perform edit operations from either column. The program also features some useful tools.
wxHexEditor is a hex editor for Linux that is especially helpful in editing large files. It can open large files fast due to the fact that it doesn't copy the whole file into RAM. It has features such as copy/paste, go to, file save as, use of makefile to build programs, etc.
Mickey is a cross platform hex/ASCII editor. Although it has features common to most of the hex editors it lacks supports for large files.
NASM (Netwide Assembler) is a popular assembler/disassembler for Intel x86 architecture on Linux. NASM supports a wide range of object file formats and is capable of outputting plain binary files. It also has strong support for macros.
Yasm is a complete rewrite of the NASM assembler/disassembler mentioned above. It supports x86 and AMD64 architecture and many object file formats.