Narzędzia w reverse engineeringu (debuggery)

Tym postem rozpoczynam krótką serię o narzedziach wykorzystywanych w systemie Windows, przy analizie plików binarnych. Na pierwszy rzut idą debuggery.

SoftICE

Do debugowania, czyli śledzenia kodu aplikacji w locie, wykorzystuje się debuggery. W przeszłości najczęściej wykorzystywanym programem był słynny SoftICE firmy NuMega/Compuware. SoftICE pozwalał śledzić działanie aplikacji i sterowników, zakładać pułapki na funkcje WinApi i całą masę innych rzeczy.

OllyDbg

Obecnie SoftICE nie jest dalej rozwijany i został przez większość osób zastąpiony przez darmowego OllyDbg (który jednak jest tylko debuggerem ring3, czyli pozwala jedynie na śledzenie aplikacji użytkowych, a nie pozwala śledzić działania driverów systemowych). Można go pobrać z:

http://www.ollydbg.de

Obecnie istnieje kilka zmodyfikowanych wersji debuggera OllyDbg, m.in. wersje zmodowane, których obsługa klawiaturowa została sprowadzona do kompatybilności z SoftICE’em lub wersje spatchowane, tak aby nie można było wykryć obecności debuggera w systemie.

Immunity Debugger

Jedną ze zmodyfikowanych wersji OllyDbg jest ImmunityDebugger, który docelowo został stworzony, aby m.in. wspierać analizę oprogramowania malware, tworzenie exploitów. Atutem tego debuggera jest wbudowane wspracie dla rozszerzeń (pluginów) napisanych w Pythonie, co pozwala zautomatyzować wiele czynności.

http://www.immunitysec.com/products-immdbg.shtml

WinDbg

WinDbg jest darmowym debuggerem systemowym firmy Microsoft, wspiera debuggowanie zarówno aplikacji jak i sterowników systemowych. Debugger ten nigdy nie osiągnął wielkiej popularności, takiej jak choćby OllyDbg (chyba przez swój toporny interfejs), ale jest on chyba najczęściej aktualizowanym debuggerem oraz jest dostępny w wersjach 32 i 64 bitowej.

http://www.microsoft.com/whdc/devtools/debugging/default.mspx

Dodaj komentarz