I have a partition, formatted as NTFS. I have studied that devices formatted as NTFS have a MFT (Master File Table) which contains a lot of information about the contents of a devices.
Is MFT really a file?
Where is it located? How can I view it?I, actually want to view the $BITMAP to know the locations of all the files and directories in a partition.
Update: Seems like I can only view the MFT file using HexEditor. Still searching for more op开发者_JAVA百科tions though...
Accessing a disk's cluster BITMAP can be read via the FSCTL_GET_VOLUME_BITMAP API call. However, it won't tell what files are at each cluster. You need either parse the MFT (faster) or recursively call FSCTL_GET_RETRIEVAL_POINTERS on each file (slow).
If your intention is to list files from a drive and view the path of them then check the source files here a link. This guy parses the MFT and searches for a file present inside it or not. Just modify the code can help you get the path of files and directories.
I don't exactly know where it is but you can try next path \\.\C:
, as I understood it is it. You can have a look on this program that shows how to get deleted files.
MFT is not a file. MFT is a part of the file system. To view it, you will have to access disk on lower level, such as block mode.
精彩评论