Sysinternals jest to pakiet narzędzi które w niektórych sytuacjach bardzo mocno potrafią pomóc i uprościć niektóre zadania. Dzisiaj krótko o Strongs.
Czym jest narzędzie Strings?
Strings jest to narzędzie które wyszukuje ciągi znaków ASCII lub UNICODE znajdujące się w dowolnych plikach. Często przydaje się do analizy plików i oprogramowania co do którego mamy podejrzenia że może być plikiem złośliwym.
Jak używać to narzędzie?
Należy je pobrać ze strony live.sysinternals.com/, uruchomić wiersz poleceń lub PowerShell i w zależności od potrzeb wykonać polecenie.
strings [-a] [-f offset] [-b bytes] [-n length] [-o] [-q] [-s] [-u] <file or directory>
–a: Wyszukiwanie tylko ciągów znaków z kodowaniem ASCII
-b: Używa się go z parametrem -n do określenia liczby bajtów kontekstu, które mają być wyświetlone przed i po znalezionym ciągu
-f: Rozpoczęcia skanowania od określonego miejsca w pliku
-o: Wyświetla przesunięcie w pliku, gdzie dany ciąg się zaczyna, podawane w bajtach. Przydatny parametr dla tych, którzy chcą zlokalizować konkretne ciągi w kodzie binarnym.
-n: Minimalna długość stringu która pojawi się na wyjściu (domyślnie 3)
-s: Przeszukiwanie rekursywne katalogów
-u: Wyszukiwanie tylko ciągów znaków z kodowaniem UNICODE
–q: Nie wyświetla informacji o licencji na starcie aplikacji
Przykład użycia:

Ale po co mi to?
Jest to jedno z narzędzi umożliwiających analizę malware bez jego aktywnego uruchamiania. Dzięki niemu możemy w prosty sposób próbować znaleźć podejrzane ciągi znaków jak na przykład określone komendy, adresy IP, URL itp. A oto kilka przykładów:
- Sprawdzenie czy plik zawiera frazę „This program cannot be run in DOS mode”

- Sprawdzenie czy plik zawiera url

- Przynajmniej częściowe odwzorowanie działania programu:

I wiele wiele innych. Jest to narzędzie bardzo proste, a jednak przy tym niejednokrotnie bardzo przydatne.