美文网首页
ext4解包和重新打包

ext4解包和重新打包

作者: Virson | 来源:发表于2016-12-14 02:05 被阅读1755次

有的官方包用的是.img.ext4格式,要用Linux解包
以下用Ubuntu做例子讲解打包解包方法
也可以用相同的原理修改EXT4文件系统的.img

1.需要:

Ubuntu操作系统
http://www.ubuntu.org.cn/download/desktop
解打包工具 – by xiao1u
使用搜索引擎搜索关键词“make_ext4fs.tar”

2.准备工作:

解压解打包工具,得到三个文件:make_ext4fs、mkuserimg.sh、simg2img,
把它们跟要修改的 .img.ext4(或.img)文件放置到一个方便的目录下
重要:如果你使用的是Ubuntu,可以使用如下命令安装上面需要的工具:

# 安装官方源中的make_ext4fs,mkuserimg.sh,simg2img
apt-get install android-tools-fsutils
3.修改:

打开终端,输入su ,并按照提示输入su密码,随后cd到放置工具和源文件的目录
3.1.转换源文件为img格式( .img则略过)
使用./simg2img src des命令来转换system.img.ext4格式文件

# 终端输入:
./simg2img system.img.ext4 system.img

等待一会就可以转换完毕

3.2.挂载镜像

新建一个目录,挂载此img到这个目录上使用

# 终端输入:
sudo mkdir sysmain

新建出一个名为sysmain的目录

# 继续输入:
mount -o loop system.img sysmain

挂载成功后就可以在资源管理器中管理该img内的文件

3.3.修改镜像内容

此时可以进入挂载的目录里查看修改文件
要注意保持文件的原始权限,如果不慎搞错权限有可能导致刷入此镜像后开不了机
发现权限错误又不知道原权限时可以直接改成777然后用户为root
一般来说可以参考同目录下的其他文件

比如要将framework-res.apk文件放到framework目录下

# 终端输入:
sudo cp framework-res.apk sysmain/framework
sudo chown root.2000 sysmain/framework/framework-res.apk
sudo chmod 0644 sysmain/framework/framework-res.apk

其他文件依此类推 一般建议使用终端命令来移动、复制文件

3.4.重新打包

完成修改后就要打包,此时用到另外一个命令
首先在看看镜像挂载到目录后镜像分区的大小,例如是 4096M

# 终端输入
chmod 777 ./mkuserimg.sh
./mkuserimg.sh -s sysmain systest.img.ext4 ext4 tmp 4096M

随后就重新打包好了

注意

下划线部分必须对应,如果是非M单位要转换成M

如果是打包成.img

# 终端输入
chmod 777 ./make_ext4fs
./make_ext4fs -l 768M -s -a system system.img ./sysmain

注意:

此处下划线部分是分区大小
“-a system”,是指这个img用于Android,挂载点是/system
使用此参数后会自动根据private/android_filesystem_config.h里定义的权限给镜像中所有文件重新设置权限
如果刷机后发现有文件权限不对,可以修改android_filesystem_config.h添加权限重新编译make_ext4fs
也可以直接不使用 “-a system”参数,保持镜像中文件的默认权限。

相关文章

  • ext4解包和重新打包

    有的官方包用的是.img.ext4格式,要用Linux解包以下用Ubuntu做例子讲解打包解包方法也可以用相同的原...

  • Linux 打包解包/压缩解压

    范例 打包文件:把1.docx 和 2.docx 打包成 dd.tar包 解包:把 dd.tar 解包 范例 打包...

  • Linux基础命令四

    一、打包解包压缩解压先关命令 zip打包解包压缩解压 tar打包解包压缩解压 -z 压缩,解压 -c 创建文件 -...

  • AndroidのAPK反编、打包、签名

    Android逆向工作都避免不了要对apk进行反编译后重新打包,这里就简单说一下用apktool进行解包和打包的整...

  • pydantic 拆包解包

    打包 tuple 打包 dict 解包 可选数据类型

  • LVM扩容ext4或xfs

    当VG有足够空间可进行扩容,ext4和xfs扩容方式不同。 扩容ext4 扩容xfs 强制内核重新加载分区表

  • Linux常用命令(二)

    tar:归档管理 打包、解包,但是不压缩,仅仅将若干个文件整合成一个文件。 使用格式: 打包: 解包: du:查看...

  • Python中的星号:运算和参数传递

    参数传递中的打包和解包对函数传递的参数进行打包(打包成元组tuple或字典dictionary)和拆解(分解成单个...

  • 2018-03-25

    .tar 解包:tar xvf FileName.tar 解包后原始文件仍存在 打包:tar cvf FileNa...

  • linux打包,解包

    tar -cvf /aaa.tar /etc 打包etc目录存在跟目录的aaa.tar

网友评论

      本文标题:ext4解包和重新打包

      本文链接:https://www.haomeiwen.com/subject/anximttx.html