Chinaunix首页 | 论坛 | 博客
  • 博客访问: 192566
  • 博文数量: 111
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 1240
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-07 07:46
文章分类

全部博文(111)

文章存档

2015年(2)

2014年(1)

2011年(1)

2010年(7)

2009年(100)

我的朋友

分类: LINUX

2009-08-09 15:56:37


转载时请注明出处和作者联系方式
文章出处:http://www.limodev.cn/blog
作者联系方式:李先静

这 两天在分析yaffs2文件系统,花了几天时间把yaffs2的代码通读了几遍,基本脉络差不多搞清楚了。在网上找到一些资料,对我的阅读有很大帮助,不 过它们介绍得不太完整。接下来有时间的话,我会写一个yaffs2源代码分析的系列。一方面进一步加深对yaffs2的理解,另外一方面也希望对分析 yaffs2的朋友有所帮助。

昨天写了一个叫xyaffs2的yaffs2 image逆向工具,它可以把yaffs2 image中的内容解到一个目录中。这里大概介绍一下它的原理:

mkyaffs2image 生成的yaffs2 image是最理想的状态,文件和目录按层次递归存放,文件数据处于连续状态。整个image由N个chunk(page)+tag组成,每个chunk 为2048字节大小,tag为64字节大小(但只用了前面一部分)。每个对象(文件,目录,设备节点和链接等)占用一个chunk用于存放对象信息(类 型,名字和时间等),如果是文件,后面则紧跟着文件内容。

对于使用过的image(比如删除过文件),目录和文件存放就不会那么规则了,不过yaffs2会在其中写入checkpoint数据,通过这些数 据可以得到整个文件系统的层次结构。如果因为断电等原因,文件系统处于不一致状态,需要重新扫描整个image才能构建文件系统的层次结构。

xyaffs2目前只能处理mkyaffs2image生成的image,以后有时间再改进吧。有兴趣的朋友请到这里下载。

阅读(549) | 评论(0) | 转发(0) |
0

上一篇:jdbshell发布

下一篇:共享库函数调用原理

给主人留下些什么吧!~~