Datei binärisieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
HrSumsemann
User
Beiträge: 28
Registriert: Donnerstag 19. Februar 2015, 17:32

Hallo allerseits,

ich habe momentan ein Problem, welches ich nicht zu so recht zu lösen weiss.
Ich habe eine Ausgabedatei einer Software, welche Ich verändern und erneut einlesen möchte. Das Programm verarbeitet diese im binären Format. Als Anwender hat man die Möglichkeit, diese Datei, als lesbare Textdatei konvertiert, auszugeben. Somit ist es prinzipell schonmal kein Problem die Daten zu verändern. Nur muss ich diese wieder korrekt binärisieren, dass die Software diese wieder einliest.

Ein paar Informationen über die Datei habe ich:
Die Datei besteht aus Zahlen, Integers und Strings, wobei die Zahlen und Integers 4bytes lang sind. Strings werden mit einem 0-byte beendet (\0).
Teilweise bestehen Zeilen ausschließlich aus Zahlen manche jedoch auch z.B. aus Integers und Text.

Hat jemand eine Idee wie ich an dieses Problem ran gehen kann?


Danke schonmal :)
BlackJack

@HrSumsemann: Was ist denn hier der Unterschied zwischen Zahlen und Integers?

Am besten wäre es wenn man eine Spezifikation des Formats hätte. Ansonsten muss man versuchen sich das selber zusammen zu reimen. Und hoffen, dass man es richtig macht. :-)

Als Werkzeuge kämen das `struct`-Modul aus der Standardbibliothek oder beispielweise das `construct`-Modul in Frage.
HrSumsemann
User
Beiträge: 28
Registriert: Donnerstag 19. Februar 2015, 17:32

@BlackJack

Es sollte reale Zahlen heißen ;)

Leider habe ich keine Spezifikationen. Was ich weiß, dass es portable binary Dateien sind (ähnlich dem binary STL Format).
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

@HrSumsemann: ohne Spezifikation läuft das auf reverse-engineering hinaus. Wenn man eine 1:1 Übersetzung in ein Text-Format hat, kann man das durchaus mit vertretbarem Aufwand machen. Wenn man das Programm als Black-Box hat, kann man eine Datei mit kleinen Änderungen speichern und die Unterschiede sich anschauen, Dateien leicht modifizieren und schauen, ob sie noch vom Programm lesbar sind, etc.
HrSumsemann
User
Beiträge: 28
Registriert: Donnerstag 19. Februar 2015, 17:32

Danke für Eure Tipps,

werde mir mal die genannten Module genauer ansehen und ein wenig rumprobieren.

VG
Antworten