HexEditor für den Raspberry Pi
Der HexEditor für den Raspberry Pi ist ein wichtiges Tool um binäre Dateien miteinander zu vergleichen. Obwohl auf Linux fast alles auch im Quellcode zur Verfügung steht kommt man trotzdem nicht umher hin und wieder Dateien binär zu analysieren und zu vergleichen. Ich habe mir angesehen welche Möglichkeiten man am Raspberry Pi hat.
HexEditor für den Raspberry Pi
Fast jeder Software Entwickler kommt irgendwann zu dem Punkt an dem er binäre Dateien näher untersuchen muss und verwendet dazu einen HexEditor. Ein beliebtes Tool unter Windows ist HxD, welches sehr übersichtlich die binären Daten einer sonst nicht leserlichen Datei aufschlüsselt und jede Menge kleiner Tools und Anzeigen anbietet um die nötigen Informationen zu finden. Es ist sogar recht einfach möglich diese binäre Datei zu manipulieren.
Mit solch einem Werkzeug fällt die Aufgabe recht leicht. Ich habe beispielsweise zuletzt unterschiedliche Versionen von Binärdateien von BIOS ROMs eines über 30 Jahre alten PCs damit verglichen und die aktuellste Version herausgesucht. Da HxD nur auf Windows Plattformen verfügbar ist stellt sich die Frage: gibt es ein ähnlich gutes Tool auch im Open Source Bereich und für den Raspberry Pi?
Hexedit
Mein erster Testkandidat ist Hexedit. Das ist ein kleines Command Line Tool, dass viele Funktionen eines grafischen Hex-Editors enthält. Auf GitHub findet man auch den in C geschriebenen Source Code. Installiert wird es so:
sudo apt-get install hexedit
Ein Konsolenprogramm macht bei einem Raspberry Pi, der nur über SSH erreichbar ist, Sinn. Das Programm hat meiner Meinung nach einen relativ hohen Aufwand zur Einarbeitung, da man die ganzen Kommandos (Tastaturkürzel) lernen muss oder sich die relevanten Seiten der Hilfe ausdrucken muss. Es hat keinerlei einblendbare Menüs.
Bless
Da man dank Mono auch .NET Programme am Raspberry Pi programmieren und ausführen kann ist der Hex Editor Bless das vermutlich beste grafische Tool. Auch dieses ist Open Source und man findet den C# Quellcode auf GitHub. Installiert wird das Tool wie folgt:
sudo apt-get install bless
Bless ist noch am ehesten mit dem Funktionsumfang von HxD vergleichbar und durch den Open Source Gedanken unter Linux zu empfehlen.
Andere Alternativen
Überraschenderweise habe ich unter Linux keine anderen grafischen Hex Editoren gefunden die meinen Ansprüchen genügen. Mich hat das sehr verwundert, dass es nicht das Tool für diese Art von Aufgaben gibt. Vermutlich rührt das daher, dass es unter Linux einige Editoren gibt die spezielle Modi für die Arbeit mit Binärdateien besitzen. Als Beispiele werden immer wieder vim und GNU Emacs genannt. Obwohl die beiden Tools einen immensen Funktionsumfang bieten habe ich bis jetzt einen Bogen darum gemacht. Für beide gilt eine sehr lange Einarbeitungszeit. Ich weiß, mit Emacs kann man alles machen, mir fehlt aber die nötige Zeit mich damit ernsthaft auseinander zu setzen.
Fazit
Viele HexEditor für den Raspberry Pi Alternativen gibt es nicht. Man findet aber für jede Anwendung (grafisch oder nur in der Konsole) einen passenden Editor. Falls man viel Zeit hat kann man sich die großen freien Editoren ansehen und dort spezialisierte Funktionen für die Bearbeitung von Binärdateien finden. Da man heute einfach .NET Programme unter Linux verwenden kann und viele davon Open Source sind kann man diese Programme gerne ohne schlechtes Gewissen nutzen.
Welcher HexEditor ist euer Favorit? Was sind eure Anwendungsfälle?