foremost + поиск по hex сигнатуре ключевой фразы
foremost -i /dev/sdXX -o /путь/к/папке/на/которой/достаточно/места/возможно/внешний/носитель
sdXX - раздел, на котором удалился файл
Запускаем и пусть работает
Создаём bash-скрипт для поиска файлов с содержанием unicode-текста в hex-представлении (например ~/searchsig.sh):
#!/bin/bash
if [ -z $1 ]; then echo "Usage: $0 <hex sequence>"; exit -1;
fi
find . -type f | while read x; do echo $x; xxd -p "$x" | grep "$1" | cut -c 1-100; done | grep "$1" -B 1
После отработки foremost'а копируем в выходной папке (/путь/к/папке/на/которой/достаточно/места/возможно/внешний/носитель) из подкаталога ole в подкаталог doc файлы с расширением .ole - на деле, это часто именно doc-файлы (можно убедиться по сигнатуре начала файла d0 cf 11). Делаем групповое переименование .ole в .doc для удобства (в подкаталоге doc/):
rename "s/\.ole/\.doc/" *.ole
Выясняем hex-сигнатуру искомого текста (чтобы был только в нашем файле). В бинарнике unicode-последовательности идут с перестановкой старшего и младшего байта, например, буква "к" будет 3a04, в то время, как её unicode-значение 043a. Можно подсмотреть весь фрагмент текста в выхлопе hd для старой версии файла (если есть) или в файле с такой же фразой.
Пишем hex-последовательность искомого текста. Например, для слова "привет" это будет 3f0440043804320435044204 - без пробелов, скрипт будет использовать xxd (см.выше), пробелов там нет.
Натравливаем скрипт на подкаталог doc (перейдя туда) и перенаправляем выхлоп в файл для дальнейшей выборки (можно создать подкаталог found на том же уровне, что и doc):
cd путь/к/папке/на/которой/достаточно/места/возможно/внешний/носитель/doc
bash ~/searchsig.sh 3f0440043804320435044204 > ../found/list_файлы_содержащие_слово_привет.txt
после того, как скрипт отработает, копируем найденные файлы (например, туда же, в found):
mkdir ../found/привет
cat ../found/list_файлы_содержащие_слово_привет.txt | grep "./" | while read x; do cp "$x" ../found/привет/; done
Переходим в ../found/привет , по одному открываем файлы и находим нужный.
Комментариев нет:
Отправить комментарий