[BinEd] - Binary / Hexadecimal Editor

User Manual for BinEd Editor

BinEd is free and open source hexadecimal stand-alone viewer/editor written in Java.

Example look of the application's GUI:

Editor Screenshot

Features

How to Use

BinEd is available in multiple variants including plugins for other applications.

This manual describes stand-alone editor application. For other variants please visit project's website:

https://bined.exbin.org

Requirements

Application can be executed on any platform supported by Java 8, including Microsoft Windows, macOS, variants of Linux or BSD and application should have the same minimum requirements as Java. It might be also ok to use any newer version of the Java.

For instruction on how to install Java on your operating system please search on Internet or visit:

https://java.com

Installation

Application is available for download on the project's website:

https://bined.exbin.org/editor

To get the file scroll down to the Downloads section. Please use stable version if you prefer more stable and less problematic application.

For Windows there is currently only installer for x86 32-bit architecture available - after installation it can be used with either 32-bit or 64-bit Java.

For some Linux variants there are Debian and RPM packages available.

For other operating systems please use general ZIP variant / file. It can be also used for Linux or Windows if preferred.

Installation package for Windows is typical wizard dialog (created with Nullsoft NSIS tool).

Installer - Step 1

It will also create shortcuts in start menu in ExBin Project folder.

Installer - Step 2

Specify in which directory you want to install the application or use default.

Installer - Step 3

Installation on Linux depends on the variant of the system. Some systems allow to perform the installation with simple execution of the downloaded file.

Alternatively you might need to use shell commands:

For Debian-based systems command might be:

sudo dpkg -i bined_*.deb

For RPM-based systems command might be:

sudo rpm -i bined-*.rpm

For the general ZIP variant you'll need to extract content of the file into directory of your choice. This action is different on various operating systems - please search on the Internet for instructions on how to do this step on your operating system.

Executing the Application

To start the application directly, there are multiple options. See the directory where your application is installed.

You can start "bined.exe" on MS Windows systems or on systems with Windows emulation (for example via Wine) installed.

"bined.sh" is a simple script which should work on Linux or Mac OSX systems. It might be necessary to assign execution bit on the file (for example via "chmod +x bined.sh" command).

On some systems it might be also possible to execute "bined.jar" depending on how and which variant of the Java is installed.

Application can be also started via command line, but this might also depend on the operating system, Java version and whether are Java tool applications setup for direct execution.

java -jar bined.jar

Application also accepts few command line parameters, like for opening specific file on start.

Usage: "bined <options> <file>"

"--help" parameter to see available commands "-multi_file" forces multi file / tab switching mode "-single_file" forces single file mode

Main Window

BinEd is desktop application with typical layout.

Main Window

Application consists of (from top to bottom):

Main menu provides main access to available actions.

File Menu

File menu contains actions to handle basic work with files:

Edit Menu

Edit menu contains actions related to document editing and navigation:

View Menu

View menu allows adjusting various options related to displaying properties:

Toolbar

Toolbar provides access to some of typically used actions.

Code Area

In basic mode, data are shown as matrix of numeric codes and also as regular text at the same time.

Optionally there is header, which represents position offset for the particular code on the given column.

Row starts optionally by row position. Row position can be represented by numbers in octal, decimal or hexadecimal base independent on code base.

Popup menu is available with actions which depends on which section of the code area was clicked on.

Parsing Panel

Content parsing panel provides analysis of the data at the cursor position.

Parsing panel can be shown/hidden with:

Menu / View / Show Parsing Panel

Currently, only simple list of values is available. Values are updated when cursor in code area is moved.

It's possible to edit the values and overwrite content of the document on the cursor position with ENTER key.

Values panel supports options for big and little endian - this affects order of bytes for multibyte values.Support for signed and unsigned variants of some values - first bit is typically used for negativity sign.

Status Bar

Status bar is bottom section of the main window.

Status Bar

It has following 5 sections - from left to right.

Current Encoding

Left click cycles throw set list of encodings.

Popup menu provides ability to select specific encoding from the list or to manage it.

Document Size

Shows document size in specific code type and in brackets difference to size of the saved document.

If there is selection active in the document then it shows size of the selection to size of the document.

Tooltip shows document size in all three code types.

Status Bar

Popup menu allows selecting code type or to copy the value.

Cursor Position

Shows current position of the cursor in the document as position in the document and position in the code.

If there is selection active in the document then it shows start and end position of the selection.

Tooltip shows cursor position in all three code types.

Popup menu allows selecting code type or to copy the value.

Memory Mode

Shows currently used memory mode.

Modes are:

Tooltip shows full name of the memory mode.

Popup menu allows switching memory mode. This will close the document and reopen it in selected mode.

Edit Mode

Following edit modes are supported:

It's possible to switch between insert and overwrite with single click on the status bar or with INSERT key

Editing File

To create new file use:

Menu / File / New

To edit existing file use:

Menu / File / Open

File is show in code area as a sequence of codes and preview characters.

You can edit numerical codes, or you can edit preview characters via keyboard or using available actions.

You can select specific range of data with using mouse while holding left button or holding SHIFT button while moving in code area.

When done with editing operations, save file:

Menu / File / Save

Edit Mode

Two modes are supported:

In insert mode entering new codes or charaters inserts space at the current cursor position to insert new data. Inserting data from clipboard inserts this data at the current position (making additional space).

In overwrite mode data are replaced at the current cursor position. Inserting data from clipboards replaces data at the current position and only extends file if not enough space is available.

Undo Support

If changes you made to the file is not what you wanted to do, you can revert some number of last edit operations you performed.

Tools and Actions

Go to Position

Use this action to move cursor to specific position:

Menu / Edit / Go To

Go To Dialog

You can specify position relative to current position, start or end of the document.Position can be specified in octal, decimal or hexadecimal base.

Edit Selection

Use this action to specify exact selection range:

Menu / Edit / Edit Selection

Edit Selection Dialog

You can specify position relative to current position, start or end of the document.Position can be specified in octal, decimal or hexadecimal base.

Find or Replace Data

Use this action to find specific text or sequence of codes:

Menu / Edit / Find
Menu / Edit / Replace

This will open quick search bar:

Find Text Dialog

You can enter searched text or data and toggle match case and highlighting mode buttons.

You can switch between multiple matches if found.

Options button opens dialog with additional options:

Find Text Dialog

Insert Data Action

Use this action to insert data to current position:

Menu / Edit / Insert Data

Data will be inserted or will replace previous data depending on the current edit mode.

Insert Data Dialog

Length can be specified in octal, decimal or hexadecimal base.

Compare Files Action

Use this action to compare content of two files:

Menu / Tools / Compare Files

Insert Data Dialog

Not available

View Options

Some display options for code area are accessible via View menu.

View modes

Code Type

Position Code Type

In left side of the code area there are shown position in the file. It's possible to choose code type for this position as octal, decimal or hexadecimal.

Hex Characters Case

In hex code type codes above 10 are shown as characters A to F. You can choose if this codes will be upper or lower case.

Show Unprintable Characters

Some characters don't have visual representation in the preview section. For example characters like:

This provides option to display substitute characters with different color instead to better visualize this particular characters.

Code Colorization

This option provides ability to display some codes with different colors.

Currently, only single mode is available:

Choose Font

You can change font used in code area.

Menu / Tools / Set Font

Options / Appearance / Text Font

Select Font Dialog

You can select specific family of the font, size in pixels, style parameters like bold and italic.

In preview section you can see how the selected font will look, or you can enter other text of your choice there.

Encoding

Text preview section is showing data decoded to textual characters according to currently selected encoding. Method of conversion between RAW data and characters is described in so called encoding. Java supports universal UNICODE encodings as well as various ISO and platform specific encodings often tailored for specific country/language.

Encodings can be either fixed where single numeric code is represented as single character. Some encodings like for example UTF-8 uses codes with different length of codes to represent characters. Each character in textual preview section is decoded from particular position, therefore characters longer than single byte will overlap.

User can set list of encodings available for quick switching in encodings manager dialog.

Manage Encodings Dialog

It's possible to move/reorder encodings in the list and add another encoding.

Add Encodings Dialog

Encodings can be filtered by name and/or country code.

Active encoding can be either selected by popup menu or cycled through by single click in the status bar.

Options Dialog

Options Dialog

Code Area

Code area options allows setting various options related to code area.

Code Area Options

Maximum bytes per row allows setting how many codes / preview characters will be visible on the page.

In default mode (16) code area always shows 16 codes per row.

Alternative mode is to use (0) in which code area will fit as many codes per page to fit visible area.

Row position length parameters allows setting of behavior of row position codes.

In default mode (0, 0) row positions will have as many digits as needed for current size of the document.

Status Bar

Options for status bar allows to set same options as available in popup menu actions in status bar.

Code Area Options

Layout

Multiple layout profiles are supported. You can define your own or use one from templates.

Layout Profiles Options

Layout options specify positions of the displayed data. Primary capability is to specify size and frequency of spacing between characters.

Add Layout Profile

Decorations

Multiple decoration profiles are supported. You can define your own or use one from templates.

Theme Profiles Options

Decoration options allow specifying additional cosmetic entities, namely lines and shapes.

Add Theme Profile

Colors

Multiple color profiles are supported. You can define your own or use one from templates.

Colors Profiles Options

It is possible to specify colors of text, background, decorations and make it specific for areas like selection or found matches.If color is not specified, default color from current Look and Feel is used.

Add Colors Profile

Help

Help for the application is available on the project's website and current version is also included with the application.

Help Dialog

Check for Update

It's possible to check if newer version of the stable version of the application is available.

Menu / Help / Check for Update

Check is performed automatically at the start of the application unless disabled in options:

Options / Start : Check for available updates on application start

Check for Update Dialog

Press download button to be redirected to download page in the browser.

Automatic update is currently not supported.

About Dialog

You can show basic information about application with:

Menu / Help / About

About Dialog

Participate in the Development

As the project is free and open source, you can participate in the development in many ways:

See. https://bined.exbin.org/?participate for more details.

License

Project uses Apache License 2.0, see:

https://www.apache.org/licenses/LICENSE-2.0