Przeglądarka kodów zapewnia intuicyjny interfejs użytkownika do podstawowych funkcjonalności i nawigacji Ghidry. Większość czasu spędzonego na pracy z Ghidrą spędzisz w tym widoku, ponieważ zawiera on menu i paski narzędzi do najpopularniejszych zadań. Domyślny układ pokazano na rysunku i opisano w dalszej części.
(1) Menu główne W tym menu dostępne są wszystkie główne opcje.
(2) Pasek narzędzi Tutaj znajdziesz grupę ikon przycisków, których możesz używać jako skrótów do typowych funkcji.
(3) Drzewa programów Zawiera listę drzewiastą wszystkich segmentów pamięci zdefiniowanych przez plik binarny i będzie się różnić w zależności od formatu binarnego i programu ładującego.
(4) Drzewo symboli Tutaj możesz szybko poruszać się po wszystkich symbolach zdefiniowanych w informacjach debugowania lub rozwiązanych przez wstępną analizę. Symbole te są oddzielone typem: import, eksport, funkcje, etykiety, klasy i przestrzenie nazw
(5) Menedżer typów danych Wbudowane, ogólne, dostarczane binarnie i zdefiniowane przez użytkownika typy danych będą dostępne tutaj. Możesz łatwo przechodzić do operacji na wartościach i referencjach według ich typu danych.
(6) Listing Tutaj wymieniono dezasemblację kodu programu i odniesienia do danych. Możesz łatwo eksplorować logikę programu, odniesienia i przesunięcia adresów. Wyświetlane są tutaj również specjalne komentarze i nazwane wartości wygenerowane przez moduł ładujący i analizator Ghidra.
(7) Dekompiluj To okno wyświetla reprezentację funkcji wybranej w oknie Listing w języku C. Ta dekompilacja ułatwia proces analizowania dużych i złożonych bloków kodu asemblera.
(8) Konsola – Skrypty Tutaj pokazane są wyniki i dane wyjściowe skryptów i wtyczek.
Jeśli przejdziesz do Drzew programów i klikniesz dwukrotnie segment pamięci .text, okno Listing przejdzie na początek kodu wykonywalnego programu i wyświetli kod deasemblujący wzbogacony o zmianę nazwy i komentarze powstałe w wyniku poprzedniej analizy. Zawiera także intuicyjne informacje umożliwiające eksplorację i zrozumienie kodu, takie jak adresowanie, kod bajtowy instrukcji, operandy danych z komentarzami, etykiety, informacje o przepływie rozgałęzień warunkowych i odniesienia.
W drzewie symboli przejdź do pola Filtruj tekst i wpisz LoadStudents, aby wyszukać tę funkcję. Kliknij, aby wyświetlić funkcję w oknie Lista:
Okno Listing posiada wzbogacony widok zdezasemblowanego kodu programu:
(1) Pasek narzędzi Listing zapewnia szybki dostęp do funkcji kopiowania i wklejania, podglądu podpowiedzi, edytora pól list, widoku różnic dla porównań programów, migawek i przełączania wyświetlania marginesów. Możesz kliknąć przycisk Edytuj pola aukcji na pasku narzędzi, aby dostosować domyślny układ aukcji.
(2) Komentarze ułatwiają śledzenie Twojej pracy. Czasami są one dostarczane w wyniku analizy wartości i argumentów różnych symboli, ale możesz dodać własne, naciskając ; (średnik) lub klikając prawym przyciskiem myszy wybrany adres i przechodząc do wyskakującego menu Komentarze.
(3) Strzałki przepływu pokazują miejsce docelowe skoków warunkowych i bezwarunkowych.
(4) Linki odsyłające dostarczają informacji o tym, gdzie w programie wartości są odczytywane i zapisywane oraz gdzie wywoływane są funkcje lub do których odwołują się. Dwukrotne kliknięcie tych linków przeniesie widok Listy na wskazany adres. Odniesienia można także znaleźć pod dowolnym adresem lub symbolem, naciskając klawisze CTRL-SHIFT-F.
(5) Adres pamięci pokazuje bezwzględne odniesienie numeryczne do dowolnego kodu lub wartości przeglądanej w oknie Lista. Możesz przejść do dowolnego adresu w otwartym pliku, naciskając G.
(6) Bajty kodu to binarna reprezentacja bieżącej instrukcji zakodowana w formacie szesnastkowym.
(7) Kod demontażu to miejsce, w którym znajdują się zdezasemblowane i przeanalizowane instrukcje wraz z ich mnemonikami i argumentami. Możesz poprawiać i zmieniać te instrukcje, naciskając CTRL-SHIFT-G.
(8) Paski boczne Legenda Entropii i Legenda przeglądu pomagają szybko przeglądać i poruszać się po różnych częściach programu poprzez kodowanie kolorami w skali szarości binarnej wariancji i kodowanie entropii oraz poprzez udostępnianie bloków oznaczonych jako Funkcja, Niezainicjowane, Odniesienie zewnętrzne, Instrukcja, Dane i Niezdefiniowane . Odniesienia oznaczone kolorami można wyświetlić, klikając prawym przyciskiem myszy pasek boczny i wybierając opcję Pokaż legendę.