Linuxコマンドを使用して16進情報をバイナリに変換する


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

そして、この16進ダンプから同じ正確なバイナリ情報を見つける必要があります。

どうすればいいですか?

そのためのスイッチがない場合は、Cコードも正常に動作します。

(しかし、いくつかのスイッチを備えたLinuxコマンドが望ましいです)

制限:

ファイル内のバイナリ情報は暗号化アルゴリズムの出力なので、内容は完全に一致する必要があります...


12
見ていXXDを
user786653

@ user786653のthnxそれは私が知っていた助け-rない-pとすぐにそれを必要と...そう質問を投稿
Uditグプタ

1
同じ主題については、次も参照してください:stackoverflow.com/questions/2614764/hex-dump-of-file-in-bash
Yves Martin

回答:


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

PDFファイルの16進数をbinに変換するのに役立ちました
Kaymaz
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.