Как искать на всем жестком диске файлы, модифицированные на определенную дату? [Дубликат]

9

Я подцепил вирус несколько часов назад и определил один из его файлов. Я знаю точную минуту, когда вирус был установлен, и хотел бы найти на моем жестком диске файлы, измененные в эту минуту. Есть ли утилита, которая может сделать это? Поиск Windows только ищет документы.

Я использую Windows 8.

msbg
источник
2
Вы можете использовать антивирус ...
BenjiWiebe
Я использую Защитник Windows (Основы безопасности в Windows 8) + Malwarebytes. MalwareBytes идентифицировал только один файл, и ни у одного из них нет возможности поиска.
MSBG
Может быть, это все, что заражено. Это является возможным , что вирус был один файл , который не сделал ничего еще. Возможно, ждал команд от хакера. ;)
BenjiWiebe
1
Правда, но я бы предпочел быть уверенным. Вполне может быть еще один файл, готовый переустановить вирус через несколько недель.
MSBG
1
Программа, подобная той, которую я описал, также может пригодиться в других обстоятельствах
msbg

Ответы:

9

Откройте проводник на рабочем столе. Перейдите в корень вашего жесткого диска (C: \ вероятно). Нажмите / щелкните в поле поиска и введите следующее: System.DateModified:YYYY-MM-DDThh:mm:ssгде дата и время - это те, о которых вы знали, что вирус появился и описаны в ISO-8601, показанном здесь: http://www.w3.org/TR/NOTE- Дата и время .

Поисковые термины Windows называются «расширенный синтаксис запроса» и содержат ряд полезных терминов, большинство из которых не предоставляются конечным пользователям через пользовательский интерфейс поиска Windows. Это один пример, описанный в этом документе MSDN: http://msdn.microsoft.com/en-us/library/bb266512%28VS.85%29.aspx в разделе «Свойства DateTime в Windows 8».

Обратите внимание, что вам, возможно, придется расширить индекс для поиска по всему диску, а также, что индекс не будет искать определенные места ( C:\Windows\CSC\для одного примера).

KAMonica
источник
Хорошо, но я не вижу никакой возможности поиска по минутам / часам.
MSBG
Пересмотрено, чтобы объяснить, как искать до этого уровня.
KAMonica
Отличный ответ. (Я собирался предложить PowerShell, но это проще).
Гай Томас
@ КА, можешь мне сказать, почему ни одна из этих работ не работает? System.DateModified:>2016-01-04T05:00и System.DateModified:<2016-01-04T05:00. Это должно быть January 4, 2016 at 5 AM. Я добавил, >потому что я думаю, как вы после даты и времени в списке.
cokedude
2

Существует множество способов сделать это. Вы можете попробовать такую ​​программу, как

http://www.mythicsoft.com/page.aspx?type=filelocatorlite&page=home

Я не использую 8 или даже 7. Но я бы использовал CMD. Есть несколько способов сделать это, но самый простой способ - сделать DIR для всего диска с подпапками, отфильтрованными по созданному времени, а затем найти строку, соответствующую формату даты и времени. Чтобы вставить в окно CMD просто щелкните правой кнопкой мыши и выберите вставить. (опять никогда не использовал win8)

Это не так уж сложно, приведенный ниже код будет искать на диске C: файл, созданный «19.01.2013 18:38». Вывод будет C: \ FoundFiles.TXT.

@dir c:\*.* /s /t:c | findstr "01/19/2013  06:38 PM">c:\FoundFiles.TXT 

Код ниже будет искать скрытые файлы и выводить в c: \ FoundHiddenFiles.TXT

@dir c:\*.* /s /a:h /t:c | findstr "01/19/2013  06:38 PM">c:\FoundHiddenFiles.TXT

используйте / t: a для файлов "последний доступ" и / t: w для файлов, которые были записаны последними

Чтобы открыть CMD в Windows 8, просто найдите приложения для CMD. Возможно, вам придется настроить строку, чтобы она соответствовала вашему выводу DIR, указанному в окне 8. Также я понятия не имею, дает ли Windows 8 доступ к C :. Каждый поиск занимает всего минуту, он даст вам только имена файлов, а не местоположение, и каждый раз, когда вы запускаете его, он стирает старый результат поиска. " . " должен быть необязательным, просто поместите их на всякий случай.

надеюсь, что это помогает кому-то.

Одна последняя вещь. Вы можете просто скопировать весь проклятый диск и вывести его в текстовый файл, а затем выполнить поиск по слову, блокноту или тому, что они вам дадут в Windows 8. Приведенные ниже коды выведут весь контент ваших жестких дисков, отсортированный по моменту создания файлов.

dir c:\*.* /s /o:d /t:c >C:\AllFiles.TXT

И если вы хотите найти все скрытые файлы, используйте

dir c:\*.* /s /o:d /t:c /a:h >C:\AllHiddenFiles.TXT
Майкл Мэнтион
источник
1

Я пришел сюда в поисках с той же проблемой.

в Windows 8.1 дата в формате ISO 8601 (YYYY-MM-DDThh: mm: ss) не работала для меня, если я добавил Thh: mm: ss к дате. Дата без времени была в порядке. '2014- 1- 15'

Но это сработало со временем: 15.01.14 16:24 Возможно, вам понадобится использовать ваш региональный формат, например, 15.01.14 16:24 или универсальный: 2014-15-15 16:24

Вместо того, чтобы искать время модификации, я бы посоветовал вам искать файлы СОЗДАННЫЕ на эту дату и время. Поскольку файлы создали / изменили / получили доступ к датам: System.DateCreated:15-‎Jan-‎14 16:24

Это также работает без «Системы». для меня:DateCreated:‎15-‎Jan-‎14 16:24

Кроме того, в нашем случае рекомендуется расширить поиск, например, на 10 минут:

DateCreated:‎15-‎Jan-‎14 16:24..15-Jan-14 16:34

или с датой в независимом от языка формате:

DateCreated:‎2014-‎1-‎15 16:24..2014-‎1-‎15 16:34

вы вводите эту строку в окне проводника файлов в корневом каталоге на главном диске (c :) в поле со списком поиска на этом компьютере справа от текстового поля адреса.

Также вам нужно включить системные файлы поиска, потому что я думаю, что папка AppData находится за пределами проиндексированного пространства и не будет искать в противном случае. И именно здесь любят жить вирусы. Для этого нажмите «Поиск в меню», затем выберите «Дополнительные параметры» и «Системные файлы».

В области результатов вы увидите даты ИЗМЕНЕНИЯ, некоторые из которых выходят за пределы указанного вами диапазона. Если вы посмотрите на свойства каждого файла, вы увидите, что дата создания находится в указанном диапазоне. Они были изменены после того, как они были созданы

(Я сделал фотографию, но не могу опубликовать ее)

Папо
источник
1

Существует команда DOS под названием forfiles, которую вы можете использовать

forfiles /P C:\ /S /D -1 /M *.*

Вы также можете использовать более сложный синтаксис, такой как вызов программы (или вызов команды DOS с помощью cmd / c ...)

forfiles /P C:\ /S /D -1 /M *.* /C "cmd /c echo @fname @fdate"

см. forfiles /? для синтаксиса и параметров, таких как @fname, @fdate и т. д.

чтобы открыть командную строку, перейдите в меню Пуск / Поиск ... и введите CMD и нажмите клавишу ВВОД, чтобы открыть окно DOS

(PS Я не могу заставить его работать в моей системе - похоже, он возвращает все файлы, а не только те, которые были изменены за день до этого, как я указываю с помощью / D -1 - возможно, из-за ошибки в греческих датах DD / MM / ГГГГ, а не ММ / ДД / ГГГГ)

ИСПРАВЛЕНИЕ: кажется, что существует недоразумение (я и другие тоже, судя по поиску в сети) о том, что делает / D -dd, кажется, что он не ищет файлы, которые имеют возраст dd дней, но старше чем dd дней

поэтому вам нужно использовать / D + dd / MM / гггг синтаксиса FORFILES и передать туда вчерашнюю дату, чтобы найти все файлы с датой больше, чем вчера. Чтобы автоматизировать это, вы можете использовать% date% и проанализировать его с помощью% date: ~ 7,2% /% date: ~ 4,2% /% date: ~ -4% или чего-то в этом роде (может потребоваться изменить порядок частей даты там в зависимости от вашей локали)

Джордж Бирбилис
источник
Обратите внимание, что в пакетных файлах вы должны использовать %%, а не один%
Джордж Бирбилис
Кстати, для поиска файлов, измененных сегодня, можно использовать / D +0, как кажется, и для поиска файлов старше, чем сегодня, можно использовать / D -0
Джордж Бирбилис