Il s'agit de la commande bbe qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
bbe - éditeur de blocs binaires
SYNOPSIS
bbe [Options] ...
DESCRIPTION
bbe est un éditeur de type sed pour les fichiers binaires. Il effectue des transformations binaires sur le
blocs de flux d'entrée.
OPTIONS
bbe accepte les options suivantes :
-b, --bloc=BLOC
Définition de bloc.
-e, --expression=COMMAND
Ajoutez la COMMANDE aux commandes à exécuter.
-f, --fichier=Fichier de script
Ajoutez le contenu du fichier script aux commandes.
-o, --sortie=nom
Écrire la sortie dans nom au lieu de la sortie standard.
-s, --réprimer
Supprimer la sortie normale, imprimer uniquement le contenu des blocs.
-?, --Aidez-moi
Répertoriez toutes les options disponibles et leur signification.
-V, --version
Afficher la version du programme.
BLOC peut être défini comme:
N:M Où N'e octet commence un M bloc d'octets long (le premier octet est 0).
:M La longueur du bloc dans le flux d'entrée est M.
/début/:M
Chaîne Commencer départs M bloc d'octets long.
/commencer arrêter/
Chaîne Commencer commence le bloc et le bloc se termine à la chaîne Arrêtez.
/début/:
Chaîne Commencer démarre le bloc et le bloc se terminera à la prochaine occurrence de Commencer. seulement
le premier Commencer est inclus dans le bloc.
:/arrêter/
Le bloc commence au début du flux d'entrée (ou à la fin du bloc précédent) et
se termine à la prochaine occurrence de Arrêtez. Chaîne de caractères Arrêtez sera inclus dans le bloc.
Valeur spéciale '$' de M signifie la fin du flux.
La valeur par défaut pour block est 0:$, ce qui signifie l'intégralité du flux d'entrée.
Le Commencer et Arrêtez les chaînes sont incluses dans le bloc. Les caractères non imprimables peuvent être échappés
as
\nnn décimal
\xnn hexadécimal
\0nnn octale
Le caractère '\' peut être échappé sous la forme '\\'. Codes d'échappement '\a','\b','\t','\n','\v','\f','\r' et
'\;' peut également être utilisé.
Longueur (N et M) peut être défini comme un décimal (n), un hexadécimal (xn) ou un octal (0n)
valeur.
COMMAND SYNOPSIS
bbe a deux types de commandes : les commandes de bloc et d'octet, les deux sont toujours liées au courant
bloquer. Cela signifie que le flux d'entrée en dehors des blocs reste intact.
Bloquer commandes
RÉ [n] Supprimer le n'ème bloc. Sans n, tous les blocs trouvés sont supprimés de la sortie
ruisseau.
I string
Insérez la chaîne string avant le bloc.
A string
Ajouter la chaîne string à la fin du bloc.
J n Skip n blocs, avant d'exécuter des commandes après cette commande.
L n Laisser tous les blocs non modifiés à partir du numéro de bloc n. N'affecte que les commandes
après cette commande.
N Avant d'imprimer un bloc, le nom du fichier dans lequel le bloc commence est imprimé.
F f Avant d'imprimer un bloc, le décalage du flux d'entrée au début du bloc est
imprimé. f peut être H, D ou O pour le format de décalage hexadécimal, décimal ou octal.
B f Avant d'imprimer un bloc, le numéro du bloc est imprimé (premier bloc == 1) f peut être H,
D ou O pour le format hexadécimal, décimal ou octal du numéro de bloc.
> filet Avant d'imprimer un bloc, le contenu du fichier filet sont imprimés.
< filet Après l'impression d'un bloc, le contenu du fichier filet sont imprimés.
Octet commandes
n dans les commandes d'octets est le décalage depuis le début du bloc actuel (commence à partir de zéro).
r n string
Remplacer les octets en commençant à la position n avec ficelle string.
i n string
insérer string à partir de la position n.
p le format
Le contenu du bloc est imprimé au format défini par le format. le format peut avoir n'importe quel
des formats H, D, O, A et B pour Hexadécimal, Décimal, Octal, Ascii et Binaire.
s/recherche/remplacer/
Remplacer toutes les occurrences de recherche avec remplacer.
y/source/moins/
Traduire les octets en source aux octets correspondants dans moins. Source et moins doit
être de la même longueur.
d n m|*
Supprimer m octets à partir du décalage n. Si * est défini au lieu de m, Alors tout
octets à partir de n sont supprimés.
c à partir de à
Convertir les octets du format à partir de à à. Les formats actuellement pris en charge sont :
Décimal codé binaire BCD
ASC ASCII
j n Les commandes après la commande j sont ignorées pour la première fois n octets du bloc.
l n Les commandes après la commande l sont ignorées de n'ième octet du bloc.
w filet Écrire les octets du bloc actuel dans le fichier filet. Les commandes avant la commande w ont
ce qui sera écrit. %B ou %nB dans filet sera remplacé par le numéro de bloc actuel.
n dans %nB est la longueur du champ, le zéro non significatif dans n fait que le numéro de bloc reste
rempli de zéros.
& c Exécute le binaire et avec c.
| c Exécute le binaire or avec c.
^ c Exécute le binaire xor avec c.
~ Effectue la négation binaire.
u n c Tous les octets du début du bloc à l'offset n sont remplacés par c.
f n c Tous les octets à partir de l'offset n à la fin du bloc sont remplacés par c.
x Echanger le contenu des quartets (un demi-octet) d'octets.
Les caractères non visibles dans les chaînes peuvent être échappés de la même manière que dans les chaînes de définition de bloc.
Le caractère '/' dans les commandes s et y peut être n'importe quel caractère visible.
Notez que les commandes D, A, I, F, B, c, s, i, y, p, <, > et d entraînent la longueur de l'entrée
et les flux de sortie soient différents.
EXEMPLES
bbe -e "s/c:\\temp\\data1.txt/c:\\temp\\data2.txt/" fichier1
toutes les occurrences de "c:\temp\data1.txt" dans le fichier file1 sont remplacées par
"c:\temp\data2.txt"
bbe -b 0420:16 -e "r 4 \x12\x4a" fichier1
Deux octets commençant au cinquième octet d'un bloc de 16 octets commençant à l'offset 0420
(octal) dans le fichier1 sont remplacés par les valeurs hexadécimales 12 et 4a.
bbe -b :16 -e "A \x0a" fichier1
La nouvelle ligne est ajoutée après chaque bloc, la longueur du bloc est de 16.
Utilisez bbe en ligne en utilisant les services onworks.net
