macOS系统上读写Linux的ext4分区方法
很多时候需要在macOS上操作Linux的ext4分区,然后macOS系统默认并不支持ext4等分区格式。今天给大家介绍的方法是如何在macOS上,使用免费的工具来操作ext4分区。
osxfuse
FUSE
(Filesystem in Userspace)中文直译为“用户空间文件系统”,是Linux 中用于挂载某些网络空间,如SSH,到本地文件系统的模块。它提供了抽象的文件操作系统用户态的读写接口。这个接口思想被移植到了macOS上,即:osxfuse
。它是一个开源的软件,地址是:https://github.com/osxfuse/osxfuse。
为每一个不同的文件系统,编写一个支持它的osxfuse
扩展,就可以很好的实现macOS系统上的多文件系统格式分区的读写支持。比如exFAT
、XFS
、procfs
、SSHFS
、NTFS
等格式的分区,都可以通过扩展osxfuse
来实现分区的读写。
比如ext2文件格式的支持有ext2fuse
。安装扩展前需要执行下面的命令安装osxfuse
:
$ brew cask install osxfuse
安装完成后,执行:
$ brew install ext2fuse
即可以用macOS自带的mount
命令来加载ext2格式的分区镜像文件。
ext4fuse
ext4fuse
是一款开源的ext4分区格式的支持扩展。地址是:https://github.com/gerard/ext4fuse。可以执行如下命令安装:
$ brew install ext4fuse
加载一个ext4格式的镜像,可以执行如下操作:
$ stat system.img
16777217 11104478 -rw-r--r-- 1 rmbp staff 0 891289600 "Aug 16 15:54:57 2018" "Aug 16 15:23:51 2018" "Aug 16 15:49:01 2018" "Aug 16 15:23:40 2018" 4096 1740800 0 system.img
$ mkdir sys
$ ext4fuse system.img sys
$ ls sys
app build.prop fonts lib media tts vendor
bin etc framework lost+found priv-app usr xbin
然而令人遗憾的是,ext4fuse
的更新力度不够,项目不够活跃,始终只支持ext4分区的读操作,不支持写操作,如果只需要进行内容的查看与加载,使用这个工具就可以,但对于那些需要写ext4镜像文件格式的场景就不太适合了。
fuse-ext2
fuse-ext2
是另一款支持ext格式分区操作的扩展,它的地址是:https://github.com/alperakcan/fuse-ext2。与ext4fuse
在macOS系统上安装它需要手动下载它的代码并编译安装,在官网的安装指导中有提到编写一个script.sh,自动编译与安装,这里就不列出来了。
安装完成后,执行如下命令即可加载与读写:
$ mkdir sys
$ fuse-ext2 -v system.img sys
Mounting system.img Read-Only.
Use 'force' or 'rw+' options to enable Read-Write mode
$ umount sys
$ fuse-ext2 -v system.img sys -o force
默认的加载不支持写操作,需要加上force
选项才能进行写入操作。操作完成后,执行umount
命令,所有的操作修改,都会写入到原ext4镜像文件中。
文章精美排版PDF与代码,知识星球会员可以在知识星球:【软件安全与逆向分析】(ID: 86753808)中下载。
更多精彩内容,欢迎关注微信公众号【feicong_sec】
原文始发于微信公众号(软件安全与逆向分析):macOS系统上读写Linux的ext4分区方法
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论