Chinaunix首页 | 论坛 | 博客
  • 博客访问: 631051
  • 博文数量: 1008
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 5175
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-31 09:44
文章分类
文章存档

2012年(1008)

我的朋友

分类:

2012-08-01 10:35:55

为了要分析G1的文件系统,用实际的手机上的文件系统来分析最有说服力。所以如何来提取的解包分析Gphone的文件系统呢?通过网上查找资料,很容易得到解决方法!

一、提取镜像文件。

要提取镜像文件,你同手机的超级终端连接必须得有root权限。也就是你用"adb shell"登录手机后的提示符为“#”,如果没有,你就运行su命令来获取。但是没有刷过机的一般没有这个权限。我的G1一到手就是刷上安卓网的2.2系统的,所以本上就有Root权限。

先在G1上插入SD卡,然后把G1和电脑通过USB相连。下载SDK,解包后,通过shell在tools目录下运行:

sudo ./adb kill-server

sudo ./adb shell
* daemon not running. starting it now *
* daemon started successfully *
# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00040000 00020000 "misc"
mtd1: 00500000 00020000 "recovery"
mtd2: 00280000 00020000 "boot"
mtd3: 05a00000 00020000 "system"
mtd4: 01e00000 00020000 "cache"
mtd5: 059c0000 00020000 "userdata"
mtd6: 10000000 00020000 "msm_nand"
# cat /dev/mtd/mtd1 > /sdcard/mtd1.img
# cat /dev/mtd/mtd2 > /sdcard/mtd2.img

这样 recovery和boot镜像都在你的SD卡上了。

二、释放镜像中的文件

以上提取的两个文件,其实内容是差不多的,但是 recovery是在boot被破坏时恢复系统用的,所以进入 recovery不会进入GUI,而是一个字符的恢复模式,并且比boot多了恢复时用的程序,这些对比我会在以后写出。因为这两个镜像差不多,所以解压也是一样。释放镜像要使用以下小工具: 。将镜像和以上四个工具放在同一个文件夹下,然后解压。

解压方法:

./split_bootimg.pl boot.img
mkdir ramdisk
cd ramdisk
gzip -dc ../boot.img-ramdisk.gz | cpio -i
cd ..

这样,在这个文件夹下,你会看到

ramdisk文件夹,就是释放出的启动用的ramdisk。

boot.img-kernel,就是系统的Linux内核了。

明天对比recovery和boot镜像的不同。

后天介绍镜像的制作和如何刷机。

阅读(126) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~