【MIUI】从零开始,ROM拆包实践
2017-07-19 小文字
前言
近期Nexus 5下岗,更换了一部小米手机,经过一段时间使用,整体感觉不错,在使用其自带的音乐播放器时,发现有一个波谱挺有意思,因此有了本文,剖析MIUI ROM的介绍;
准备工作
既然要拆包,还是拆ROM,那么肯定会用到一些工具和资源;
- 下载MIUI ROM
- macOS/PC
- sdat2img
MIUI ROM
下载一个你需要的分析的ROM包,笔者手机上安装的是MIUI 8.5,所以直接去找到他的对应ROM
得到的ROM包大概长这样:
挂载ext4
可以看到东西还不少,主要内容如下
- boot.img
- cust
- firmware-update
- system.new.dat
- ststem.transfer.list
从命名来看,我们需要提取得东西应该是在system.new.dat里面;
我们看下这个是什么文件:
是个Linux下的ext4文件;如此我们可以尝试用mount挂载这个文件,
不过我们的挂载失败了:
经过漫长的Google,我们发现在macOS下是不能直接挂载ext4文件的,需要借助osx fuse来完成;
OSX fuse
为了挂载ext4的镜像文件,需要安装fuse和ext4fuse;
- fuse的安装可以通过installer,OSX fuse
- ext4fuse的安装可以通过homebrew,
brew install ext4fuse
安装完之后,挂载就通过ext4fuse执行:
虽然我们挂载了文件,并且没有提示错误,但是查看挂载后的目录发现并没有生效;
system.new.dat
这件事情告诉我们,不了解ROM的内容而直接尝试挂载内容有点难度;最后在xda轮胎找到了一些线索:
system.new.dat文件虽然显示的是ext4文件,但是不能直接使用,我们需要通过sdat2img将相关文件转换一下,得到最终的可以挂载的文件;
这个资料网上搜一下发现有很多,中文英文都有,不过基本都是类似的,也没有找到比较权的官方说明文档;
转换完格式后,再次挂载文件,成功了:
查看挂载后的目录中,发现了我们想要的文件
小结
接下来的事情就很明确了,在app目录下就是我们的系统/预装软件,包括音乐播放器,这个我们留到下一篇在分析:)
参考