Organizować coś

https://chacker.pl/

Ghidra udostępnia funkcję różnicowania kodów, która umożliwia porównanie różnic pomiędzy dwoma plikami binarnymi o tym samym układzie adresów i pozycji. Jest to przydatne w przypadku porównań binarnych z korelacją przesunięcia jeden do jednego, ale nie koreluje kodu pod względem kontekstu i przepływu wykonania. Na szczęście możemy rozszerzyć możliwości Ghidry, instalując wtyczki takie jak BinDiffHelper1 dla doskonałego narzędzia BinDiff. Aby to zrobić, wykonaj następujące kroki:

1. Zainstaluj narzędzie do automatyzacji kompilacji Gradle w wersji 6.5, uruchamiając następujące polecenia:

  1. Sklonuj i skompiluj wtyczkę BinExport2 z oficjalnego repozytorium. Ta wtyczka automatyzuje proces generowania bazy danych różnic BinExport:

Proces kompilacji może zająć kilka minut. Po zakończeniu należy utworzyć plik ZIP wtyczki BinExport w folderze ~/binexport/java/BinExport.

3. W oknie projektu Ghidry przejdź do Plik | Menu Zainstaluj rozszerzenie i kliknij ikonę znaku plus (+), aby dodać plik ZIP wtyczki do folderu ~/binexport/java/BinExport/dist, jak pokazano poniżej:

  1. Kliknij OK i zrestartuj Ghidrę, aby zmiany wtyczki zostały zastosowane.
  2. W oknie terminala pobierz i zainstaluj BinDiff v6 z oficjalnej strony:

Instalacja pakietu .deb wyświetli monit o podanie ścieżki IDA Pro. Pozostaw to pole puste, aby określić, że jesteśmy zainteresowani eksperymentalnymi rozszerzeniami Ghidra.

  1. Sklonuj i skompiluj wtyczkę BinDiffHelper z oficjalnego repozytorium:

7. W oknie projektu Ghidry przejdź do Plik | Zainstaluj menu rozszerzenia i dodaj plik Zip wtyczki do folderu ~/BinDiffHelper/dist/, jak pokazano poniżej.

  1. Uruchom ponownie Ghidrę, aby zastosować zmiany wtyczek.

Różnicowanie binarne

Teraz, gdy wtyczki zostały zainstalowane, kontynuujmy laboratorium, badając proces różnicowania plików binarnych:

9. Otwórz plik programu z poprawką uczniów. Zostaniesz poproszony o wykrycie nowych rozszerzeń:

Wybierz Tak, aby skonfigurować nowe wtyczki, a w kolejnym oknie kliknij OK:

  1. Uruchom Auto-Analizę i zapisz projekt.
  2. Powtórz kroki 9 i 10, ale tym razem z plikiem programu uczniów.
  3. Otwórz okno wtyczki Window/BinDiffHelper. Kliknij ikonę konfiguracji, aby ustawić poprawną ścieżkę binarną BinDiff 6 (/opt/bindiff/bin/bindiff), jak pokazano poniżej:

  1. Otwórz poprawiony przez uczniów program, klikając ikonę „Otwórz plik do porównania”. Powinieneś teraz zobaczyć wyniki podobieństwa i pewności dla każdej funkcji. Przejdź do funkcji ViewStudentGrades na dole, zaznacz pole wyboru importu i kliknij ikonę „Importuj wybraną funkcję”.

Dodaj komentarz

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