Puoi raccomandare un editor esadecimale che può essere eseguito dalla shell? Devo essere in grado di modificare non solo visualizzare il contenuto.
Puoi raccomandare un editor esadecimale che può essere eseguito dalla shell? Devo essere in grado di modificare non solo visualizzare il contenuto.
emacs
ha una modalità hexl per la modifica esadecimale.
Semplice ...
xxd
Questo strumento è il più comunemente disponibile che ho trovato per questo tipo di attività. È possibile rimuovere la parte leggibile ascii a destra, se necessario, utilizzando -p ed è possibile ripristinare (modificare l'input ascii in dati binari) utilizzando la funzione -r. Ecco alcuni semplici esempi di utilizzo:
Conversione in esadecimale con vista ascii:
echo example|xxd
Conversione in un dump esadecimale (nessuna vista ascii a destra):
echo example|xxd -p
Conversione da un dump esadecimale a dati binari:
echo 746573740a|xxd -p -r
Puoi diventare molto più complesso con questo negli script di shell. In realtà ho usato questo e "dd" per cercare sequenze specifiche e modificarle in modo predefinito tutto da uno script di shell usando nient'altro che bash, dd e xxd. In realtà non hai bisogno di dd per questo perché puoi "cercare" in una posizione specifica e scrivere in quella posizione la sequenza di byte che ti serve. Il più grande vantaggio di questo approccio è la sua facilmente scrivibile.
C'è anche DHEX
apt-cache show dhex
editor esadecimale basato su ncurses con modalità diff
Questo è più di un semplice editor esadecimale: include una modalità diff, che può essere usato per confrontare facilmente e comodamente due file binari. Poiché è basato su ncurses ed è modificabile, può essere eseguito su qualsiasi numero di sistemi e scenari. Con il suo utilizzo dei log di ricerca, è possibile tenere traccia delle modifiche in diverse iterazioni di file facilmente.
Se non hai familiarità con vim o emacs, questo non sembra avere molta curva di apprendimento.
Potresti essere in grado di usare vi / vim anche come editor esadecimale (può chiamare xxd).
Entra in modalità esadecimale:
:%!xxd
Esci dalla modalità esadecimale:
:%!xxd -r
So che questa è una vecchia domanda, ma non ero soddisfatto di tutte le risposte qui. Stavo cercando un editor esadecimale che mi permettesse di creare i miei file binari (noti anche come modalità di inserimento) e in grado di gestire file molto grandi.
Mi sono imbattuto in tweak , che soddisfa entrambi questi requisiti, così come i PO .
- Tweak supporta la modalità di inserimento (non particolarmente utile se stai modificando un file eseguibile o un'immagine del filesystem, ma può essere estremamente utile in altri formati di file come PNG).
- Tagliare, copiare e incollare all'interno del file che stai modificando è estremamente efficiente. Non importa quanto sia grande il pezzo di dati che sei muoversi - anche se si tratta di una sezione 200Mb di un'immagine CD - Tweak eseguirà sempre l'operazione in modo efficace all'istante.
- Tweak supporta il caricamento lazy del file di input: piuttosto che risucchiare tutto in memoria immediatamente, ricorda semplicemente quali parti di il buffer di modifica sono copie di quali parti del file di input e si riferisce al file su disco quando è necessario. Tweak deve solo prendere tempo significativo quando ne hai veramente bisogno per leggere l'intero file. Le uniche due operazioni con questa proprietà sono la ricerca e il salvataggio la versione modificata del file su disco. Tutto il resto è istantaneo.
Bless Hex Editor è a è un editor binario (esadecimale) e attualmente fornisce le seguenti funzionalità:
Puoi scaricarlo da qui: link .
Per installarlo, vedi Come installo un file .deb tramite la riga di comando?
Hai bisogno di più?
C'è anche ht
. Installalo come
sudo apt-get install ht
e quindi eseguirlo digitando hte
.
Non l'ho provato con file / partizioni veramente grandi, però.
Questo è semplice da usare:
sudo apt-get install hexcurse
Leggi altre domande sui tag command-line software-recommendation text-editor