Suche: Programm zur Suche nach Bytes in Binärdateien

jal2

Active member
Registriert
7 Sep. 2010
Beiträge
3.708
Hallo,

ich suche etwas ähnliches wie grep, aber für Binärdateien, das mir zu einer gegebenen Bytefolge ausgibt, an welchem Offset sie im File vorkommt.
Das Inputfile zuerst in einen Hexdump zu verwandeln geht nicht, da dann die Zeilenumbrüche stören.

Beispiel:

$bgrep 13ab4578 input.bin
offset 0x1234
offset 0x789a
...

d.h. die Bytefolge 13,ab,45,78 wurde an den Byteoffsets 0x1234 und 0x789a in input.bin gefunden.
Die Bytefolge ist kein String.

Kennt da jemand ein Tool?

Gruss,
jal2
 
Es sei auch jut zu wissen welche Bytereihenfolge vorliegt, Little- oder Bigendian... Mit Hexdump! Damit kannste dir doch wunderbar die gesamte Datei als ein String aus Hexwerten zurückgeben lassen. Im Anschluss einfach jeweils zwei Buchstaben, also Byteweise, durchiterieren... Wenn dir Hexdump nicht zusagt... die gesuchten Bytes in Character umrechnen und dann diese suchen...

Grüße Cyrix
 
Zuletzt bearbeitet:
Entweder ein hex-Editor oder selbst ein kl. Programm schreiben :D
Danke, ich probiere ghex mal.

Es sei auch jut zu wissen welche Bytereihenfolge vorliegt, Little- oder Bigendian... Mit Hexdump! Damit kannste dir doch wunderbar die gesamte Datei als ein String aus Hexwerten zurückgeben lassen. Im Anschluss einfach jeweils zwei Buchstaben, also Byteweise, durchiterieren... Wenn dir Hexdump nicht zusagt... die gesuchten Bytes in Character umrechnen und dann diese suchen...

Endian ist IMHO egal, da ich nur Folgen von Byte betrachte.

Wie ich es verstanden habe, fuegt hexdump Offset-Werte und Zeilenumbrueche in die Ausgabe ein. Und auch, wenn es die Datei als einzeiligen Hexdump ausgibt, kann ich nur feststellen, ob meine Bytefolge darin vorkommt oder nicht. Den Offset von ihr zu ermitteln wird schwer.

Wie soll ich bei Deinem zweiten Vorschlag suchen? Mit grep?
Ich vermute sehr stark, dass grep mit Nullbytes in der Bytefolge nicht klarkommt. Ausserdem gibt es AFAIK keinen Offset in binaeren Dateien aus.
 
Google: binary grep
Erster Treffer: http://stackoverflow.com/questions/4180081/binary-grep-on-linux Ein paar Lösungsvorschläge und auch einer mit grep dabei... Oder auch ein Link zu bgrep.
Danke! Auf dieser Seite war ich auch schon gelandet, hatte aber nur die Perl Oneliner überflogen. Ausserdem wollte der Author dort nach einzelnen Null-Bytes suchen. bgrep hatte ich übersehen.
Ich habe mein Problem inzwischen mit ghex gelöst, werde mir bgrep aber für das nächste Mal installieren und merken.
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben