Szukałem, jak zrobić odwrotny zrzut heksowy i znalazłem xxd wspomniane. Jednak wydaje się, że nie działa po prostu:
xxd -r hexdumpfile > binaryfile
Następnie porównałem różnicę między wyjściami xxd infile
i hexdump infile
i znalazłem trzy różnice:
- Wyjście xxd ma dwukropek po adresie
- Dane wyjściowe xxd mają odwrócone pozycje w danych (na przykład
5a42
dane wyjściowe hexdump stają się danymi wyjściowymi425a
xxd) - Po każdej linii jest kilka dodatkowych znaków
Mam tylko zrzuconą wersję niektórych plików na serwerze. Jak mogę poprawnie odzyskać dane binarne za pomocą xxd?
linux
conversion
hexdump
xxd
tanon
źródło
źródło
hexdump
pozwala wybrać endianness zastosowany w jego danych wyjściowych, co może uprościć to. (Dlaczego teraz?Odpowiedzi:
Nie znam jednego polecenia, które wykonałoby konwersję, ale można je łatwo podzielić na kilka kroków:
hexdump
danych wyjściowych za pomocąsed
xxd
5a42
staje się425a
) przy użyciudd
Oto pełne polecenie:
źródło
Możesz dokonać konwersji jednym
sed
poleceniem. Wystarczy dodać:
adres po i zmienić endianness (przejścieab12
na12ab
).źródło