Самый нестандартный тип файла не принимается аргументом -t

Я пытаюсь восстановить удаленный файл в файловой системе ext3 с помощью передовой утилиты. Файл, который я хочу восстановить, является hpp Файл исходного кода C++. Тем не менее, прежде всего не поддерживает автоматически расширение файла hpp, поэтому я должен добавить его в файл конфигурации. Итак, следуя инструкциям на странице руководства, я добавляю следующую строку в файл конфигурации:

hpp n 50000 include include ASCII

Тогда я бегу в первую очередь следующим образом:

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

Вместо того, чтобы что-то делать, он просто отображает справочное сообщение. Если я изменю hpp в htm или же jpg, оно работает. Таким образом, очевидно, что в первую очередь не принимает пользовательский тип файла, который я добавил в файл конфигурации. Но я просмотрел это десятки раз, и я не вижу, что я делаю неправильно. Я точно следую инструкциям. Почему в первую очередь не распознается новый тип файла, который я добавил в файл конфигурации?

3 ответа

Я наткнулся на точно такую ​​же проблему и углубился в нее, просматривая foremost источники.

Оказывается, пользовательские типы, добавленные с использованием файла конфигурации, не могут быть выбраны с помощью -t вариант. Ваши файлы будут найдены, если вы определите hpp введите /etc/foremost.conf и использовать

foremost -v -T -c /etc/foremost.conf -i /dev/md0 -o /home/recover/

Это также восстановит файлы, соответствующие всем встроенным типам, что, вероятно, будет означать много файлов. Чтобы обойти это, исправьте источники, чтобы они не включали встроенные типы при использовании -t all (эквивалентно неиспользованию -t совсем). В state.c, в конце set_search_def функция, init_all называется если strcmp(ft, "all") == 0, Просто закомментируйте звонок init_all и встроенные типы больше не будут использоваться.

Создайте новый файл.conf и удалите в нем все, кроме настроек нужного вам типа. пример будет (foremost_pde.conf):

pde y   200000  #include    #include    ASCII

убедитесь, что вы удалили все символы табуляции или пробела в начале строки, иначе строка не будет распознана. Сохраните и закройте файл conf в месте пользователя (например, ~/Desktop). Теперь используйте:

foremost -v -T -c ~/Desktop/foremost_pde.conf -i /dev/md0 -o /home/recover/

Вы пытались использовать -c config file вариант?

Другие вопросы по тегам