Dha*_*eem 17 filesystems boot android
我正在尝试boot.img从 Android 图像查看文件中的内容。
我用谷歌搜索并发现这篇文章可以提取system.img,但它不适用于boot.img. 尝试为 执行此操作时boot.img,它显示以下内容:
Invalid sparse file format at header magi
Failed to read sparse file
Run Code Online (Sandbox Code Playgroud)
是simg2img仅用于提取system.img?
boot.img吗?boot.img什么问题?Dha*_*eem 20
boot.img 是一个小(ish)文件,包含两个主要部分。
* kernel(important for android)
* ramdisk( a core set of instruction & binaries)
Run Code Online (Sandbox Code Playgroud)
解压 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.
它包含two二进制文件:
* unpackbootimg
* mkbootimg
Run Code Online (Sandbox Code Playgroud)3.然后执行 ./unpackbootimg -i <filename.img> -o <output_path>
It will contain,
* boot.img-zImage ----> kernel
* boot.img-ramdisk.gz ----> ramdisk
Run Code Online (Sandbox Code Playgroud)
我们也可以使用以下命令提取 ramdisk
gunzip -c boot.img-ramdisk.gz | cpio -i
Run Code Online (Sandbox Code Playgroud)
更改文件后,我们可以再次将这些文件打包为 boot.img 使用 mkbootimg
玩得开心!
小智 10
安装 abootimg(作为软件包提供,例如在Debian/Ubuntu和openSUSE中)。
提取(boot|recovery).img:
$ abootimg -x (boot|recovery).img
$ ls
boot.img bootimg.cfg initrd.img zImage
Run Code Online (Sandbox Code Playgroud)
要(boot|recovery).img在修改bootimg.cfg、zImage或之一后重新打包initrd.img:
abootimg --create (boot|recovery).img -f bootimg.cfg -k zImage -r initrd.img
Run Code Online (Sandbox Code Playgroud)
boot.img不是像system.img. 它由引导加载程序读取,仅包含内核映像和 ramdisk 映像。
一些二进制发行版分别提供内核和 ramdisk 映像。在这种情况下,您不需要对 做任何事情boot.img,只需用 重新生成一个新的mkbootimg。
如果您需要从 中提取信息boot.img,请尝试split_bootimg(由William Enck,通过Android wiki)。
| 归档时间: |
|
| 查看次数: |
76484 次 |
| 最近记录: |