Pregunta

En la máquina Windows hay muchos editores de terceros disponibles para editar un archivo binario. Creo que debería haber algo similar en los sistemas * nix también. ¿Alguna idea de cómo puedo editar un archivo binario en Unix?

¿Fue útil?

Solución

También puede probar las utilidades GNOME ghex2. Esto le proporciona el hexadecimal a ASCII automatizado en el lateral, así como los diversos decodificadores de caracteres / enteros en la parte inferior. ghex2
(fuente: googlepages.com )

Otros consejos

En vim Puede escribir :%! xxd para convertirlo en un editor hexadecimal. :%! xxd -r para volver al modo normal. xxd se envía en una instalación vim.

Vea aquí para algunos comentarios sobre la edición de archivos binarios con vim ( se reduce a : establecer binario para evitar problemas, use solo el comando '' R '' o '' r '' para cambiar el texto, no elimine caracteres).

Si es fanático de Emacs, consulte aquí para obtener una guía. sobre cómo editar un archivo binario con Emacs.

Hay muchos más editores hexadecimales en Linux / Unix ...

Uso hexedit en Ubuntu

sudo apt-get install hexedit

puede consultar wikipedia .

Prefiero BIEW especialmente.

Bless es un editor hexadecimal de alta calidad y con todas las funciones.

Está escrito en mono / Gtk # y su plataforma principal es GNU / Linux. Sin embargo, debería poder ejecutarse sin problemas en todas las plataformas que ejecutan mono y Gtk #. Principales características Bless actualmente ofrece las siguientes características:

  • Edición eficiente de grandes archivos de datos y dispositivos de bloque.
  • Operaciones de deshacer y rehacer multinivel.
  • Vistas de datos personalizables.
  • Representación rápida de datos en pantalla.
  • Múltiples pestañas.
  • Operaciones de búsqueda y reemplazo rápidas.
  • Una tabla de conversión de datos.
  • Capacidades avanzadas de copiar / pegar.
  • Resaltado de coincidencias de patrones de selección en el archivo.
  • Arquitectura basada en complementos.
  • Exportación de datos a texto y html (otros con complementos).
  • Operaciones bit a bit sobre datos.
  • Un manual de usuario completo.

copiado de http://home.gna.org/bless/

Solía ??usar bvi .

Estoy desarrollando hexvi para superar :%! xxd y < Las limitaciones de code> bvi .

hexvi

Características

  • combinaciones de teclas y comandos similares a vim
  • ir a compensaciones específicas
  • insertar, reemplazar, eliminar
  • buscando cosas (expresiones regulares de PCRE)
  • todo es un comando y se puede asignar en hexvirc
  • esquemas de color
  • soporte para archivos grandes
  • soporte para múltiples archivos (a través de pestañas)
  • Python, por lo que el nivel de entrada para hackear debe ser inferior a C
  • CLI de principio a fin

Contras

  • a partir de marzo de 2016, es alfa, por lo que faltan funciones, pero estoy trabajando en eso:
    • guardar archivo
    • deshacer / rehacer
    • historial de comandos
    • selección visual
    • página de manual
  • sin autocompletar

bvi

Características

  • combinaciones de teclas y comandos similares a vim
  • ir a compensaciones específicas
  • insertar, eliminar, reemplazar
  • buscando cosas (texto y hexadecimal)
  • deshacer / rehacer
  • CLI de principio a fin

Contras

  • con respecto a sus capacidades de vim; desafortunadamente, solo comprende la mayoría cosas básicas y definitivamente necesita más amor a este respecto (ejemplo: no Entiende : wq , pero entiende : w y : q )
  • no hay soporte de selección visual en absoluto
  • no admite pestañas / pantalla dividida
  • se bloquea a menudo
  • no hay soporte para archivos grandes
  • sin historial de comandos
  • sin autocompletar

Me gusta KHexEdit , que forma parte de KDE

Su " estilo de Windows " La IU es probablemente bastante rápida de aprender para la mayoría de las personas (en comparación con Vim o Emacs de todos modos :)

Hay un editor binario ligero, verifique hexedit. http://www.linux.org/apps/AppId_6968.html . Intenté usarlo para editar binarios ELF en Linux al menos.

Hice wxHexEditor, es de código abierto, escrito con C ++ / wxWidgets GUI libs y ¡puede abrir incluso su disco de tamaño exabyte!

http://wxhexeditor.sf.net

Solo inténtalo.

Como variante, puede usar radare2 :

> r2 -w /usr/bin/ls

[0x004049d0]>V

[0x004049d0 14% 1104 (0x0:-1=1)]> x @ entry0
- offset - | 0 1  2 3  4 5  6 7  8 9  A B  C D  E F| 0123456789ABCDEF
0x004049d0 |31ed 4989 d15e 4889 e248 83e4 f050 5449| 1.I..^H..H...PTI
0x004049e0 |c7c0 103a 4100 48c7 c1a0 3941 0048 c7c7| ...:A.H...9A.H..
0x004049f0 |202a 4000 e877 dcff fff4 660f 1f44 0000|  *@..w....f..D..
0x00404a00 |b807 e661 0055 482d 00e6 6100 4883 f80e| ...a.UH-..a.H...
0x00404a10 |4889 e576 1bb8 0000 0000 4885 c074 115d| H..v......H..t.]
0x00404a20 |bf00 e661 00ff e066 0f1f 8400 0000 0000| ...a...f........
0x00404a30 |5dc3 0f1f 4000 662e 0f1f 8400 0000 0000| ]...@.f.........
0x00404a40 |be00 e661 0055 4881 ee00 e661 0048 c1fe| ...a.UH....a.H..
0x00404a50 |0348 89e5 4889 f048 c1e8 3f48 01c6 48d1| .H..H..H..?H..H.
0x00404a60 |fe74 15b8 0000 0000 4885 c074 0b5d bf00| .t......H..t.]..
0x00404a70 |e661 00ff e00f 1f00 5dc3 660f 1f44 0000| .a......].f..D..
0x00404a80 |803d c19b 2100 0075 1155 4889 e5e8 6eff| .=..!..u.UH...n.
0x00404a90 |ffff 5dc6 05ae 9b21 0001 f3c3 0f1f 4000| ..]....!......@.
0x00404aa0 |bf10 de61 0048 833f 0075 05eb 930f 1f00| ...a.H.?.u......
0x00404ab0 |b800 0000 0048 85c0 74f1 5548 89e5 ffd0| .....H..t.UH....
0x00404ac0 |5de9 7aff ffff 662e 0f1f 8400 0000 0000| ].z...f.........
0x00404ad0 |488b 0731 d248 f7f6 4889 d0c3 0f1f 4000| H..1.H..H.....@.

Para obtener detalles sobre cómo funciona en modo visual, puede leer aquí

Para pequeños cambios, he usado hexedit:

http://rigaux.org/hexedit.html

Simple pero rápido y útil.

He tenido una buena experiencia con wxHexEditor ... solo asegúrese de si está editando un hexadecimal conducir lo haces a través del menú

Devices -> Open Disk Device -> SCSI Disk Drive Partition #_N_
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top