Copyright (c) 2004-2020, Alexandros Frantzis
Thank you for using ( or at least trying out :) ) Bless!
Contents
Bless is a binary (hex) editor, a program that enables you to edit files as a sequence of bytes. It is written in C# and uses the Gtk# bindings for the GTK+ toolkit.
Bless is distributed under the terms of the GNU General Public License (GPL-2.0-or-later). See the file COPYING for more information.
More information, bug reports and the latest releases can be found at: https://github.com/afrantzis/bless
I can be contacted at: alf82 [at] freemail [dot] gr.
The main target platform for bless is GNU/Linux. However, all the libraries it uses are cross-platform, so bless should be able to run without problems on all the major platforms (GNU/Linux, *BSD, Solaris, Win32).
To build and run the current version of bless you need:
Development is done using the latest stable versions of the above libraries. Although using an older version may be OK, there is no guarantee that there will not be problems.
Quick: git clone https://github.com/afrantzis/bless meson setup build (-Dopt=val --buildtype=type ...) ninja -C build (ninja -C build install)
Detailed:
To get the latest source: git clone https://github.com/afrantzis/bless
For a compressed tarball use: tar -xf bless-a.b.c.tar.gz
Enter the directory created in the previous step (bless or bless-a.b.c). To configure the build and check that your system has all the required libraries use:
$ meson setup build (-Dopt=val --buildtype=type ...)
Use the "-Dprefix=PREFIX" option to set the installation directory prefix. By default the prefix is '/usr/local'.
You can use the "--buildtype=release" option to build bless in release mode, by default the debug mode is built.
Type 'ninja -C build'. This will create 'bless.exe' and the necessary library files in the build/src directory. You can also type 'ninja -C build test' to run some tests on various bless components. Note that running the tests requires the 'nunit-console' binary.
Become root and type 'ninja -C build install'.
If you chose to install the program, just type 'bless'. In any case you can run the program by typing 'mono build/src/bless.exe' from within the top source directory. Enjoy!
The doc/ directory contains documentation directed both at the user and at the developer who wants to explore Bless. The doc/user/ subdirectory contains information about using bless whereas doc/developer/ contains developer information (bless api etc). Note: The developer documentation is almost non-existent.
To be able to save a file under the same name (File->Save command) you need to have (temporarily) enough disk space to hold both the original and the new file. This happens because the new file is created in the /tmp directory and then moved to its proper position. For example if you have a 20MB file and edit it so that it becomes 21MB and the new file is supposed to be saved in the same storage device as /tmp, you need to have 20+21=41MB free space in that storage device to be able to save it. After a successful save, the original file is deleted, in this case freeing 20MB. Although this can be a problem (when there is not enough disk space), it can also be seen as a safety measure in case something goes wrong when saving.
A notable exception to the above is when the size of the file to be saved has not been changed. In that case the file is saved in-place.