ooprizrakoo
@ooprizrakoo

Как найти файл по его типу, если расширение изменено?

Дано: Запароленный zip или rar-архив с данными. Дабы его было сложнее найти, файл переименовывается во что-то типа gimn_zimbabve.mp3, и засовывается в какую-то дальнюю папку. Проходит пять лет.
Вспоминается, что файл где-то лежит, но «где — не помню, и как называется — хз».

Задача: Найти файл, зная лишь его приблизительный размер, и настоящий тип.

Вопрос: Какой тулзой этот можно сделать?
Нужна программа, которая может:
а) искать по нужному типу (но не расширению) файла
б) отобразить только те файлы, расширение которых отличается от их типа.
в) (желательно) настроиться по дате изменения/создания или размеру файла.

Навскидку я таких не нашел. Посоветуйте?
  • Вопрос задан
  • 9688 просмотров
Решения вопроса 1
ooprizrakoo
@ooprizrakoo Автор вопроса
Нашел софтину: www.tucows.com/preview/391274/File-Investigator-TOOLS
она платная, правда. но триал-режим есть.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 9
pentarh
@pentarh
Unix-way

find /target/directory -type f -exec file '{}' \; | grep -i archive:

Пример вывода:
./.minecraft/bin/minecraft.jar: Zip archive data, at least v2.0 to extract
./w2.zip: Zip archive data, at least v2.0 to extract
./.dropbox-dist/setuptools-0.6c11-py2.5.egg: Zip archive data, at least v2.0 to extract
./1.tar: POSIX tar archive (GNU)
Ответ написан
bolk
@bolk
Вы по-моему, просто издеваетесь тут надо всеми. В первых двух ответах вам уже дали решение.

Вот решение:
find /target/directory -type f -exec file '{}' \; | grep -i archive


Вот нужные вам утилиты:
gnuwin32.sourceforge.net/packages/file.htm
gnuwin32.sourceforge.net/packages/findutils.htm
Ответ написан
яркий пример как бы «защиты» и её последствий
Ответ написан
Комментировать
bobermaniac
@bobermaniac
Если нужно найти конкретный файл — то имеет смысл написать утилитку самому, благо что это буквально 5 строчек.

zip-файл можно найти по сигнатуре PK в начале файла, а дальше — рекурсивно по папкам искать те, что не zip но с нужной сигнатурой.

Правда, вас неприятно удивит количество найденных файлов с расширением docx и прочих zip-контейнеров — они, как не странно, довольно часто встречаются.
Ответ написан
@Maccimo
Если операция единоразовая, то можно поступить «в лоб»:
  1. Сначала найти все файлы, содержащие подходящие нам маркеры. Для rar это будет строка в начале файла «Rar!» (без кавычек, с соблюдением регистра).
  2. Затем отбросить все файлы с «правильным» расширением (для rar-архивов — *.rar)
  3. С оставшимися файлами разобраться в частном порядке.
Ответ написан
vader666
@vader666
Есть программка которая определяет тип файла не по расширению: filetype, но она довольно простовата и не умеет делать это рекурсивно. Для папки можно
filetype -i d:\folder | findstr RAR
и она покажет все файлы rar даже если у них совершенно другое расширение. Что бы пройтись рекурсивно надо делать batch-файл который пропарсит рекурсивно папки и скормит комманде найденные файлы.
Ответ написан
marcus
@marcus
А имя файлов внутри архива известно? Есть поисковики по архивам, можно попробовать натравить на любое расширение, наверно.
Ответ написан
phil_tsarik
@phil_tsarik
в тотале коммандере выбрать поиск файлов (alt+F7), содержащих текст. для zip-файлов указать «PK», а для rar — «RAR!». либо еще можно вместо обычных символов указать рег выражение, но, к сожалению, не могу сказать на вскидку, какое условие надо написать, чтобы файл начинался с тех символов (именно начинался). иначе будет слишком много файлов не тех.
+ с другими опциями поиграться…
Ответ написан
@xsash
FAR?

alt+F7

Искать 16-ричный код => 50 4B 03 04
можно задать фильтр по датам и прочему

потом просто в найденном искать ручками
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы