使用ntfs-3g,如何自动解析Windows扩展属性?

使用ntfs-3g,如何自动解析Windows扩展属性?

使用 xattrs,可以使用以下命令访问 Windows 扩展属性

getfattr -h -n system.ntfs_ea Ntfs_Mount_Point/some_file

问题在于,它返回的不是属性列表,而是编码为 base64 或十六进制的原始单个二进制值,其中包含所有基础属性。例如

0x1400000000060400244c584d4f4400a411000000

我知道如何使用 ntfsinfo 获取解析结果,但它需要卸载该卷,并且我正在寻找基于 xattr 数据的文件副本,这意味着我需要安装该卷。

例如(因为我知道我需要的态度名称),如何获取$LXATTRBfrom的值Ntfs_Mount_Point/some_file

答案1

如果您包含它给出的输出,将会很有用。

但与此同时,也许代码会帮助你。

也许这个函数具体来说:

line 46: def print_getfattr

编辑:

好吧,在你编辑之后,我能找到的最好的就是朝着正确的方向轻推:

页面包含您提供的示例,以及另一个包含更多 EA 记录的示例。

并在页面,您可以看到它已解析,一直在底部。我不确定它是否已被解析“足够的”,因为我找不到“a4 11 00 00”是什么文件模式。但正如您所看到的,它直接位于属性名称之后,属性名称采用 ascii 格式(用空字节分隔)。我认为 EA 的长度也在那里,特别是在所有这些中,0x04。但不确定 0x06。

十六进制转储1

其他多个扩展记录似乎也是如此。

十六进制转储2

提及EA工具,这也可能会派上用场,并且还给出参考到 msdn 中的“技术细节”

也许尝试将 ntfsinfo 的输出与显示的十六进制转储进行比较,看看是否有任何内容弹出。

祝您 NTFS 之旅顺利。

相关内容