Ich habe eine Hex-Datei, die ich in eine Binärdatei umwandeln möchte. Ich habe dies unter Linux bereits mit folgendem Befehl durchgeführt:
xxd -r -p mykey.hex > mykey.bin
Ich kann jedoch nicht herausfinden, wie ich denselben Befehl unter Windows ausführen kann. Ich habe einige Hex-Editor-Tools heruntergeladen, bin mir aber nicht sicher, wie ich damit Hex in eine Binärdarstellung umwandeln kann.
Gibt es eine Möglichkeit, dies unter Windows zu tun, oder gibt es ähnliche Tools, mit denen ich dies tun kann?
Antwort1
Es gibt einen nativen Port von xxd zu Win32.
Sehenunxutils hierfür Downloads.
Eine weitere Quelle für Win32-Ports gängiger GNU- und/oder *nix-Dienstprogramme istGnuWin32.
Hinzugefügt von Barlop
Diese Antwort ist falsch, siehe Kommentare, xxd ist nicht in unxutils und auch nicht in gnuwin32.
Antwort2
VIM 7.x enthält xxd für 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 hat auch einen
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
hinzugefügt
xxd ist verfügbarhttps://sourceforge.net/projects/xxd-for-windows/
xxd v1.11, 8. Juni 2013 von Jürgen 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>
Antwort3
Um einen Hex-String in eine Binärdatei umzuwandeln, funktioniert dies in 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
Die letzte Zeile funktioniert in PowerShell 5.1 nicht. Sie können stattdessen jedoch Folgendes tun:
Set-Content -Path 'out.bin' -Value $byte_array -Encoding Byte
PowerShell ist in Windows vorinstalliert.
Antwort4
Um dumme DOS-Befehle auszuführen, ist WinHex für Sie am besten geeignet.
- Hex-Datei öffnen
- Bearbeiten>>Konverterdatei
- Wählen Sie im Dialogfeld „Intel Hex to Binary“
- Klicken Sie auf die Schaltfläche „OK“.
- Dateigröße aufrunden? Klicken Sie auf „Nein“.
- Datei als Bin SPEICHERN.