010 Editor is a binary file analysis and editing tool. This means that you can use it to open, inspect and change the contents of any file on your computer – and, for that matter, drives and running processes. Why would you want to do this? Well, if you’re a developer tasked with extracting information from an arbitrary (perhaps legacy) file, or you’re a system manager who’s been asked by a user why an email attachment won’t load into their word processor, you need a package that will let you dig into the ones and zeroes and see what’s going on.
When you first open a file, you’re given a simple display of the hex contents, with a textual interpretation beside it. Because the file could have come from anywhere it could be encoded in any number of forms, and so you can switch easily between big- and little-endianism (some systems have the most significant byte first, and some have it last) and character sets (ASCII, EBCDIC, Macintosh and so on) in order that the text display should appear sensible.
When you select a series of bytes, the 'inspector' window (a floating pane that usually sits at the left of the screen) attempts to decode the selection into a human-compatible form. So it’ll show you what that series of bytes would mean if interpreted as, say, a floating point number, or a Unix date, or an unsigned integer, or any of another dozen or so data types.
There’s a load of neat stuff you can do with files. First of all you can use 'templates' to further decode parts of the file. The package comes with templates for BMPs (bitmap images), Zip files and WAV sound files; what this means is that when you hover over a byte or a selection of bytes, it’ll tell you (for instance) that the bit of the file you’re looking at is the 17-byte filename of the Zip file, and that the byte the cursor is over is the 13th, and that it’s a capital D. There’s also a checksum calculator (think the MD5 checksum of the thing you downloaded is wrong? This’ll tell you) and a pile of functions for doing arithmetic, character conversion (eg ASCII to Unicode), file comparison, number base conversion, copying and pasting lumps of binary, joining/importing files and so on.
As we’ve said, 010 editor can work on processes and disk drives as well as files. When you’re examining a process, in addition to digging into the ones and zeroes you can take an overview of the memory heaps and the layout of the various code modules within the process (so you can see which DLLs the process is using, for instance and how they’re laid out in memory). When examining drives, it does just what it says on the tin – gives you a raw representation of the ones and zeroes on the drive you’ve selected (and rather usefully it can look at both physical disks and the logical partitions you’ve defined on them).
010 Editor is a handy tool for those who need to dip into binary files in their raw form from time to time. Although it’s not the kind of thing you’ll use every day, it’s an inexpensive product, so you can keep it in your electronic odds-and-sods cupboard for the odd time you need it.