Filesystems

如何提取boot.img?

  • September 9, 2021

我正在嘗試boot.img從 Android 圖像中查看文件中的內容。

我用Google搜尋,發現這篇文章要提取system.img,但它不適用於boot.img. 嘗試為 執行此操作時boot.img,它顯示以下內容:

Invalid sparse file format at header magi
Failed to read sparse file

simg2img僅用於system.img提取?

  1. 如果是這樣,還有其他方法可以提取boot.img嗎?
  2. 如果不是,不提取有什麼問題boot.img

boot.img 是一個包含兩個主要部分的小(ish)文件。

         * kernel(important for android)
         * ramdisk( a core set of instruction & binaries)

解壓 boot.img:

它包含以下步驟:

  1. 使用下載工具wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android-serialport-api/android_bootimg_tools.tar.gz
  2. 使用tar xvzf android_bootimg_tools.tar.gz.

它包含two二進製文件:

       * unpackbootimg
       * mkbootimg
  1. 然後執行./unpackbootimg -i <filename.img> -o <output_directory>

output_directory包含:

  • boot.img-zImage —-> 核心
  • boot.img-ramdisk.gz —-> ramdisk

我們也可以提取 ramdisk,使用以下命令

gunzip -c boot.img-ramdisk.gz | cpio -i

更改文件後,我們可以再次將這些文件打包為 boot.img 使用mkbootimg

玩得開心!

引用自:https://unix.stackexchange.com/questions/64628