- 浏览: 1589388 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (289)
- java 语法基础 (51)
- spring (8)
- mvc struct /Ant --build.xml (8)
- SOA (0)
- oracle 9i/10g (23)
- sql server 2000-2005 (3)
- 数据库基础知识 (6)
- 设计模式与软件架构 (10)
- Hibernate 持久化 (9)
- J2SE/J2EE/J2ME/AJAX 技术 (8)
- JSF 技术 (3)
- JAVA 图形化 (0)
- JMS (40)
- Eclipse 3.2 IDE 开发技巧 (13)
- 项目处理方法集合 (2)
- html/jsp/javascript (2)
- Unix/Linux (9)
- j2me/ARM/windriver/嵌入式 (4)
- 电信科学 (8)
- jsp (1)
- c/c++ (1)
- LZW压缩算法(java) (2)
- Android (77)
- 版本管理git/svn (2)
最新评论
-
huihai:
有demo吗?
NamingStrategy实现动态表名映射 -
cangbaotu:
推荐给大家一些有用的爬虫源码:https://github.c ...
网络爬虫(源代码参考) -
tuspark:
除了.classpath文件以外,.project文件也应该了 ...
Eclipse .classpath文件浅谈 -
tuspark:
造成eclipse自动关闭的原因有很多,这里有很多介绍:ecl ...
eclipse 自动关闭 解决方案 -
DEMONU:
网上都是这些,这种文章。。。
ActiveMQ中的消息持久性
对android的各种disk images很好奇,一直想知道怎么去know和hack这些images,所以就有了这篇paper。 root@ubuntu8:/tmp/images/ramdir# find . -name "init*"|xargs md5sum root@ubuntu8:/tmp/images/ramdir# find . |grep init|xargs ls -lrt # mount # /data/busybox/zcat /proc/config.gz|/data/busybox/more root@ubuntu8:/ophone/android-1.5# find . -name *.img关于android的各种disk images
kernel-qemu: data
local.img: data
ramdisk.img: gzip compressed data, from Unix, last modified: Thu Oct 22 16:30:38 2009
system.img: VMS Alpha executable
userdata.img: VMS Alpha executable
opl.img: VMS Alpha executable
cache.img: VMS Alpha executable
userdata.img: VMS Alpha executable
userdata-qemu.img: data
文件类型
文件
data
kernel-qemu
local.img
userdata-qemu.img
gzip
ramdisk.img
VMS Alpha executable
system.img
userdata.img(images目录)
opl.img
userdata.img(avd目录)
cache.img
root@ubuntu8:/tmp/images# ls -lrt ramdisk
-rw-r--r-- 1 root root 260608 Oct 22 01:34 ramdisk
ramdisk: ASCII cpio archive (SVR4 with no CRC)
root@ubuntu8:/tmp/images# cd ramdiskdir/ cd到该目录中
root@ubuntu8:/tmp/images/ramdiskdir# cpio -idmv <../ramdisk 使用cpio来extractramdisk文件
data
default.prop
dev
init
init.goldfish.rc
init.rc
proc
sbin
sbin/adbd
sys
system
509 blocks
root@ubuntu8:/tmp/images/ramdiskdir# ls 这就是被打包在ramdisk中的文件
data default.prop dev init init.goldfish.rc init.rc proc sbin sys system
root@ubuntu8:/tmp/images/ramdiskdir# find . -type f|file -f -
./default.prop: ASCII text
./init.rc: ASCII English text
./init.goldfish.rc: ASCII English text
./init: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, stripped
./sbin/adbd: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, stripped
c3cff931e494bb4872f0ebefe1dad548 ./init.rc
90dd60a3458cce84901d12b362880339 ./init.goldfish.rc
7a950533c62fe91300a5b31b12a38084 ./init
-rwxr-x--- 1 root root 11875 Jan 1 1970 ./init.rc
-rwxr-x--- 1 root root 2138 Jan 1 1970 ./init.goldfish.rc
-rwxr-x--- 1 root root 127548 Jan 1 1970 ./init
data文件共有这么几个,kernel-qemu,local.img和userdata-qemu.img。
什么是data文件?如何使用这些文件?我们面临着么两个问题
VMS Alpah executable共有这么几个system.img,userdata.img,opl.img,userdata.img和cache.img。
什么是VMS Alpha executable?如何使用这些文件?我们面临这么两个问题。。。
使用这个命令据说可以在emulator起来以后进入到android os的shell中,我们来看看、
# pwd
pwd
/
ls -l
lrwxrwxrwx root root 2010-01-31 15:03 preload -> /system/preload
drwxr-xr-x root root 2010-01-31 15:03 Linux
lrwxrwxrwx root root 2010-01-31 15:03 bin -> /opl/telephony/bin
lrwxrwxrwx root root 2010-01-31 15:03 usr -> /opl/telephony/usr
lrwxrwxrwx root root 2010-01-31 15:03 lib -> /opl/telephony/lib
drwxrwxrwt root root 2010-01-31 15:05 tmp
drwxrwxrwt root root 2010-01-31 15:05 sqlite_stmt_journals
drwxrwx--- system cache 2009-12-20 10:11 cache
drwxr-xr-x system system 2009-10-10 13:11 opl
drwxrwxrwx system system 2009-10-24 01:48 local
d--------- system system 2010-01-31 15:03 sdcard
drwxr-xr-x root root 2010-01-31 15:03 d
lrwxrwxrwx root root 2010-01-31 15:03 etc -> /system/etc
drwxr-xr-x root root 2009-10-22 16:20 system
drwxr-xr-x root root 1970-01-01 08:00 sys
drwxr-x--- root root 1970-01-01 08:00 sbin
dr-xr-xr-x root root 1970-01-01 08:00 proc
-rwxr-x--- root root 11875 1970-01-01 08:00 init.rc
-rwxr-x--- root root 2138 1970-01-01 08:00 init.goldfish.rc
-rwxr-x--- root root 127548 1970-01-01 08:00 init
-rw-r--r-- root root 118 1970-01-01 08:00 default.prop
drwxrwx--x system system 2009-12-20 10:11 data
drwx------ root root 1970-01-01 08:00 root
drwxr-xr-x root root 2010-01-31 15:04 dev
mount
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
tmpfs /tmp tmpfs rw 0 0
/dev/block/mtdblock0 /system yaffs2
rw 0 0
/dev/block/mtdblock4 /opl yaffs2
rw 0 0
/dev/block/mtdblock1 /data yaffs2
rw,nosuid,nodev 0 0
/dev/block/mtdblock3 /local yaffs2
rw,nosuid,nodev 0 0
/dev/block/mtdblock2 /cache yaffs2
rw,nosuid,nodev 0 0
/system,/opl和/cache是VMS Alpha Executable的system.img,opl.img和cache.img转换而来
/local是data的local.img转换而来
/data嘛,就不太好判断,不知道和userdata.img和userdata-qemu.img有什么关系没?
但至少我们知道可以查看/system来明白system image包含哪些东西了吧。。。,比如/system/framework就是android的framework啦
也可以知道可以查看/cache来明白什么是cache image的内涵了吧。。。
对于local image同理可得。。。
到这里下载busybox,http://benno.id.au/blog/2007/11/14/android-busybox
,然后按照提示将busybox push至/data/busybox目录,install后即可运行所有的busybox applet。比如:
/data/busybox/zcat /proc/config.gz|/data/busybox/more
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.25
# Mon Nov 10 05:02:15 2008
所以我们就能知道1.5的Android用的linux kernel是2.6.25版本的。。。
ok,
这又是一种新的文件系统,designed specially for NAND
chips;YAFFS2是YAFFS的第二版,为了适应新的NAND chips,这些新chip的page
size有2048bytes,plus 64bytes的spare areas;老版本的NAND
chips的page是512bytes,plus 16bytes spare area。
从这篇文章编译Android1.5
里能否得到一些启示?
在编译android1.5后,其实我们能得到3个img文件,似乎可以下断言,这三个image是在编译android的过程中得到的。有关生成他们的过程又是另外一个话题,估计得去读makefile了。
./out/target/product/generic/obj/PACKAGING/systemimage_unopt_intermediates/system.img
./out/target/product/generic/userdata.img
./out/target/product/generic/system.img
./out/target/product/generic/ramdisk.img
BTW, out目录是在编译过程中产生的目录,其余目录则是source目录
发表评论
-
APN(default、mms、supl、dun、hipri接入点类型的区别)
2013-10-10 19:31 45800设置APN上网时,大家可能经常遇到这个问题:为什么有时要填写 ... -
AMR音频编码器概述及文件格式分析
2013-10-10 19:29 3949全称Adaptive Multi-Rate,自适应多速率编码 ... -
pad 强制加载 Hdpi资源 (2.3 dpi < 240)
2012-07-16 16:47 0pad 强制加载 Hdpi资源 (2.3 dpi < ... -
android 设计模式-享元模式
2011-12-16 23:01 2190享元(FlyWeight)模式,原意是“轻量级”模式,它用来解 ... -
statusbar 2.3
2011-11-08 16:04 1278以前我的文章分析过Stat ... -
android 输入法默认设置
2011-07-07 14:00 7189设置默认输入法 在 frameworks\base\co ... -
Android Media Scanner Process
2011-06-06 22:58 3400下面是系统图 Medi ... -
handler与多线程消息处理
2011-06-04 13:42 8278在Android下面也有多线程的概念,在C/C++中,子线程可 ... -
android light
2011-03-24 16:15 3408背光设置是在:设置->声音和显示->亮度,通过进度 ... -
PowerManagerService sensor
2011-03-22 20:06 2667默认分类 2010-12-24 14:34:55 阅读144 ... -
android 单例
2011-02-15 09:26 42221. Framework层的代码: A ... -
Android 开发之 Services 服务
2010-11-02 18:21 4238Service Service ... -
深入学习android之AlarmManager
2010-11-01 16:50 34752对应AlarmManage有一个Alarm ... -
eclipse+android+ddms+adt
2010-09-14 10:30 8451用eclipse + ADT作为android ... -
Menus
2010-09-05 19:01 1785Android Menus 文章分类:移动开发 1.O ... -
Android开机自启动应用开发
2010-08-28 10:07 4589目前需要开发一个开机自启动的GTD应用程序来提醒用户的 ... -
Android2.1_Launcher学习笔记
2010-08-11 13:40 3867文章分类:移动开发 好么,2.0的源码没看几天,2.1的 ... -
Browsing Android Source in Eclipse
2010-08-09 16:00 3432Google’s Android SDK includes ... -
android 编译
2010-08-07 16:31 25201 我的系统是Ubuntu 8.04 * 2 系统上 ... -
Ubuntu linux 右键添加"以管理员身份打开","在终端中打开"
2010-08-02 15:04 4640Ubuntu linux 右键添加"以管理员身份打开 ...
相关推荐
最后一步:因为system.img中的apk是优化过的,apk主目录下是没有classes.dex文件的,而是一个被优化过的odex文件,用于优化启动速度。 因此需要将修改后的apk包再用dexopt-wrapper优化apk包后生成出odex文件,...
3. **system.img**:这是安卓系统的根文件系统,包含了Android操作系统的核心组件、应用和系统库。系统更新通常会涉及修改这个镜像文件,以添加新功能或修复漏洞。 4. **MTK Extractor**:针对联发科(MTK)芯片的...
Android Boot Image Editor是一款专为Android系统开发者和爱好者设计的开源工具,主要功能是解析和打包Android系统的boot.img和vbmeta.img文件。这个工具对于理解Android启动流程、定制系统或者进行安全研究具有重要...
标题中的“手机刷机包提取boot.img文件.rar”暗示了我们即将探讨的是关于智能手机系统核心镜像文件(boot.img)的提取过程,这通常与刷机、获取root权限以及ROM定制有关。在Android系统中,boot.img是启动加载器的一...
可用附件中的simg2img.exe来转化一下原始的system.img,然后再用其中的ext2Explorer来浏览提取system.img中的内容。 用法:1、将system.img改名为system.img.ext4。2、命令行cd到simg2img.exe目录下,执行命令“simg...
1. **理解sdcard.img文件** `sdcard.img`是一个二进制文件,它模拟了实际Android设备上的外部存储(即SD卡)。这个文件通常位于Android SDK的`<Android_sdk_path>\system-images\`目录下,根据不同的Android版本和...
Android 系统的 boot.img 文件解包、编辑和打包详解 Android 手机的文件系统由多个存储器组成,每个存储器都有其特定的功能和用途。在 Android 系统中,我们可以使用 `cat /proc/mtd` 命令来查看当前手机的存储器...
把unyaffs与system.img放到同一目录,进入命令模式,运行:unyaffs system.img;windows上的android img解包工具,用于解system.img等文件,不包含打包功能。
这个命令通常是在Android源码编译过程中的一部分,用于自动构建system.img文件。 #### 四、总结 综上所述,在不同的Android版本或系统配置下,生成system.img的方法有所不同。对于早期版本,可以使用`mkyaffs2...
在Android系统中,`boot.img`和`recovery.img`是两个至关重要的镜像文件,它们在设备启动过程中扮演着核心角色。`boot.img`包含了Linux内核、RAMdisk(通常包含init进程和其他启动时必要的服务)以及设备特定的硬件...
总的来说,这个压缩包提供了一套完整的解决方案,使得开发者和爱好者能够轻松地处理高通和MTK设备的BOOT.img和recovery.img文件,从而定制自己的Android系统。然而,进行此类操作需要一定的技术基础和谨慎态度,因为...
在IT领域,特别是Android系统开发和定制中,`system.img`是一个至关重要的文件。它包含了Android系统的大部分核心应用和服务,比如系统设置、框架服务、库文件等。本教程将详细介绍如何在Linux环境下对`system.img`...
- **.img文件**:这是一种常见的磁盘映像文件格式,通常用于存储整个磁盘、分区或光盘的内容。在这种情况下,"system.img"是Android/Linux系统中用于存储系统分区的一个特定格式的文件。 2. **打包过程** - 使用...
教你如何解压Android系统文件中的.img文件。
从 Super.img 文件分区中删除 资源分区的解包打包:resource.img SOC Amlogic固件、瑞芯微、全志拆包打包 拆包和组装服务包:* .zip (Update.zip) 反编译和编译应用程序 (* .apk) 将程序文件夹放在任何位置,靠近...
Android boot.img解包/打包工具集,具体的使用方式可以参考README。
Android 系统修改 System.img 文件是 Android 开发中的一项重要技术,主要涉及到 Android 系统的修改和编译。本文主要介绍了如何修改 System.img 文件,包括前提条件、修改文件、编译打包和界面验证等步骤。 一、...
7. **recovery模式的build.prop文件**:类似于标准模式下的`build.prop`,但针对recovery模式进行了定制,包含了系统版本信息等元数据。 8. **recovery模式使用的资源文件**:位于`recovery/custom/`目录下,包含了...
用于Android打包boot.img文件,主要是针对ramdisk