Closed msuhanov closed 2 years ago
Thank you very much. MFT parsing is being reworked and it is a priority. This will be fixed asap.
Any information on when the users can expect a reworked MFT parser with bug fixes?
Hello, I have done multiple fixes in the last releases. At least another one is coming with the near 10.1.1.
I reproduced one bug with the sample you provided. Is there any intentional corrupted bytes ? I am having some trouble parsing some extents from $DATA.
Not sure if the reply is to me, but the one shared the MFT sample is different person. I haven't inspected the MFT shared by msuhano so can't help if it has intentionally corrupted bytes. I hope @msuhanov responds.
Hello.
No, my sample is not manipulated. It was generated using Windows.
Hello,
I have been able to fix the issue thanks to your image.
When parsing the $DATA from $MFT to build the extent list the MFT record fixup were not applied yet. This was usually working because the stored extent list was short enough to end before the fixup bytes. Your MFT got a lot of extents.
The fix will be release with the 10.1.1.
Thank you again for your test set.
A sample file system image: https://mega.nz/#!uVdHmAKD!8piInddWWdV0qsMuy9j6KYlGrxGY7IZmGs1Xz1IpzXI
The output is:
The output is as expected for other volumes. The fsutil file layout E:\$MFT command gives this output:
It seems that the problem is in this function: https://github.com/DFIR-ORC/dfir-orc/blob/92881ca7836830789f9bf81d2fd12b4f4bc9c149/src/OrcLib/MFTOnline.cpp#L60
It doesn't read mapping pairs (data runs) outside of the first file record segment.