Обновление одного файла в архиве CPIO

У меня есть архив CPIO с образом Linux. С помощью binwalk я вижу следующие фрагменты:

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             ASCII cpio archive (SVR4 with no CRC), file name: "kernel", file name length: "0x00000007", file size: "0x00000000"
120           0x78            ASCII cpio archive (SVR4 with no CRC), file name: "kernel/x86", file name length: "0x0000000B", file size: "0x00000000"
244           0xF4            ASCII cpio archive (SVR4 with no CRC), file name: "kernel/x86/microcode", file name length: "0x00000015", file size: "0x00000000"
376           0x178           ASCII cpio archive (SVR4 with no CRC), file name: "kernel/x86/microcode/.enuineIntel.align.0123456789abc", file name length: "0x00000036", file size: "0x00000000"
540           0x21C           ASCII cpio archive (SVR4 with no CRC), file name: "kernel/x86/microcode/GenuineIntel.bin", file name length: "0x00000026", file size: "0x001A3800"
1718960       0x1A3AB0        ASCII cpio archive (SVR4 with no CRC), file name: "TRAILER!!!", file name length: "0x0000000B", file size: "0x00000000"
1719296       0x1A3C00        gzip compressed data, NULL date (1970-01-01 00:00:00)
32277012      0x1EC8214       Zlib compressed data, default compression
70217888      0x42F70A0       Unix path: /usr/local/go/src/runtime/runtime-gdb.py
85577309      0x519CE5D       MySQL MISAM compressed data file Version 3
96044561      0x5B98611       Unix path: /usr/local/go/src/runtime/runtime-gdb.py
100702073     0x6009779       Zlib compressed data, default compression
106454594     0x6585E42       MySQL MISAM compressed data file Version 7
110250207     0x69248DF       Unix path: /usr/local/go/src/runtime/runtime-gdb.py
115809787     0x6E71DFB       Unix path: /usr/local/go/src/runtime/runtime-gdb.py

Мне нужно извлечь сжатый с помощью gzip:

1719296       0x1A3C00        gzip compressed data, NULL date (1970-01-01 00:00:00)

и заменить в нем единственный двоичный файл, а затем перепаковать образ.

Этот сжатый с помощью gzip контент - еще один образ CPIO.

Какой лучший / самый простой способ сделать это?

1
задан 4 June 2019 в 15:17
1 ответ

искомая команда

cpio -id < archive.cpio "TRAILER!!!"

Вам может не понадобиться -d , так как файл находится в корневом каталоге Для получения дополнительной информации вы можете проверить этот Q / A

0
ответ дан 4 December 2019 в 02:59

Теги

Похожие вопросы