boot.img
Android 이미지에서 파일 내용을 보려고 합니다.
구글링해서 찾았어요이 기사추출하려고 시도 system.img
했지만 작동하지 않습니다 . 다음이 표시됩니다.boot.img
boot.img
Invalid sparse file format at header magi
Failed to read sparse file
그냥 simg2img
추출 용인가요 system.img
?
- 그렇다면 그것을 추출하는 다른 방법이 있습니까
boot.img
? - 그렇지 않은 경우 추출하지 않으면 어떤 문제가 있습니까
boot.img
?
답변1
boot.img
두 개의 주요 부분을 포함하는 작은 파일입니다.
- 커널(안드로이드에 중요)
- 램디스크(핵심 명령어 및 바이너리 세트)
포장 풀기 boot.img
:
여기에는 다음 단계가 포함됩니다.
이 도구를 다운로드하여 사용하세요
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android-serialport-api/android_bootimg_tools.tar.gz
추출된 파일 사용
tar xvzf android_bootimg_tools.tar.gz
여기에는 두 개의 바이너리가 포함되어 있습니다.
unpackbootimg
mkbootimg
그런 다음 실행
./unpackbootimg -i <filename.img> -o <output_directory>
내용은 다음
output_directory
과 같습니다.boot.img-zImage
(핵심)boot.img-ramdisk.gz
(가상 디스크)
다음 명령을 사용하여 램디스크를 추출할 수도 있습니다.
gunzip -c boot.img-ramdisk.gz | cpio -i
파일을 변경한 후 다음을 boot.img
사용하여 이러한 파일을 다시 패키징할 수 있습니다.mkbootimg
답변2
답변3
boot.img
그런 압축 파일 시스템 이미지는 아닙니다 system.img
. 부트로더가 읽으며 커널 이미지와 램디스크 이미지만 포함합니다.
일부 바이너리 배포판은 커널 및 램디스크 이미지를 별도로 제공합니다. 이 경우에는 아무 작업도 수행할 필요가 없으며 boot.img
Rebuild를 사용하여 새 것을 생성하면 됩니다 mkbootimg
.
에서 정보를 추출해야 하는 경우 boot.img
다음을 시도하십시오.split_bootimg
(통과윌리엄 엔크, 통과하다안드로이드 위키).
답변4
다음 도구를 사용하여 Android 부팅 이미지를 추출하고 다시 패키징할 수 있습니다.
$ git clone https://github.com/cfig/Android_boot_image_editor.git
boot.img를 복제된 git 저장소에 복사하세요. 달리기:
$ ./gradlew unpack
처음 실행하려면 인터넷에서 필요한 라이브러리를 다운로드해야 합니다. 잠시 기다려 주십시오. 다음과 같이 "build/unzip_boot/"에서 내용을 얻을 수 있습니다.
build/unzip_boot/
├── bootimg.json (boot image info)
├── kernel
├── second (2nd bootloader, if exists)
├── boot.img.avb.json (AVB only)
└── root