¿Convertir el volcado hexadecimal de un archivo a un archivo binario (programa) en Windows?

¿Convertir el volcado hexadecimal de un archivo a un archivo binario (programa) en Windows?

Tengo un archivo hexadecimal que estoy intentando convertir a binario. Realicé esto en Linux antes de usar el comando:

xxd -r -p mykey.hex > mykey.bin

Pero no puedo entender cómo ejecutar este mismo comando en Windows. He descargado algunas herramientas de edición hexadecimal, pero no estoy seguro de cómo usarlas para convertir hexadecimal en una representación binaria.

¿Hay alguna manera de hacer esto en Windows o existen herramientas similares que me permitan hacerlo?

Respuesta1

Hay un puerto nativo de xxd para Win32.

Verunxutils aquípara descargas.

Otra fuente de puertos Win32 de utilidades comunes GNU y/o *nix esGnuWin32.

Añadido por Barlop

Esta respuesta es incorrecta, vea los comentarios, xxd no está en unxutils, ni tampoco en gnuwin32.

Respuesta2

VIM 7.x contiene xxd para Windows

https://ftp.nluug.nl/pub/vim/pc/gvim73_46_s.zip

C:\Program Files (x86)\Vim\vim74>.\xxd -v
xxd V1.10 27oct98 by Juergen Weigert (Win32)

C:\Program Files (x86)\Vim\vim74>dir xxd.exe
10/08/2013  12:33 PM            70,144 xxd.exe

C:\Program Files (x86)\Vim\vim74>file xxd.exe
xxd.exe; PE32 executable for MS Windows (console) Intel 80386 32-bit

Cygwin también tiene uno

C:\cygwin\bin>.\xxd.exe -v
xxd V1.10 27oct98 by Juergen Weigert

C:\cygwin\bin>dir xxd.exe
18/09/2015  05:44 AM            18,963 xxd.exe

C:\cygwin\bin>file xxd.exe
xxd.exe: PE32+ executable (console) x86-64, for MS Windows

agregado

xd esta disponiblehttps://sourceforge.net/projects/xxd-for-windows/

xxd v1.11, 8 de junio de 2013 por Juergen Weigert et al. (Win32)

C:\Users\User>C:\xxd1p11\xxd-1.11_win32\xxd.exe -v
xxd v1.11, 8 jun 2013 by Juergen Weigert et al. (Win32)

C:\Users\User>

Respuesta3

Para convertir una cadena hexadecimal en un archivo binario, esto funciona en PowerShell Core 7.2.1:

$hex_string = '48656C6C6F2C20576F726C6421'
$hex_string_spaced = $hex_string -replace '..', '0x$& '
$byte_array = [byte[]] -split $hex_string_spaced
Set-Content -Path 'out.bin' -Value $byte_array -AsByteStream

Esa última línea no funcionará en PowerShell 5.1, pero puedes hacer esto en su lugar:

Set-Content -Path 'out.bin' -Value $byte_array -Encoding Byte

PowerShell viene preinstalado con Windows.

Respuesta4

WinHex es lo mejor para ejecutar estúpidos comandos de DOS.

  1. Abrir archivo hexadecimal
  2. Editar>>Archivo convertidor
  3. En el cuadro de diálogo, seleccione Intel Hex a Binario.
  4. Presione el botón Aceptar.
  5. ¿Redondear el tamaño del archivo? Haga clic en No.
  6. GUARDAR archivo como contenedor.

información relacionada