Analiza programów

Analiza programów – badanie programów komputerowych gotowych do uruchomienia lub w postaci kodów źródłowych. Analiza w trakcie działania programu nazywa się analizą dynamiczną(inne języki), natomiast badanie bez uruchamiania programu nazywa się analizą statyczną. Najważniejszymi zastosowaniami analizy programów jest znajdowanie i usuwanie przyczyn ich błędnego działania (debugowanie), poprawianie jakości programów (optymalizacja) oraz poznawanie szczegółów zasad działania programu (reverse engineering).

Ważniejsze narzędzia

  • Debuggery
    • gdb
    • ddd(inne języki)
    • gvd
    • SoftICE
    • OllyDbg
    • edb
  • Debugery pamięci(inne języki)
    • Electric fence
  • Deasemblery
    • IDA
    • ndisasm
    • w32Dasm
  • Emulatory sprzętu
    • Bochs
    • QEMU
  • Narzędzia badające interakcję programu z systemem operacyjnym
    • fenris
    • ltrace
    • strace
  • Narzędzia monitorujące aktywność systemu plików oraz zmiany w rejestrze Windows
    • ProcMon(inne języki)
  • Statyczne narzędzia analizy kodów źródłowych
    • CMT++
    • Lint
  • Statyczne narzędzia analizy programów
    • elfsh
    • objdump
    • readelf(inne języki)
    • nm(inne języki)
  • Inne techniki
    • LD PRELOAD

Zobacz też