0Pricing
Ethical Hacking Academy · Lekcja

Analiza dynamiczna za pomocą Frida

Frida i hookowanie

Analiza dynamiczna za pomocą Frida to bezpłatna lekcja Ethical Hacking Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ethical Hacking Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ethical Hacking Academy zawiera 4 lekcji w sumie.

Czym jest Frida?

Frida to zestaw narzędzi do dynamicznej instrumentacji. Wstrzykuje silnik JavaScript do działającej aplikacji, umożliwiając sprawdzanie i modyfikowanie jej działania w czasie rzeczywistym, bez ponownej kompilacji.

To najważniejsze narzędzie w dynamicznych testach penetracyjnych aplikacji mobilnych.

Jak działa Frida

Frida uruchamia niewielkiego agenta (frida-server na urządzeniu) oraz klienta na Państwa komputerze. Piszą Państwo kod JavaScript, który podczepia się do funkcji procesu docelowego.

Skrypty mogą odczytywać argumenty, zmieniać wartości zwracane i bezpośrednio wywoływać metody.

Konfiguracja

Należy przesłać pasujący plik binarny frida-server na zrootowane urządzenie (lub użyć zmodyfikowanego pliku APK z frida-gadget na urządzeniach bez roota) i go uruchomić.

Następnie narzędzia desktopowe łączą się przez USB.

adb push frida-server /data/local/tmp/
adb shell /data/local/tmp/frida-server &

Wyliczanie aplikacji

Potwierdź połączenie, wyświetlając listę zainstalowanych aplikacji i uruchomionych procesów za pomocą narzędzi Frida CLI.

Potwierdza to dostępność frida-server i podaje nazwę pakietu, do którego należy się podłączyć.

frida-ps -Uai

Czym jest hooking?

Hooking oznacza przechwycenie funkcji, aby Państwa kod został wykonany przed nią, po niej lub zamiast niej. Można rejestrować dane wejściowe, sprawdzać wyniki albo całkowicie zastępować działanie funkcji.

W systemie Android podczepia się metody Java (oraz funkcje natywne) wewnątrz działającej aplikacji.

Prosty hook języka Java

Wewnątrz Java.perform wybiera się klasę i metodę, a następnie nadpisuje jej implementation. Można rejestrować argumenty, a potem wywołać oryginalną metodę.

Proszę zauważyć, że przykład używa pojedynczych cudzysłowów, a nie backticków, aby zachować poprawność JSON.

Java.perform(function(){
  var Login = Java.use('com.app.Login');
  Login.check.implementation = function(pw){
    console.log('pw=' + pw);
    return this.check(pw);
  };
});

Omijanie kontroli

Aby ominąć logikę, należy nadpisać metodę tak, aby zwracała wybraną wartość. Można na przykład wymusić, aby kontrola roota lub licencji zwracała false (nie wykryto) albo true (autoryzowano).

W ten sposób można pokonać zabezpieczenia po stronie klienta, które ufają urządzeniu.

RootCheck.isRooted.implementation = function(){ return false; };

Omijanie SSL pinningu

Aplikacje używają SSL pinningu, aby odrzucać proxy. Skrypty Frida (takie jak popularne Objection lub uniwersalne skrypty omijające pinning) podczepiają się do logiki pinningu, dzięki czemu można przechwytywać ruch HTTPS.

Jest to niezbędne do analizowania wywołań API aplikacji za pośrednictwem proxy.

frida -U -f com.app -l ssl-bypass.js

Objection

Objection jest oparte na Frida i udostępnia gotowe polecenia: omijanie SSL pinningu, zrzucanie keystore, wyświetlanie aktywności oraz odczyt pamięci aplikacji — wszystko bez pisania skryptów.

Przyspiesza typowe zadania podczas oceny bezpieczeństwa.

objection -g com.app explore

Uruchamianie a podłączanie

Frida może podłączyć się do działającego procesu albo uruchomić aplikację od początku ze skryptem załadowanym od startu (-f).

Uruchamianie jest potrzebne, gdy trzeba podczepić się do kodu wykonywanego wcześnie, na przykład do kontroli przeciwdziałających modyfikacjom podczas uruchamiania.

frida -U -f com.app -l hook.js --no-pause

Śledzenie za pomocą frida-trace

frida-trace automatycznie generuje i dołącza hooki do funkcji pasujących do wzorca, rejestrując każde wywołanie. To świetne narzędzie do odkrywania, których metod aplikacja faktycznie używa.

Można wskazywać metody Java lub funkcje natywne, a następnie dopracowywać wygenerowane handlery, aby sprawdzać konkretne argumenty.

frida-trace -U -f com.app -j '*Crypto*!*'

Szybkie sprawdzenie

Proszę przypomnieć sobie podstawową funkcję Fridy.

Podsumowanie

Rozumieją już Państwo analizę dynamiczną za pomocą Fridy:

  • Frida wstrzykuje silnik JS, aby podczepiać się do funkcji działającej aplikacji.
  • Skonfiguruj frida-server, wyświetlaj procesy za pomocą frida-ps i podczepiaj się do metod Java.
  • Nadpisuj metody, aby omijać kontrole i SSL pinning; Objection automatyzuje te działania.
  • Używaj trybu spawn, aby przechwytywać kod uruchamiany na początku.

W następnej części przeanalizują Państwo niezabezpieczone przechowywanie danych i komunikację.

Często zadawane pytania

Czy lekcja „Analiza dynamiczna za pomocą Frida” jest bezpłatna?

Tak — pełny tekst „Analiza dynamiczna za pomocą Frida” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ethical Hacking Academy, przejdź na CoddyKit PRO. Kurs Ethical Hacking Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Analiza dynamiczna za pomocą Frida”?

Frida i hookowanie Ćwiczysz Ethical Hacking Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Ethical Hacking Academy?

Nie wymagamy żadnego doświadczenia. Ethical Hacking Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Analiza dynamiczna za pomocą Frida”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Ethical Hacking Academy?

Tak. Każda lekcja Ethical Hacking Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Struktura aplikacji Android
  2. Analiza statyczna plików APK
  3. Analiza dynamiczna za pomocą Frida
  4. Niebezpieczne przechowywanie i komunikacja
← Powrót do Ethical Hacking Academy