blobutils

Tools to manipulate binary data in Unix, because it was a nightmare.

They are not fast (written in shell and Python), I usually need to convert only several bytes, so it does not matter.

http://jenda.hrach.eu/gitweb/?p=blobutils;a=summary

Terms: bin: raw binary data; bits: ascii '0' and '1'; hex: ascii hexdump

blbgrep: grep binary file

> blbgrep data.bin 04 ee 04 7e
data.bin:<offset>

blbinhex: hexdump (binary to hexa)

blbithex: bits to hex

> echo 1110 0011 | blbithex
E3

blcstruct: unpack C structure, e.g. “blcstruct f” unpacks array of floats

blhexbin: hex to binary

blhexbit: hex to bits

blhexbitmap: hex to black and white image (e.g. adafruit gfx format)

echo 22 54 54 78 42 | blhexbitmap
██ ███ █
█ █ █ ██
█ █ █ ██
█    ███
█ ████ █

blhexflip: interactive binary editor

blhexrev: no idea

blrev: MSB to LSB format

blxor: 64bit xor (used heavily during implementation of A5/1 cracker)

dechex, dechex: base convert

gp.sh: 1D data plot. First column is label, second value. Parameter is filename.

echo -e "bla -7.247 \nble 3.28 \nfoo 0.3 \nxx 1" | gp.sh my_numbers

gr-pack, gr-unpack: convert binary to gnuradio bytes and back

itemize: add line numbers (I did not know about nl command back then)

sum.sh: sum numbers, one per line

echo -e "-7.247 \n 3.28 \n 0.3 \n 1" | sum.sh
-2.667

udate: unix timestamp to human-readable date