Przegląd funkcjonalności

https://chacker.pl/

Chociaż Ghidra oferuje wiele funkcji i funkcjonalności, dla uproszczenia skupimy się tylko na najbardziej podstawowych i korzystnych funkcjach.

Okno projektu

Okno projektu jest głównym oknem dostępnym po załadowaniu Ghidry; zapewnia funkcje zarządzania projektami, pliki docelowe aktywnego projektu, skrzynki narzędziowe i ogólną definicję obszaru roboczego. Stwórzmy nasz projekt i rozpocznijmy pracę z wcześniej skompilowanymi plikami docelowymi. Uruchom Ghidrę, jeśli jeszcze tego nie zrobiłeś, a następnie wykonaj następujące kroki:

  1. Utwórz nowy projekt klikając Plik | Nowy lub naciskając CTRL-N. Ustawimy ten projekt jako prywatny (czyli projekt niewspółdzielony), a także ustalimy nazwę projektu i folder, w którym będzie się on znajdować.
  2. Dołącz ucznia i pliki binarne z poprawkami do projektu, klikając Plik | Importuj lub naciskając I dla każdego z nich. Spowoduje to wykrycie formatu i języka pliku binarnego (w tym przypadku ELF skompilowany z x86:LE:64:default:gcc), jak pokazano poniżej.

  1. Kliknij przycisk OK. Zostanie wyświetlone podsumowanie wyników importu z metadanymi pliku i właściwościami nagłówka.
  2. Kliknij dwukrotnie plik docelowy uczniów, aby uruchomić przeglądarkę kodów i rozpocząć analizę.

Analiza

Gdy tylko Ghidra załaduje program, sugeruje analizę programu, jeśli nie zostało to już wcześniej zrobione:

Analizator wykonuje wiele zadań, ale najważniejsze z nich zostały pokazane tutaj i opisane poniżej:

  • Analizator funkcji Przypisuje adresy i nazwy funkcjom na podstawie ich symboli lub poprzez wykrywanie prologów i epilogów funkcji podczas deasemblacji kodu.
  • Analizator stosu Wnioskuje o rozmiarach zmiennych stosu i odniesieniach w oparciu o operacje na podstawie stosu i wskaźniku na początku funkcji.
  • Analizator argumentów Przypisuje i rozwiązuje odniesienia do adresów i symboli w oparciu o operandy skalarne.
  • Analizator odwołań do danych Rozpoznaje adresy i odniesienia do wartości danych i oczywistych typów danych w oparciu o lokalizację sekcji pamięci i argumenty w kodzie.

Analiza | Podmenu One-Shot umożliwia uruchomienie wielu lub wszystkich różnych zadań analitycznych na wybranym bloku kodu.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *