EnglishFrenchSpanish

Ad


OnWorks favicon

bbe - Online in the Cloud

Run bbe in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command bbe that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


bbe - binary block editor

SYNOPSIS


bbe [options]...

DESCRIPTION


bbe is a sed-like editor for binary files. It performs binary transformations on the
blocks of input stream.

OPTIONS


bbe accepts the following options:

-b, --block=BLOCK
Block definition.

-e, --expression=COMMAND
Add the COMMAND to the commands to be executed.

-f, --file=script-file
Add the contents of script-file to commands.

-o, --output=name
Write output to name instead of standard output.

-s, --suppress
Suppress normal output, print only block contents.

-?, --help
List all available options and their meanings.

-V, --version
Show version of program.

BLOCK can be defined as:

N:M Where N'th byte starts a M bytes long block (first byte is 0).

:M Block length in input stream is M.

/start/:M
String start starts M bytes long block.

/start/:/stop/
String start starts the block and block ends at string stop.

/start/:
String start starts the block and block will end at next occurrence of start. Only
the first start is included to the block.

:/stop/
Block starts at the beginning of input stream (or at the end of previous block) and
ends at the next occurrence of stop. String stop will be included to the block.

Special value '$' of M means the end of stream.

Default value for block is 0:$, meaning the whole input stream.

Both start and stop strings are included in block. Nonprintable characters can be escaped
as

\nnn decimal

\xnn hexadecimal

\0nnn octal

Character '\' can be escaped as '\\'. Escape codes '\a','\b','\t','\n','\v','\f','\r' and
'\;' can also be used.

Length (N and M) can be defined as a decimal (n), a hexadecimal (xn) or an octal (0n)
value.

COMMAND SYNOPSIS


bbe has two type of commands: block and byte commands, both are always related to current
block. That means that the input stream outside of the blocks remains untouched.

Block commands
D [n] Delete the n'th block. Without n, all found blocks are deleted from the output
stream.

I string
Insert the string string before the block.

A string
Append the string string at the end of block.

J n Skip n blocks, before executing commands after this command.

L n Leave all blocks unmodified starting from block number n. Affects only commands
after this command.

N Before printing a block, the file name in which the block starts is printed.

F f Before printing a block, the input stream offset at the beginning of the block is
printed. f can be H, D or O for Hexadecimal, Decimal or Octal format of offset.

B f Before printing a block, the block number is printed (first block == 1) f can be H,
D or O for Hexadecimal, Decimal or Octal format of block number.

> file Before printing a block, the contents of file file are printed.

< file After printing a block, the contents of file file are printed.

Byte commands
n in byte commands is the offset from the beginning of current block (starts from zero).

r n string
Replace bytes starting at position n with string string.

i n string
Insert string starting at position n.

p format
The contents of block is printed in format defined by format. format can have any
of the formats H, D, O, A and B for Hexadecimal, Decimal, Octal, Ascii and Binary.

s/search/replace/
Replace all occurrences of search with replace.

y/source/dest/
Translate bytes in source to the corresponding bytes in dest. Source and dest must
be the same length.

d n m|*
Delete m bytes starting from the offset n. If * is defined instead of m, then all
bytes starting from n are deleted.

c from to
Convert bytes from format from to to. Currently supported formats are:

BCD Binary coded decimal

ASC Ascii

j n Commands after the j-command are ignored for first n bytes of the block.

l n Commands after the l-command are ignored from n'th byte of the block.

w file Write bytes from the current block to file file. Commands before w-command have
what will be written. %B or %nB in file will be replaced by current block number.
n in %nB is field length, leading zero in n causes the block number to be left
padded with zeroes.

& c Performs binary and with c.

| c Performs binary or with c.

^ c Performs binary xor with c.

~ Performs binary negation.

u n c All bytes from start of the block to offset n are replaced by c.

f n c All bytes starting from offset n to end of the block are replaced by c.

x Exchange the contents of nibbles (half an octet) of bytes.

Nonvisible characters in strings can be escaped same way as in block definition strings.
Character '/' in s and y commands can be any visible character.

Note that the D, A, I, F, B, c, s, i, y, p, <, > and d commands cause the length of input
and output streams to be different.

EXAMPLES


bbe -e "s/c:\\temp\\data1.txt/c:\\temp\\data2.txt/" file1
all occurrences of "c:\temp\data1.txt" in file file1 are changed to
"c:\temp\data2.txt"

bbe -b 0420:16 -e "r 4 \x12\x4a" file1
Two bytes starting at fifth byte of a 16 byte long block starting at offset 0420
(octal) in file1 are changed to hexadecimal values 12 and 4a.

bbe -b :16 -e "A \x0a" file1
Newline is added after every block, block length is 16.

Use bbe online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Phaser
    Phaser
    Phaser is a fast, free, and fun open
    source HTML5 game framework that offers
    WebGL and Canvas rendering across
    desktop and mobile web browsers. Games
    can be co...
    Download Phaser
  • 2
    VASSAL Engine
    VASSAL Engine
    VASSAL is a game engine for creating
    electronic versions of traditional board
    and card games. It provides support for
    game piece rendering and interaction,
    and...
    Download VASSAL Engine
  • 3
    OpenPDF - Fork of iText
    OpenPDF - Fork of iText
    OpenPDF is a Java library for creating
    and editing PDF files with a LGPL and
    MPL open source license. OpenPDF is the
    LGPL/MPL open source successor of iText,
    a...
    Download OpenPDF - Fork of iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - System for Automated
    Geoscientific Analyses - is a Geographic
    Information System (GIS) software with
    immense capabilities for geodata
    processing and ana...
    Download SAGA GIS
  • 5
    Toolbox for Java/JTOpen
    Toolbox for Java/JTOpen
    The IBM Toolbox for Java / JTOpen is a
    library of Java classes supporting the
    client/server and internet programming
    models to a system running OS/400,
    i5/OS, o...
    Download Toolbox for Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (or D3 for Data-Driven Documents)
    is a JavaScript library that allows you
    to produce dynamic, interactive data
    visualizations in web browsers. With D3
    you...
    Download D3.js
  • More »

Linux commands

  • 1
    abidiff
    abidiff
    abidiff - compare ABIs of ELF files
    abidiff compares the Application Binary
    Interfaces (ABI) of two shared libraries
    in ELF format. It emits a meaningful
    repor...
    Run abidiff
  • 2
    abidw
    abidw
    abidw - serialize the ABI of an ELF
    file abidw reads a shared library in ELF
    format and emits an XML representation
    of its ABI to standard output. The
    emitted ...
    Run abidw
  • 3
    copac2xml
    copac2xml
    bibutils - bibliography conversion
    utilities ...
    Run copac2xml
  • 4
    copt
    copt
    copt - peephole optimizer SYSNOPIS:
    copt file.. DESCRIPTION: copt is a
    general-purpose peephole optimizer. It
    reads code from its standard input and
    writes an ...
    Run copt
  • 5
    gather_stx_titles
    gather_stx_titles
    gather_stx_titles - gather title
    declarations from Stx documents ...
    Run gather_stx_titles
  • 6
    gatling-bench
    gatling-bench
    bench - http benchmark ...
    Run gatling-bench
  • More »

Ad