-t 参数不接受最重要的自定义文件类型

6 linux data-recovery forensics

我正在尝试使用最重要的实用程序在 ext3 文件系统上恢复已删除的文件。我要恢复的文件是一个hppC++ 源代码文件。但是,foremost 不自动支持 hpp 文件扩展名,因此我必须将其添加到配置文件中。因此,按照手册页上的说明,我将以下行添加到配置文件中:

hpp n 50000 include include ASCII

然后我首先运行如下:

$foremost -v -T -t hpp -i /dev/md0 -o /home/recover/

它没有做任何事情,只是显示帮助消息。如果我将 更改hpphtmjpg,它会起作用。所以显然最重要的是不接受我添加到配置文件中的自定义文件类型。但是我现在已经看了几十次了,我看不出我做错了什么。我完全按照说明操作。为什么不首先识别我添加到配置文件中的新文件类型?

小智 6

我偶然发现了完全相同的问题,并通过查看foremost来源对其进行了更深入的研究。

事实证明,无法使用该-t选项选择使用配置文件添加的自定义类型。如果您定义hpp类型/etc/foremost.conf并使用,您的文件将被找到

foremost -v -T -c /etc/foremost.conf -i /dev/md0 -o /home/recover/
Run Code Online (Sandbox Code Playgroud)

这也将恢复匹配所有内置类型的文件,这可能意味着很多文件。要解决此问题,请在使用时修补源以不包含任何内置类型-t all(相当于根本不使用-t)。In state.c,在set_search_def函数的末尾,init_all被调用 if strcmp(ft, "all") == 0。只需注释掉对的调用,init_all内置类型将不再使用。


lg.*_*lg. 0

您尝试过使用-c config file选项吗?