Linux binary file viewer

How to view a binary file?

From what I understand, a compiler makes a binary file that consists of 1’s and 0’s that a CPU can read. I have a binary file but how do I open it to see the 1’s and 0’s that are there? A text editor says it can’t open it. P.S. I have an assembly compiled binary that should be plain binary code of 1’s and 0’s?

no — OP specified «assembly compiled binary». That does not address the question. For instance, it’s not a music file, and it has structure. Without OP providing additional information, an unstructured tool is the place to start.

See my answer. And be warned that the term binary is used in two ways totally different in practice : «A binary file» means a file whose context is not pure ASCII-text. «A binary number» means a number written using its binary form.

You’re not going to get what you’re asking for. On a hard drive, the file is represented by magnetic changes. When the file is read, it’s turned into electrical pulses, which in turn are turned into binary by the processor. Binary itself is only a representation of a number as stated in the answers below. These numbers are then interpreted by the individual programs as the format expected by them, whether this is text or images or something different. You won’t see 1s and 0s by opening a binary file in nano.

11 Answers 11

unless you want to edit it of course. Most Linux distros have hexdump by default (but obviously not all).

Update

xxd does both binary and hexadecimal

For bin :

Various people have answered some aspects of the query, but not all.

All files on computers are stored as 1’s and 0’s. Images, text files, music, executable applications, object files, etc.

They are all 0’s and 1’s. The only difference is that they are interpreted differently depending upon what opens them.

When you view a text file using cat , the executable ( cat in this case) reads all the 1’s and 0’s and it presents them to you by converting them into characters from your relevant alphabet or language.

When you view a file using an image viewer, it takes all the 1’s and 0’s and turns them into an image, depending on the format of the file and some logic to work it all out.

Compiled binary files are no different, they are stored as 1’s and 0’s.

arzyfex’s answer gives you the tools to view those files in different ways, but reading a file as binary works for any file on a computer, as does viewing it as octal, or hex, or indeed ASCII, it just might not make sense in each of those formats.

If you want to understand what an executable binary file does, you need to view it in a way which shows you the assembler language (as a start), which you can do using,

Читайте также:  About linux operating systems

which is a disassembler, it takes the binary content and converts it back into assembler (which is a very low level programming language). objdump is not always installed by default, so may need to be installed depending on your Linux environment.

NB: as @Wildcard points out, it’s important to note the files don’t contain the characters 1 and 0 (as you see them on the screen), they contain actual numeric data, individual bits of information which are either on (1) or off (0). Even that description is only an approximation of the truth. They key point is that if you do find a viewer which shows you the 1’s and 0’s, even that is still interpreting the data from the file and then showing you the ASCII characters for 0 and 1. The data is stored in a binary format (see the Binary number link above). Pierre-Olivier’s community wiki entry covers this in more detail.

Источник

Top Hex Editors for Linux Systems

Hex editor lets you view/edit the binary data of a file – which is in the form of “hexadecimal” values and hence the name “Hex” editor. Let’s be frank, not everyone needs it. Only a specific group of users who have to deal with the binary data use it.

Let me give you an example if you have no idea what it is. Suppose you have the configuration files of a game; you can open them using a hex editor and change certain values to have more ammo/score, and so on. To learn more about Hex editors, you should start with the Wikipedia page.

In case you already know what’s it used for – let us take a look at the best Hex editors available for Linux.

Note: The hex editors mentioned are in no particular order of ranking.

1. Bless Hex Editor

bless

Key Features:

  • Raw disk editing
  • Multilevel undo/redo operations.
  • Multiple tabs
  • Conversion table
  • Plugin support to extend the functionality

Bless is one of the most popular Hex editor available for Linux. You can find it listed in your AppCenter or Software Center. If that is not the case, you can check out their GitHub page for the build and the instructions associated.

It can easily handle editing big files without slowing down – so it’s a fast hex editor.

2. GNOME Hex Editor

ghex

Key Features:

Yet another amazing Hex editor – specifically tailored for GNOME. Well, I personally use Elementary OS, so I find it listed in the App Center. You should find it in the Software Center as well. If not, refer to the GitHub page for the source. For Ubuntu-based distros, install it using the command below:

You can use this editor to view/edit in either hex or ASCII. The user interface is quite simple – as you can see in the image above.

3. Okteta

okteta

Key Features:

  • Customizable data views
  • Multiple tabs
  • Character encodings: All 8-bit encodings as supplied by Qt, EBCDIC
  • Decoding table listing common simple data types.

Okteta is a simple hex editor with not-so-fancy features. Although, it can handle most of the tasks. There’s a separate module of it that you can use to embed this in other programs to view/edit files.

Similar to all the above-mentioned editors, you can find this listed on your AppCenter and Software center as well. Install it on Ubuntu-based distros using the following command:

Читайте также:  Linux which processes are running

4. wxHexEditor

wxhexeditor

Key Features:

  • Easily handle big files
  • Has x86 disassembly support
  • Sector Indication on Disk devices
  • Supports customizable hex panel formatting and colors.

This is something interesting. It is primarily a Hex editor, but you can also use it as a low-level disk editor. For example, if you have a problem with your HDD, you can use this editor to edit the sectors in raw hex and fix them.

You can find it listed on your App Center and Software Center. If not, Sourceforge is the way to go.

For Ubuntu-based distros, install it using the command below:

sudo apt install wxhexeditor

5. Hexedit (Command Line)

hexedit console

Key Features:

If you want something to work in your terminal, you can install Hexedit. It’s my favorite Linux hex editor in the command line.

When you launch it, you will have to specify the file’s location, and it’ll open it for you.

To install it, just type in:

Wrapping Up

Hex editors could come in handy to experiment and learn. If you are experienced, you should opt for the one with more features – with a GUI. Although, it all comes down to personal preferences.

There are other tools related to hex operations. Take xxd for example, you can use it to convert hex to ASCII in the Linux command line.

What do you think about the usefulness of Hex editors? Which one do you use? Did we miss listing your favorite? Let us know in the comments!

Источник

Top Hex Editors for Linux

In this article, we are going to review some of the best hex editors for Linux. But before we start, let’s look at what a hex editor really is.

What is Hex editor

In simple words, a hex editor allows you to examine and edit binary files. The difference between a regular text editor and the hex editor is that the regular editor represents the logical content of the file, while a hex editor represents the physical contents of the file.

Who use Hex editor

Hex editors are used for editing individual bytes of data and are mostly used by programmers or system administrators. Some of the most commonly used cases are debugging or reverse engineering binary communication protocols. Of course, there are many other things you can use hex editors – for example reviewing files with the unknown file format, performs hex comparison, reviewing program memory dump, and others.

Most of these mentioned hex editors are available to install from the default repository using your distribution’s package manager, like so:

# yum install package [On CentOS] # dnf install package [On Fedora] # apt install package [On Debian/Ubuntu] # zypper install package [On OpenSuse] # pacman -Ss package [on Arch Linux]

If no package available, head over to the website of each tool where you will get the standalone package for download and installation procedures, along with details on dependencies.

1. Xxd Hex Editor

Most (if not every) Linux distributions come with an editor that allows you to perform hexadecimal and binary manipulation. One of those tools is the command-line tool – xxd, which is most commonly used to make a hex dump of a given file or standard input. It can also convert a hex dump back to its original binary form.

Xxd Hex Editor for Linux

2. Hexedit Hex Editor

Hexedit is another hexadecimal command-line editor that might already be preinstalled on your OS. Hexedit shows both the hexadecimal and ASCII view of the file at the same time.

Читайте также:  Linux сохранение вывода терминала

Hexedit for Linux

3. Hexyl Hex Editor

Another useful tool for examining binary file is hexyl, is a simple hex viewer for Linux terminal that uses a colored output to determine different categories of bytes.

Hexyl - Hex Viewer for Linux

The view of hexyl is split into three columns:

  • Offset column to tell you how many bytes into the file you are.
  • Hex column, which contains the hexadecimal view of the file. (Note that there is a splitting line in between)
  • Textual representation of a file.

The installation of this hex viewer is different for different operating systems, so it is recommended to check the readme file in the project to see the exact installation instructions for your OS.

4. Ghex – GNOME Hex Editor

Ghex is a graphical hex editor that lets users edit a binary file in both hex and ASCII format. It has a multilevel undo and redo mechanism that some may find useful. Another useful feature is finding and replacing functions and converting between binary, octal, decimal, and hexadecimal values.

Ghex - Graphical Hex Editor for Linux

5. Bless Hex Editor

One of the more advanced hex editors in this article is Bless, which is similar to Ghex, it has a graphical interface that allows you to edit large data files with a multilevel undo/redo mechanism. It also has customizable data views, a find-replace feature, and multi-threaded search and saves operations. Multiple files can be opened at once using tabs. Functionality can also be extended through plugins.

Bless - Hex Editor for Linux

6. Okteta Editor

Okteta is another simple editor for reviewing raw data files. Some of the main features of okteta include:

Okteta Editor for Raw Data

  • Different views of characters – traditional in columns or in rows with a value of the top of the character.
  • Editing similar to a text editor.
  • Different profiles for data views.
  • Multiple open files.
  • Remote files by FTP or HTTP.

7. wxHexEditor

wxHexEditor is another one of the Linux hex editors that have some advanced features and while there is no official documentation for the editor, there is a well-written wiki page that provides an explanation as to how to use them too.

wxHexEditor for Linux

whHexEditor is aimed mainly at large files. It works faster with larger files because it does not attempt to copy the entire file into your RAM. It has low memory consumption and can view multiple files at once. Since it has so many features and benefits, you may want to review them all on the wiki page or the official wxHexEditor website.

8. Hexcurse – Console Hex Editor

Hexcurse is a Ncurses-based hex editor. It can open, edit, and save files within a friendly terminal interface that allows you to go to a specific line or perform a search. You can easily toggle between hex/decimal addresses or switch between hex and ASCI windows.

Hexcurse - Hex Editor for Linux

9. Hexer Binary Editor

Hexer is another command-line binary editor. The difference in this one is that it is a Vi-like style editor for binary files. Some of the most notable features are – multi buffers, multilevel undo, command-line editing with completion, and binary regular expression.

Hexer - Binary Editor for Linux

Conclusion

That was a quick review of some of the most commonly used hex editors in Linux. Let us hear your opinion. What hex editors do you use and why do you prefer that editor in particular? What makes it better over the others?

Источник

Оцените статью
Adblock
detector