Контекст
Пишу библиотеку для Python, которая быстро строит индекс следующего вида:
class FSIndexEntry:
paths: list[pl.Path]
f_size_logical: int
f_size_allocated: int
Inode: TypeAlias = int
my_index: dict[Inode, FSIndexEntry]
Для этого открываю файл MFT при помощи pytsk:
elevate.elevate()
image = pytsk3.Img_Info("\\\\.\\Y:")
fs = pytsk3.FS_Info(image)
mft_file = fs.open_meta(inode=0)
mft_bytes = mft_file.read_random(0, mft_file.info.meta.size)
и делаю разбор файловых записей. Всё вроде как работает правильно, но есть небольшое количество очень странных записей с искажённым полем filename в атрибуте $FILE_NAME. Чаще всего искажены 1 или 2 буквы ближе к концу имени (но не крайние).
Пример:
Я пробовал открывать файл MFT через HEX-редактор и там тоже filename искажён:
Но при всём этом в системе эта директория отображается верно: `Telegram Desktop`. Так же программы по типу Everything, WizTree и istat отображают название директории верно.
Вывод istat:
Вопрос: с чём это связано и каким образом нужно получать имя директории из $MFT?
P.S. я почти наверняка могу утверждать, что диск и файловая система исправны