¿Me puede recomendar un editor hexadecimal que se pueda ejecutar desde shell? Necesito poder editar no solo ver el contenido.
¿Me puede recomendar un editor hexadecimal que se pueda ejecutar desde shell? Necesito poder editar no solo ver el contenido.
Respuestas:
emacs
tiene un modo hexl para la edición hexadecimal.
dd
la región que desea editar en un archivo y ábralo en emacs, luego dd
vuelva.
xxd
Esta herramienta es la más comúnmente disponible que he encontrado para este tipo de tarea (disponible de forma predeterminada en los últimos Ubuntu y macOS). Puede eliminar la parte legible ascii a la derecha si es necesario usando -p
y puede revertir (cambiar la entrada ascii a datos binarios) usando la -r
función. Aquí hay algunos ejemplos de usos simples:
Conversión a hexadecimal con vista ascii:
echo example | xxd
Convertir a un hexdump (sin vista ascii a la derecha):
echo example | xxd -p
Convertir de un hexdump a datos binarios:
echo 746573740a | xxd -p -r
Puede ser mucho más complejo con esto en los scripts de shell. De hecho, he usado esto y "dd" para buscar secuencias específicas y modificarlas de una manera predefinida, todo desde un script de shell utilizando nada más que bash dd
, y xxd
. En realidad, tampoco necesita dd para esto, ya que puede "buscar" en una ubicación específica y escribir en esa ubicación la secuencia de bytes que necesita. La mayor ventaja de este enfoque es que es fácilmente programable.
También hay DHEX
apt-cache show dhex
editor hexadecimal basado en ncurses con modo diff
Esto es más que un simple editor hexadecimal: incluye un modo diff, que puede usarse para comparar fácil y convenientemente dos archivos binarios. Dado que se basa en ncurses y es temático, puede ejecutarse en cualquier número de sistemas y escenarios. Con su utilización de registros de búsqueda, es posible rastrear cambios en diferentes iteraciones de archivos fácilmente.
Si no está familiarizado con vim o emacs, este no parece tener una gran curva de aprendizaje.
Es posible que también pueda usar vi / vim como editor hexadecimal (puede llamar a xxd).
Ingrese al modo hexadecimal:
:%!xxd
Salga del modo hexadecimal:
:%!xxd -r
:%!xxd
agregar nuevos caracteres (es decir, una nueva línea) al archivo.
xxd
quién hace esto, sino Vim en sí.
:set binary
! De lo contrario, es probable que VIM corrompa el archivo al agregar un final de línea (CR / LF / CRLF) al final del archivo (dependiendo de lo que tenga configurado el formato ( set ff=[mac/unix/dos]
)). Es muy probable que esto rompa ejecutables y binarios de datos. Y lo hace Mucho. Asegurarse de que VIM esté en modo binario evitará que eso suceda.
Sé que esta es una vieja pregunta, pero no estaba satisfecho con todas las respuestas aquí. Estaba buscando un editor hexadecimal que me permitiera crear mis propios archivos binarios (también conocido como modo de inserción) y pudiera manejar archivos muy grandes.
Me encontré con un ajuste , que cumple estos dos requisitos, así como los OP.
- Tweak admite el modo de inserción (no es particularmente útil si está editando un archivo ejecutable o una imagen del sistema de archivos, pero puede ser extremadamente útil en otros formatos de archivo como PNG).
- Cortar, copiar y pegar dentro del archivo que está editando es extremadamente eficiente. No importa cuán grande sea la cantidad de datos que está moviendo, incluso si se trata de una sección de 200Mb de una imagen de CD, Tweak siempre realizará la operación de manera efectiva al instante.
- Tweak admite la carga diferida del archivo de entrada: en lugar de absorberlo todo en la memoria de inmediato, simplemente recuerda qué partes del búfer de edición son copias de qué partes del archivo de entrada y hace referencia al archivo en el disco cuando es necesario. Tweak solo tiene que tomar un tiempo significativo cuando realmente lo necesita para leer todo el archivo. Las dos únicas operaciones con esta propiedad son buscar y guardar la versión modificada del archivo en el disco. Todo lo demás es instantáneo.
tweak
, pero para mí fue incómodo. Puedo intentarlo de nuevo si realmente necesito editarlo. Ejecute man tweak
desde el terminal para obtener una descripción general y una lista de comandos.
Bless Hex Editor es un editor binario (hexadecimal) y actualmente ofrece las siguientes características:
Puede descargarlo desde aquí: http://packages.debian.org/sid/all/bless/download .
Para instalarlo, consulte ¿Cómo instalo un archivo .deb a través de la línea de comando?
¿Necesitar más?
bless
comando después de que se instala.
Prueba hexadecimal , está hecho para usar en scripts y crear archivos.
Este es muy simple de usar:
sudo apt-get install hexcurse