Jak przeszukać cały dysk twardy w poszukiwaniu plików zmodyfikowanych w określonym dniu? [duplikować]

9

Kilka godzin temu złapałem wirusa i zidentyfikowałem jeden z jego plików. Znam dokładną minutę instalacji wirusa i chciałbym przeszukać cały mój dysk twardy w poszukiwaniu plików zmodyfikowanych w tym momencie. Czy istnieje narzędzie, które może to zrobić? Wyszukiwanie w systemie Windows przeszukuje tylko dokumenty.

Korzystam z systemu Windows 8.

msbg
źródło
2
Możesz użyć programu antywirusowego ...
BenjiWiebe 15.01.2013
Używam Windows Defender (Security Essentials w Windows 8) + Malwarebytes. MalwareBytes zidentyfikował tylko jeden plik i żaden z nich nie ma opcji wyszukiwania.
msbg
Może to wszystko, co jest zainfekowane. To jest możliwe, że wirus był jeden plik, który niczego nie zrobił jeszcze. Może czekał na polecenia hakera. ;)
BenjiWiebe
1
To prawda, ale wolałbym być pewien. Może za chwilę być gotowy inny plik do ponownej instalacji wirusa.
msbg
1
Program taki jak ten, który opisałem, może się też przydać w innych okolicznościach
msbg

Odpowiedzi:

9

Otwórz Eksploratora plików z pulpitu. Przejdź do katalogu głównego dysku twardego (C: \ prawdopodobnie). Naciśnij / kliknij w polu wyszukiwania i wpisz następujące informacje: System.DateModified:YYYY-MM-DDThh:mm:ssgdzie data i godzina są tymi, o których wiesz, że pojawił się wirus i są opisane w ISO-8601, pokazane tutaj: http://www.w3.org/TR/NOTE- datetime .

Wyszukiwane hasła systemu Windows nazywane są „zaawansowaną składnią zapytań” i zawierają szereg użytecznych terminów, z których większość nie jest udostępniana użytkownikom końcowym za pośrednictwem interfejsu wyszukiwania systemu Windows. To jest jeden przykład wyjaśniony w tym dokumencie MSDN: http://msdn.microsoft.com/en-us/library/bb266512%28VS.85%29.aspx w sekcji „Właściwości DateTime w Windows 8”.

Pamiętaj, że może być konieczne rozwinięcie indeksu, aby przeszukać cały dysk, a także, że indeks nie będzie przeszukiwał niektórych miejsc ( C:\Windows\CSC\na przykład).

KAMONICA
źródło
Dobrze, ale nie widzę żadnej opcji wyszukiwania według minuty / godziny.
msbg
Zmieniono, aby wyjaśnić, jak wyszukiwać na tym poziomie.
KAMonica,
Świetna odpowiedź. (Chciałem zasugerować PowerShell, ale jest to łatwiejsze).
Guy Thomas
@KA czy możesz mi powiedzieć, dlaczego żadna z tych prac nie działa? System.DateModified:>2016-01-04T05:00a System.DateModified:<2016-01-04T05:00. Tak powinno być January 4, 2016 at 5 AM. Dodałem, >ponieważ myślę, jak ty po dacie i godzinie podanej.
Cokedude
2

Jest na to wiele sposobów. Możesz spróbować takiego programu

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

Nie używam 8, a nawet 7. ALE użyłbym CMD. Można to zrobić na kilka sposobów, ale najprostszym sposobem będzie wykonanie DIR całego dysku z podfolderami filtrowanymi według utworzonego czasu, a następnie wyszukiwanie ciągu pasującego do formatu daty i godziny. Aby wkleić do okna CMD, kliknij prawym przyciskiem myszy i wybierz wklej. (ponownie nigdy nie używał win8)

Nie jest tak skomplikowane, że poniższy kod przeszukałby dysk C: w poszukiwaniu pliku utworzonego „01/19/2013 18:38” Wyjście to C: \ FoundFiles.TXT.

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

Poniższy kod wyszuka ukryte pliki i wyśle ​​do c: \ FoundHiddenFiles.TXT

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

użyj / t: a dla plików „ostatni dostęp” i / t: w dla plików ostatnio zapisanych

Aby otworzyć CMD w Windows 8, po prostu wyszukaj aplikacje dla CMD. Być może będziesz musiał dostosować ciąg znaków, aby pasował do wyjścia DIR umieszczonego w oknie 8. Również nie mam pojęcia, czy Windows 8 daje ci dostęp do C :. Każde wyszukiwanie powinno zająć tylko minutę, poda tylko nazwy plików, a nie lokalizację, a po każdym uruchomieniu usunie stary wynik wyszukiwania. „ . ” powinno być opcjonalne, po prostu wstaw je na wszelki wypadek.

mam nadzieję, że komuś pomoże.

Ostatnia rzecz. Możesz po prostu skierować cały dysk twardy na wyjście do pliku tekstowego, a następnie wyszukać za pomocą słowa lub notatnika lub cokolwiek z Windows 8. Poniższe kody wyprowadzą całą zawartość twoich dysków twardych posortowanych podczas tworzenia plików.

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

A jeśli chcesz wyszukać wszystkie ukryte pliki, użyj

dir c:\*.* /s /o:d /t:c /a:h >C:\AllHiddenFiles.TXT
Michael Mantion
źródło
1

Przybyłem tu w poszukiwaniu tego samego problemu.

w Windows 8.1 data w formacie ISO 8601 (RRRR-MM-DDThh: mm: ss) nie działała dla mnie, jeśli dodałem do niej Thh: mm: ss. Data bez godziny była w porządku. „2014–1–15”

Ale zadziałało to z czasem: 15–14–14 16:24 Może być konieczne użycie formatu regionalnego, np. 01/15/14 16:24 lub uniwersalny: 2014–1–15 16:24

Zamiast szukać czasu modyfikacji, sugeruję, abyś poszukał plików UTWORZONYCH w tym dniu i godzinie. Ponieważ pliki utworzyły / zmodyfikowały / uzyskały dostęp do dat: System.DateCreated:15-‎Jan-‎14 16:24

Działa również bez „Systemu”. dla mnie:DateCreated:‎15-‎Jan-‎14 16:24

Ponadto w naszym przypadku dobrym pomysłem jest poszerzenie wyszukiwania, np. 10 minut:

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

lub z datą w formacie niezależnym od języka:

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

wpisujesz ten ciąg w oknie Eksploratora plików w katalogu głównym na dysku głównym (c :) w polu kombi Wyszukaj na tym komputerze po prawej stronie pola tekstowego adresu.

Musisz także dołączyć pliki systemowe do wyszukiwania, ponieważ uważam, że folder AppData znajduje się poza obszarem zindeksowanym i nie będzie przeszukiwany w inny sposób. I tam właśnie przebywają wirusy. Aby to zrobić, kliknij Szukaj w Menu, następnie Opcje zaawansowane i Pliki systemowe włączone

W okienku wyników zobaczysz daty MODYFIKACJI, niektóre poza określonym zakresem. Jeśli spojrzysz na właściwość każdego pliku, zobaczysz, że data utworzenia znajduje się w określonym zakresie. Zostały one zmodyfikowane po ich utworzeniu

(Zrobiłem zdjęcie, ale nie mogę go opublikować)

papo
źródło
1

Istnieje polecenie DOS o nazwie forfiles, którego można użyć

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

możesz użyć również bardziej zaawansowanej składni, takiej jak wywoływanie programu (lub wywoływanie polecenia DOS za pomocą cmd / c ...)

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

zobacz forfiles /? dla składni i parametrów takich jak @nazwa, @nazwa itp.

aby otworzyć wiersz polecenia, przejdź do menu Start / Wyszukaj ... i wpisz CMD i naciśnij klawisz ENTER, aby otworzyć okno DOS

(PS Nie mogę zmusić go do działania w moim systemie - wydaje się, że zwraca wszystkie pliki, nie tylko te zmienione dzień wcześniej, jak określam za pomocą / D -1 - prawdopodobnie dlatego, że ma błąd z greckimi datami będącymi DD / MM / RRRR, a nie MM / DD / RRRR)

KOREKTA: wydaje się, że istnieje nieporozumienie (przeze mnie i innych, sądząc po wyszukiwaniu w sieci) na temat tego, co robi / D -dd, wydaje się, że nie wyszukuje plików, które mają dd dni, ale starsze niż dd dni

więc musisz użyć składni / D + dd / MM / rrrr FORFILES i przekazać tam wczorajszą datę, aby znaleźć wszystkie pliki z datą większą niż wczoraj. Aby to zautomatyzować, możesz użyć% date% i parsować go z% date: ~ 7,2% /% date: ~ 4,2% /% date: ~ -4% lub coś w tym stylu (może być konieczne ponowne uporządkowanie części daty tam w zależności od lokalizacji)

George Birbilis
źródło
Zauważ, że w plikach wsadowych musisz użyć %%, a nie pojedynczego%
George Birbilis
btw, aby znaleźć pliki zmienione dzisiaj, można użyć / D +0, jak się wydaje, i aby znaleźć pliki starsze niż dziś, można użyć / D -0
George Birbilis