使用Linux命令将十六进制信息转换为二进制


90

我的Linux系统上有这个二进制文件...

 udit@udit-Dabba ~ $ cat file.enc
 Salted__sbO��<0F���Jw!���]�:`CLKȆ�l

使用hexdump命令,我可以看到如下信息:

 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

现在,我在其他系统上得到了一个文件,其内容如下:

 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

我需要从此十六进制转储中找出相同的二进制信息。

我该如何进行?

如果没有任何开关,那么C代码也可以正常工作。

(但最好是带有一些开关的Linux命令)

局限性:

文件中的二进制信息是加密算法的输出,因此内容应完全匹配...


12
看看xxd
user786653

@ user786653 Thnx它帮助我了解了-r而不是知道-p,因此很快就需要了...所以发布了问题
Udit Gupta

Answers:


146

按照@ user786653的建议,使用xxd(1)程序:

xxd -r -p input.txt output.bin

8
增加使用 echo "hex" | xxd -r -p - 以从管道标准输出中获取输入
Amanpreet

3
也可以用来获取二进制哈希-例如echo something | sha256sum | xxd -r -p -
xdevs23,18年

帮助我将十六进制转换为PDF文件的bin
Kaymaz
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.