Können Sie einen Hex-Editor empfehlen, der von der Shell ausgeführt werden kann? Ich muss nicht nur den Inhalt bearbeiten können.
64
Können Sie einen Hex-Editor empfehlen, der von der Shell ausgeführt werden kann? Ich muss nicht nur den Inhalt bearbeiten können.
Antworten:
emacs
hat einen Hexl-Modus für die Hex-Bearbeitung.quelle
dd
die Region, die Sie in eine Datei bearbeiten möchten, und öffnen Sie diese in Emacs, danndd
wieder.Dieses Tool ist das am häufigsten verwendete, das ich für diese Art von Aufgaben gefunden habe (standardmäßig sowohl auf Ubuntu als auch auf macOS verfügbar). Sie können den ASCII-lesbaren Teil rechts bei Bedarf mit entfernen
-p
und mit der-r
Funktion zurücksetzen (ASCII-Eingabe in Binärdaten ändern) . Hier einige einfache Anwendungsbeispiele:Umwandlung in Hex mit ASCII-Ansicht:
Umwandlung in einen Hexdump (keine ASCII-Ansicht rechts):
Konvertieren von einem Hexdump zurück in Binärdaten:
In Shell-Skripten kann dies sehr viel komplexer werden. Ich habe dies und "dd" verwendet, um nach bestimmten Sequenzen zu suchen und diese in vordefinierter Weise zu ändern
dd
, und zwar ausgehend von einem Shell-Skript, das ausschließlich bash , und verwendetxxd
. Sie brauchen dafür eigentlich auch kein dd, da Sie zu einem bestimmten Ort "suchen" und an diesen Ort die Bytesequenz schreiben können, die Sie benötigen. Der größte Vorteil dieses Ansatzes ist die einfache Skripterstellung.quelle
Es gibt auch DHEX
apt-cache show dhex
Wenn Sie nicht mit Vim oder Emacs vertraut sind, scheint dies keine große Lernkurve zu haben.
quelle
Möglicherweise können Sie vi / vim auch als Hex-Editor verwenden (es kann xxd aufrufen).
Hex-Modus aktivieren:
Hex-Modus verlassen:
Quelle: Verwendung von vi als Hex-Editor
quelle
:%!xxd
dass der Datei neue Zeichen (dh eine neue Zeile) hinzugefügt wurden.xxd
wer das tut: eher Vim selbst.:set binary
! Andernfalls kann VIM die Datei möglicherweise beschädigen, indem am Ende der Datei ein Zeilenende (CR / LF / CRLF) hinzugefügt wird (abhängig davon, auf welches Format Sie (set ff=[mac/unix/dos]
) eingestellt haben). Es ist sehr wahrscheinlich, dass dadurch ausführbare Dateien und Datenbinärdateien beschädigt werden. Und das tut es auch. Viel. Wenn Sie sicherstellen, dass sich VIM im Binärmodus befindet, wird dies verhindert.Ich weiß, dass dies eine alte Frage ist, aber ich war mit allen Antworten hier unzufrieden. Ich suchte nach einem Hex-Editor, mit dem ich meine eigenen Binärdateien (auch bekannt als Einfügemodus) erstellen und sehr große Dateien verarbeiten konnte.
Ich bin auf Tweak gestoßen , das sowohl diese Anforderungen als auch die OPs erfüllt.
quelle
tweak
, aber für mich war es unangenehm. Ich kann es erneut versuchen, wenn ich wirklich eine Bearbeitung benötige. Rufen Sieman tweak
das Terminal auf, um eine Übersicht und eine Liste der Befehle zu erhalten.Bless Hex Editor ist ein binärer (Hex) Editor und bietet derzeit die folgenden Funktionen:
Sie können es hier herunterladen: http://packages.debian.org/sid/all/bless/download .
Informationen zur Installation finden Sie unter Wie installiere ich eine DEB-Datei über die Befehlszeile ?.
Brauche mehr?
quelle
bless
Befehl ausgeführt werden, nachdem es installiert wurde.Versuchen Sie es mit Hexed , es wurde für die Verwendung in Skripten und zum Erstellen von Dateien entwickelt.
quelle
Dieser ist kinderleicht zu bedienen:
quelle
Gibt es auch
ht
. Installieren Sie es alsund führen Sie es dann durch Eingabe
hte
.Ich habe es jedoch nicht mit sehr großen Dateien / Partitionen versucht.
quelle