Questo è il comando bbe che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici postazioni di lavoro online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
bbe - editor di blocchi binari
SINOSSI
bbe [Opzioni] ...
DESCRIZIONE
bbe è un editor simile a sed per file binari. Esegue trasformazioni binarie sul
blocchi del flusso di input.
VERSIONI
bbe accetta le seguenti opzioni:
-b, --blocco=BLOCCO
Definizione di blocco.
-e, --espressione=COMANDO
Aggiungere il COMANDO ai comandi da eseguire.
-f, --file=file-script
Aggiungi il contenuto del file di script ai comandi.
-o, --uscita=Nome
Scrivi output su Nome invece dell'output standard.
-s, --sopprimi
Sopprime l'output normale, stampa solo il contenuto del blocco.
-?, --Aiuto
Elenca tutte le opzioni disponibili e il loro significato.
-V, --versione
Mostra la versione del programma.
BLOCCO può essere definito come:
N:M Dove N'esimo byte inizia a M blocco lungo byte (il primo byte è 0).
:M La lunghezza del blocco nel flusso di input è M.
/inizio/:M
Corda inizia a inizio M blocco lungo byte.
/inizio/:/ferma/
Corda inizia a inizia il blocco e il blocco finisce alla stringa Fermati.
/cominciare/:
Corda inizia a avvia il blocco e il blocco terminerà alla prossima occorrenza di inizia a. Solo
il primo inizia a è incluso nel blocco.
:/fermare/
Il blocco inizia all'inizio del flusso di input (o alla fine del blocco precedente) e
termina alla prossima occorrenza di Fermati. Corda Fermati sarà incluso nel blocco.
Valore speciale '$' di M significa la fine del flusso.
Il valore predefinito per il blocco è 0:$, che indica l'intero flusso di input.
Entrambi inizia a e Fermati le stringhe sono incluse nel blocco. È possibile eseguire l'escape dei caratteri non stampabili
as
\nnn decimale
\xnn esadecimale
\0nnn ottale
Il carattere '\' può essere salvato come '\\'. Codici di escape '\a','\b','\t','\n','\v','\f','\r' e
'\;' può anche essere utilizzato.
Lunghezza (N e M) può essere definito come decimale (n), esadecimale (xn) o ottale (0n)
valore.
COMANDO SINOSSI
bbe ha due tipi di comandi: comandi a blocchi e comandi a byte, entrambi sono sempre relativi alla corrente
bloccare. Ciò significa che il flusso di input al di fuori dei blocchi rimane intatto.
Bloccare comandi
D [n] Elimina il nesimo blocco. Privo di n, tutti i blocchi trovati vengono eliminati dall'output
ruscello.
I stringa
Inserisci la stringa stringa prima del blocco.
A stringa
Aggiungi la stringa stringa alla fine del blocco.
J n Saltare n blocchi, prima di eseguire comandi dopo questo comando.
L n Lascia tutti i blocchi non modificati a partire dal numero di blocco n. Riguarda solo i comandi
dopo questo comando.
N Prima di stampare un blocco, viene stampato il nome del file in cui inizia il blocco.
F f Prima di stampare un blocco, l'offset del flusso di input all'inizio del blocco è
stampato. f può essere H, D o O per il formato esadecimale, decimale o ottale dell'offset.
B f Prima di stampare un blocco, viene stampato il numero del blocco (primo blocco == 1) f può essere H,
D o O per il formato esadecimale, decimale o ottale del numero di blocco.
> filetto Prima di stampare un blocco, il contenuto del file filetto sono stampati.
< filetto Dopo aver stampato un blocco, il contenuto del file filetto sono stampati.
Byte comandi
n nei comandi byte è l'offset dall'inizio del blocco corrente (inizia da zero).
r n stringa
Sostituisci i byte a partire dalla posizione n con lo spago stringa.
i n stringa
inserire stringa a partire dalla posizione n.
p formato
Il contenuto del blocco viene stampato nel formato definito da formato. formato può avere qualsiasi
dei formati H, D, O, A e B per Esadecimale, Decimale, Ottale, Ascii e Binario.
s/Ricerca/sostituire/
Sostituisci tutte le occorrenze di Ricerca con sostituire.
y/source/meno/
Traduci byte in source ai corrispondenti byte in meno. Fonte e meno devono obbligatoriamente:
essere della stessa lunghezza.
d n m|*
Elimina m byte a partire dall'offset n. Se * è definito invece di m, poi tutto
byte a partire da n vengono cancellati.
c da a
Converti byte dal formato da a a. I formati attualmente supportati sono:
BCD Decimale codificato binario
ASC Asci
j n I comandi dopo il comando j vengono ignorati per primi n byte del blocco.
l n I comandi dopo il comando l vengono ignorati da n'esimo byte del blocco.
w filetto Scrivi byte dal blocco corrente al file filetto. I comandi prima del comando w hanno
cosa verrà scritto. %B o %nB in filetto verrà sostituito dal numero di blocco corrente.
n in %nB è la lunghezza del campo, lo zero iniziale in n fa sì che il numero di blocco venga lasciato
riempito con zeri.
& c Esegue binario e con c.
| c Esegue binario or con c.
^ c Esegue binario xor con c.
~ Esegue la negazione binaria.
u n c Tutti i byte dall'inizio del blocco all'offset n sono sostituiti da c.
f n c Tutti i byte a partire da offset n alla fine del blocco sono sostituiti da c.
x Scambiare il contenuto dei nibble (mezzo ottetto) di byte.
È possibile eseguire l'escape dei caratteri non visibili nelle stringhe allo stesso modo delle stringhe di definizione dei blocchi.
Il carattere '/' nei comandi s e y può essere qualsiasi carattere visibile.
Nota che i comandi D, A, I, F, B, c, s, i, y, p, <, > e d causano la lunghezza dell'input
e i flussi di output siano diversi.
ESEMPI
bbe -e "s/c:\\temp\\data1.txt/c:\\temp\\data2.txt/" file1
tutte le occorrenze di "c:\temp\data1.txt" nel file file1 vengono modificate in
"c:\temp\data2.txt"
bbe -b 0420:16 -e "r 4 \x12\x4a" file1
Due byte a partire dal quinto byte di un blocco lungo 16 byte a partire dall'offset 0420
(ottale) nel file1 vengono modificati in valori esadecimali 12 e 4a.
bbe -b :16 -e "A \x0a" file1
La nuova riga viene aggiunta dopo ogni blocco, la lunghezza del blocco è 16.
Usa bbe online utilizzando i servizi onworks.net
