我知道有15个指针0-14,其中12个是直接的,1个是单一间接的,1个是双重间接的,1个是三重间接的。
有没有人能找到这些数据成员。此外,请说明您如何找到这些,因为我在谷歌上搜索了许多次不同的关键字,但都是徒劳的。
发布于 2012-12-08 00:44:19
访问其数据取决于特定的文件系统,因此通常没有“数据指针”(一些文件系统可能是虚拟的,这意味着动态生成数据或从网络中检索数据)。
如果您对ext4
感兴趣,可以在fs/ext4/ext4.h
中查找特定于ext4的inode结构(struct ext4_inode
),其中inode的数据实际上是由12个直接块的索引引用的,其中1个是单一间接的,1个是双重间接的,1个是三重间接的。
这意味着inode的数据块0..11的块号为e4inode->i_block[0/1/.../11]
,而e4inode->i_block[12]
是由数据块号本身填充的块的号(因此它保存inode数据块的索引,范围为12,12 +fs->e4inode->i_block[12]
_e4inode->i_block[0/1/.../11]
/ sizeof(__le32) )。同样的技巧也适用于i_block[13]
,只是它拥有从索引12 + fs->block_size / sizeof(__le32)
开始的双间接索引(填充了保存实际数据的块列表的块的索引的块),而i_block[14]
拥有三个间接索引。
发布于 2014-01-21 12:35:03
如下所述:
http://computer-forensics.sans.org/blog/2010/12/20/digital-forensics-understanding-ext4-part-1-extents
Ext4使用区而不是块指针来跟踪文件内容。
如果您对使用内容指针的ext3/ext2数据结构感兴趣:
http://www.slashroot.in/how-does-file-deletion-work-linux
有许多很好的图表来详细说明它。还有这里:
http://mcgrewsecurity.com/training/extx.pdf
在第16页有“块指针”(基本上是块编号,或相对于磁盘映像开始的偏移值,1块通常为512字节)的详细信息的示例。
如果你想遍历物理上的文件系统,比如一个ext3格式的硬盘,请看下面的:
http://wiki.sleuthkit.org/index.php?title=FS_Analysis
但是你总是可以使用" dd“命令来做任何事情,只需要知道从哪里开始读取和停止读取,并且由于许多原因,dd命令的输入通常是硬盘映像本身的副本。
https://stackoverflow.com/questions/13766317
复制相似问题