Transform hexadecimal information to binary using a Linux command

130,698

As @user786653 suggested, use the xxd(1) program:

xxd -r -p input.txt output.bin
Share:
130,698
Udit Gupta
Author by

Udit Gupta

Hello All !!! About me , I am a developer. Here Because I think mutual colloboration is the best way to learn and develope best applications.

Updated on August 12, 2020

Comments

  • Udit Gupta
    Udit Gupta almost 4 years

    I have this binary file on my Linux system...

     udit@udit-Dabba ~ $ cat file.enc
     Salted__s�bO��<0�F���Jw!���]�:`C�LKȆ�l
    

    Using the hexdump command, I see its information like this:

     udit@udit-Dabba ~ $ hexdump -C file.enc
     00000000  53 61 6c 74 65 64 5f 5f  1b 73 a1 62 4f 15 be f6  |Salted__.s.bO...|
     00000010  3c 30 cc 46 ee 10 13 11  84 bf 4a 77 21 a4 84 99  |<0.F......Jw!...|
     00000020  0e 5d ef 11 18 3a 60 43  a0 4c 4b 1e c8 86 e6 6c  |.]...:`C.LK....l|
     00000030
    

    Now I am given a file on some other system whose contents are like this:

     53 61 6c 74 65 64 5f 5f  1b 73 a1 62 4f 15 be f6
     3c 30 cc 46 ee 10 13 11  84 bf 4a 77 21 a4 84 99
     0e 5d ef 11 18 3a 60 43  a0 4c 4b 1e c8 86 e6 6c
    

    And I need to find out that same exact binary information from this hexdump.

    How can I proceed for that?

    If there isn't any switch for that then C code will also work fine.

    (But a Linux command with some switch is preferable)

    Limitation:

    The binary information in the file is output of an encryption algorithm, so contents should exactly match...

  • Amanpreet
    Amanpreet over 6 years
    to add use echo "hex" | xxd -r -p - to take input from piped standard out
  • xdevs23
    xdevs23 about 6 years
    Can also be used to get binary hashes - like echo something | sha256sum | xxd -r -p -
  • Alexander
    Alexander over 2 years
  • Michael Firth
    Michael Firth over 2 years
    Note that xxd uses very old fashioned argument processing, so all of the following behave differently: xxd -rp xxd -pr xxd -r -p. Only the last of the three works for this use case.