Big-Endian LinuxシステムのCPIOアーカイブHexdump

Big-Endian LinuxシステムのCPIOアーカイブHexdump

私はリトルエンディアンLinuxシステムを使用しており、ビッグエンディアンLinuxシステムでcpioアーカイブの標準16進ダンプを見たいと思います。

誰かがビッグエンディアンLinuxで次のコマンドを実行して出力を公開できますか?

echo TESTING > /tmp/test
cpio -o <<< "/tmp/test" > /tmp/test.cpio
hexdump -C /tmp/test.cpio

気になる場合は、libmagicがcpioアーカイブの種類を決定するために次のことを行うため、これが必要です。

# same byteorder machine
0   short       070707
26  string      >\0     cpio archive

# opposite byteorder machine
0   short       0143561     byte-swapped cpio archive

libmagicがリバースエンディアンマシンでアーカイブの26バイト目をチェックしない理由があるかどうかを知りたかったです。

私のリトルエンディアンコンピュータでは、このコマンドの出力は次のようになります。

1 block
00000000  c7 71 1b 00 57 01 a4 81  e8 03 e8 03 01 00 00 00  |.q..W...........|
00000010  ff 65 ce a4 0a 00 00 00  08 00 2f 74 6d 70 2f 74  |.e......../tmp/t|
00000020  65 73 74 00 54 45 53 54  49 4e 47 0a c7 71 00 00  |est.TESTING..q..|
00000030  00 00 00 00 00 00 00 00  01 00 00 00 00 00 00 00  |................|
00000040  0b 00 00 00 00 00 54 52  41 49 4c 45 52 21 21 21  |......TRAILER!!!|
00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000200

ベストアンサー1

私はビッグエンディアンcpioアーカイブの例を見つけました(libmagicファイルにコメントがありました):

# https://sembiance.com/fileFormatSamples/archive/cpio/skeleton2.cpio

パスエントリは、リトルエンディアンアーカイブ(バイト26)と同じ場所から始まります。だから私自身の質問に答えるには:

いいえ、理由はありません。いいえバイト交換されたcpioアーカイブの26番目のバイトを確認します。

おすすめ記事