我正在使用C ++查询NTFS更改日志,它似乎工作正常。唯一的问题是更改日志不显示目录删除或修改的任何记录。因此,我无法在其下的子目录和子文件中获取已删除文件的路径。
有没有人对这个话题有任何见解?
编辑:任何人都可以关闭此主题吗?我注意到已删除目录下的文件将首先显示为已删除,并且目录删除记录将在所有这些之后出现。这是有道理的,因为首先删除文件然后删除目录。为我缺乏远见而道歉。
答案 0 :(得分:1)
我不够专家直接回答这个问题。
但是,我建议你看看
它包含以下相当不祥的标志:
if (file->directory) {
ntfs_log_debug("Found a directory: not recoverable.\n");
return 0;
}
答案 1 :(得分:0)
按照设计,更改日志必须管理索引的删除,因为它至少需要对几个文件系统进行更改:
在不知道如何查询更改日志的情况下,我猜想API会省略索引删除信息。如果你自己解析期刊,那么我不知道它为什么不存在。
我从2002年到2004年为NTFS写了一些取证工具,它们确实恢复了已删除目录的内容。但这并不容易。扫描$MFT
以获取已删除的索引非常简单:只需查看状态位即可。除非已重复使用,否则目录名称和所有其他信息完好无损,但“可用”位除外。查找目录的路径是一个简单的迭代遍历父链,直到命中根目录。