Converter dump hexadecimal de arquivo em arquivo binário (programa) no Windows?

Converter dump hexadecimal de arquivo em arquivo binário (programa) no Windows?

Eu tenho um arquivo hexadecimal que estou tentando converter para binário. Eu fiz isso no Linux antes de usar o comando:

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

Mas não consigo descobrir como fazer esse mesmo comando no Windows. Baixei algumas ferramentas de edição hexadecimal, mas não tenho certeza de como usá-las para converter hexadecimal em uma representação binária.

Existe uma maneira de fazer isso no Windows ou existe alguma ferramenta semelhante que me permita fazer isso?

Responder1

Existe uma porta nativa do xxd para Win32.

Verunxutils aquipara downloads.

Outra fonte de portas Win32 de utilitários GNU e/ou *nix comuns éGnuWin32.

Adicionado por Barlop

Esta resposta está incorreta, veja os comentários, xxd não está no unxutils e também não está no gnuwin32.

Responder2

VIM 7.x contém 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 também tem um

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

adicionado

xxd está disponívelhttps://sourceforge.net/projects/xxd-for-windows/

xxd v1.11, 8 de junho 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>

Responder3

Para converter uma string hexadecimal em um arquivo binário, isso funciona no 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

Essa última linha não funcionará no PowerShell 5.1, mas você pode fazer isso:

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

O PowerShell vem pré-instalado com o Windows.

Responder4

WinHex é o melhor para você iniciar comandos estúpidos do DOS.

  1. Abra o arquivo hexadecimal
  2. Editar >> Arquivo Conversor
  3. Na caixa de diálogo, selecione Intel Hex para binário
  4. Clique no botão OK.
  5. Arredondar o tamanho do arquivo? Clique em Não.
  6. SALVAR arquivo como bin.

informação relacionada