이 .img 파일을 마운트하고 해당 내용을 찾아보려면 어떻게 해야 합니까?

이 .img 파일을 마운트하고 해당 내용을 찾아보려면 어떻게 해야 합니까?

펌웨어 이미지를 설치하고 그 내용을 탐색하는 데 관심이 있습니다. 명령을 사용하여 이 작업을 수행 하려고 했지만 mount일부 오류가 발생했습니다("파일 시스템 유형을 지정해야 합니다"). 하지만 여기에는 다른 문제가 있을 수도 있다고 생각합니다. 다음 정보가 이 작업을 완료하는 데 필요한 전부라고 생각합니다. 이 정보로 무엇을 해야 할지 잘 모르겠습니다.

이 .img 파일을 마운트하고 해당 내용을 찾아보려면 어떻게 해야 합니까?

달리기file

/root/Downloads/FW_WRT1900AC_1.1.8.164461_prod.img: u-boot legacy uImage, Linux-3.2.40, Linux/ARM, OS Kernel Image (Not compressed), 3856080 bytes, Thu Nov 20 13:45:36 2014, Load Address: 0x00008000, Entry Point: 0x00008000, Header CRC: 0x5CAE7F84, Data CRC: 0xFCF78543

달리기fdisk -l

Disk /root/Downloads/FW_WRT1900AC_1.1.8.164461_prod.img: 26 MB, 26345472 bytes
255 heads, 63 sectors/track, 3 cylinders, total 51456 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x80811005

Disk /root/Downloads/FW_WRT1900AC_1.1.8.164461_prod.img doesn't contain a valid partition table

답변1

이 파일의 처음 3856080바이트는 커널 이미지입니다. 그 다음에는 파일 시스템 이미지가 있습니다. 파일 시스템은 오프셋 3932160(128kB의 다음 배수로 반올림된 3856080)에 있습니다. 확인을 통해 찾았지만 정보가 이미지에 저장된 위치를 알 수 없습니다(아마 장치의 예상 삭제 크기와 관련이 있을 것입니다). . 파일 시스템은JFFS2, 이는 이러한 장치에서 일반적입니다.

파일 시스템 드라이버를 사용하려면 파일 시스템이 다음 위치에 있어야 하므로 JFFS2 파일 시스템을 Linux에 직접 설치할 수 없습니다.MTD장비. 당신은 할 수RAM에서 가짜 MTD 장치 사용이 제한 사항을 해결하십시오. 부팅 이미지에서 JFFS2 이미지를 추출해야 합니다. 삭제 블록의 정수여야 합니다. 간단히 말해서:

modprobe mtdram total_size=32768 erase_size=128
modprobe mtdblock
<FW_WRT1900AC_1.1.8.164461_prod.img tail -c +3932161 | head -c 22413312 >/dev/mtdblock0
mount -t jffs2 /dev/mtdblock0 /mnt

또는 다음 프로그램을 사용 jffs2dump하고 jffs2reader다음에서 다운로드 할 수 있습니다.MTD 유틸리티.

<FW_WRT1900AC_1.1.8.164461_prod.img tail -c +3932161 | head -c 22413312 >|FW_WRT1900AC_1.1.8.164461_prod.jffs2
jffs2reader FW_WRT1900AC_1.1.8.164461_prod.jffs2 >FW_WRT1900AC_1.1.8.164461_prod.contents
jffs2reader FW_WRT1900AC_1.1.8.164461_prod.jffs2 -d /
jffs2reader FW_WRT1900AC_1.1.8.164461_prod.jffs2 -f /etc/version

관련 정보