젠투 위키에는 이에 대한 정보가 있습니다 : https://wiki.gentoo.org/wiki/Custom_Initramfs#Salvaging
사용법이 binwalk
매우 잘 권장 됩니다.
예를 들어 살펴 보도록하겠습니다.
먼저 binwalk를 사용하여 bzImage 파일을 추출하십시오.
> binwalk --extract bzImage
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 Microsoft executable, portable (PE)
18356 0x47B4 xz compressed data
9772088 0x951C38 xz compressed data
나는 세 개의 파일로 끝났다 47B4
, 47B4.xz
및951C38.xz
> file 47B4
47B4: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=aa47c6853b19e9242401db60d6ce12fe84814020, stripped
이제 binwalk를 다시 실행하십시오 47B4
.
> binwalk --extract 47B4
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 ELF, 64-bit LSB executable, AMD x86-64, version 1 (SYSV)
9818304 0x95D0C0 Linux kernel version "4.4.6-gentoo (root@host) (gcc version 4.9.3 (Gentoo Hardened 4.9.3 p1.5, pie-0.6.4) ) #1 SMP Tue Apr 12 14:55:10 CEST 2016"
9977288 0x983DC8 gzip compressed data, maximum compression, from Unix, NULL date (1970-01-01 00:00:00)
<snip>
이것은 발견 된 경로의 목록과 잠재적으로 흥미로운 몇 가지 파일로 돌아 왔습니다. 살펴 보자.
> file _47B4.extracted/*
<snip>
_47B4.extracted/E9B348: ASCII cpio archive (SVR4 with no CRC)
파일 E9B348
은 (이미 압축 해제 된) cpio 아카이브입니다. 빙고!
현재 디렉토리에서 압축되지 않은 cpio 아카이브 (initramfs!)의 압축을 풀려면 다음을 실행하십시오.
> cpio -i < E9B348
거의 너무 쉬웠다. binwalk
절대적으로 당신이 찾고있는 도구입니다. 참고로 여기 v2.1.1을 사용하고있었습니다.