<summary><strong>Dowiedz się, jak hakować AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
Ta sekcja pochodzi z posta [**https://medium.com/@shubhamsonani/hacking-with-precision-bypass-techniques-via-debugger-in-android-apps-27fd562b2cc0**](https://medium.com/@shubhamsonani/hacking-with-precision-bypass-techniques-via-debugger-in-android-apps-27fd562b2cc0)
Aplikacja w określonych momentach sprawdzi, czy jest debugowalna, a także sprawdzi, czy istnieją binarne wskazujące na zrootowane urządzenie. Debugger może być używany do modyfikowania informacji o aplikacji, odznaczania bitu debugowalności i zmiany nazw wyszukiwanych binarnych w celu ominięcia tych sprawdzeń.
Te kroki zapewniają, że aplikacja może być debugowana i że pewne sprawdzenia bezpieczeństwa mogą być ominięte przy użyciu debugera, ułatwiając bardziej szczegółową analizę lub modyfikację zachowania aplikacji.
Przedstawiono demonstrację z wykorzystaniem podatnej aplikacji zawierającej przycisk i pole tekstowe. Początkowo aplikacja wyświetla "Crack Me". Celem jest zmiana wiadomości z "Try Again" na "Hacked" w czasie rzeczywistym, bez modyfikowania kodu źródłowego.
- Proces obejmował uruchomienie emulatora, zainstalowanie podatnej aplikacji i użycie `adb jdwp`, aby zidentyfikować porty Dalvik VM, które nasłuchują.
- JDWP (Java Debug Wire Protocol) umożliwia debugowanie aplikacji działającej w maszynie wirtualnej poprzez udostępnienie unikalnego portu.
- Przekierowanie portów było konieczne do zdalnego debugowania, a następnie dołączenie JDB do docelowej aplikacji.
- Wykorzystano punkty przerwania i kontrolowano przebieg aplikacji.
- Używano poleceń takich jak `classes` i `methods <nazwa_klasy>`, aby poznać strukturę aplikacji.
- Ustawiono punkt przerwania w metodzie `onClick` i kontrolowano jej wykonanie.
- Wykorzystano polecenia `locals`, `next` i `set`, aby sprawdzić i zmodyfikować zmienne lokalne, szczególnie zmieniając wiadomość "Try Again" na "Hacked".
- Zmodyfikowany kod został wykonany przy użyciu polecenia `run`, co skutkowało pomyślną zmianą wyniku aplikacji w czasie rzeczywistym.