我知道如果在属性的二进制表示的第4个位置存在1,那么这是一个目录,但我不确定在该位置是否存在1我应该将其视为文件吗?
或是否还有其他属性来确定文件夹或文件? 请帮帮我。
感谢。
答案 0 :(得分:1)
每个文件在卷的主文件表(MFT)中都有文件记录。
您可以检查存储在0x16和0x17的2字节标志(注意,小端)。第二位(从右计算)告诉它是文件夹(1)还是文件(0)。
if (flag & 0x02)
it's a folder
else
it's a file
如果你将原本代表文件的这个位强制更改为1,例如在WinHex的帮助下,并且(可能需要重新启动或系统缓存)双击它,操作系统将报告该文件是损坏。
此外,第一位告诉它是否被删除。
if (flag & 0x01)
it's a normal file or folder not deleted
else
it's a deleted file or folder