Witamy w aplikacji na Androida, Hacking Black Bag Edition.
Bardzo się cieszę, że tu jesteś.
Podczas tego kursu nauczymy się naprawdę złożonych tematów, takich jak Smiley, jednocześnie dobrze się bawiąc.
Więc nauczymy się Smileya, łatając grę mobilną, aby nieskończoność much była niezwyciężona, niewidzialna.
Dodajemy więcej niż jednego gracza, a nawet więcej.
Ale zanim będziemy mogli to wszystko zrobić, musimy to najpierw skonfigurować.
Staram się więc, aby było to jak najbardziej ekscytujące.
Dobrze.
Pytanie może brzmieć: jakich wymagań potrzebuję do tego kursu?
A odpowiedź na to pytanie jest absolutnie żadna.
Nawet jeśli nigdy, przenigdy nie analizowałeś aplikacji na Androida w ramach tego kursu, doprowadzę
cię od zera do absolutnego eksperta w dziedzinie bezpieczeństwa aplikacji na Androida, który z łatwością poradzi sobie z ludźmi, którzy mają
wieloletnie doświadczenie.
W porządku.
Dobrze.
A nawet jeśli masz już doświadczenie, nadal jesteś tutaj w porządku.
Możesz po prostu chcieć pominąć niektóre rozdziały, takie jak część instalacyjna, ale domyślam się,
że dowiesz się, który z nich.
W porządku, wracamy do tego.
Nie ma więc żadnych wymagań.
Doskonale.
Czego jeszcze potrzebujemy?
Czy potrzebujemy naprawdę mądrego i dedykowanego laptopa?
Dowiedzmy się tego.
Dobrze.
Jeśli chcemy zhakować aplikację na Androida, potrzebujemy pewnego rodzaju interakcji z urządzeniem.
Pytanie brzmi teraz, czy muszę kupić urządzenie do odczytu?
Odpowiedź na to pytanie brzmi: nie.
Możemy również wizualizować system Android w naszym systemie, czyli na naszym laptopie.
Ale posiadanie prawdziwego urządzenia jest lepszym doświadczeniem dla użytkownika.
Istnieją również różnice między testowaniem na prawdziwym urządzeniu a emulatorem lub maszyną wirtualną.
Za chwilę będziemy musieli przyjrzeć się różnicom.
Dobrze.
Jeśli korzystasz z prawdziwego urządzenia, jak wygląda interakcja?
Cóż, interakcja z aplikacją mobilną opiera się wtedy na USB lub wi fi, więc możemy korzystać z obu.
Ale szczerze mówiąc, jest tylko jedno rozwiązanie, które powinniśmy wybrać.
I to jest USB, ponieważ wi fi, to naprawdę nie jest to stwierdzenie.
W porządku.
Tak więc po prostu podłączamy nasz kabel USB, następnie wykonujemy wszystkie nasze rzeczy i możemy zacząć hakować
w aplikacji.
Taka jest teoria.
Więcej na ten temat dowiemy się w części dotyczącej instalacji.
Część konfiguracyjna.
Dobrze.
Co jeszcze możemy zrobić w oparciu o to połączenie USB?
Cóż, możemy zrobić wiele rzeczy.
Na przykład, możemy użyć Android Debug Bridge do interakcji z urządzeniem.
Możemy użyć Java Debug Buyer Protocol do debugowania kodu Java.
Możemy użyć CDB do debugowania natywnego kodu C i możemy użyć tego i wielu innych.
Jest to więc zdecydowanie najlepsza konfiguracja wykorzystująca dedykowane urządzenie i dedykowany laptop do wszystkich tych zadań.
Ale jest też najdroższy, jeśli nie masz tyle pieniędzy, nie ma problemu.
Możemy pominąć posiadanie darmowego urządzenia.
Dobrze.
Jeśli nie masz urządzenia, możemy użyć wirtualizacji.
Możemy na przykład użyć emulatora, który jest dostarczany ze studiem Android.
Dowiemy się, jak to skonfigurować i korzystać z emulatora w osobnej sekcji, ale możesz wykonać wszystkie
nasze zadania w tym emulatorze.
Oprócz tego emulatora, istnieje jeszcze trzecia opcja wirtualizacji systemu Android, a jest nią użycie dedykowanej
maszyny wirtualnej.
Chodzi mi o to, że maszyna wirtualna i emulator są dość podobne, ale możemy ich używać w
różnych konfiguracjach, o czym za chwilę porozmawiamy.
W porządku.
Są to więc nasze opcje, korzystanie z dowolnego urządzenia, korzystanie z emulatora i korzystanie z maszyny wirtualnej.
W przypadku, gdy nie mamy dedykowanego laptopa do wszystkich tych testów, możemy napotkać mały
problem.
Teraz.
Jest to wykonalne, ale nie jest to najlepsze rozwiązanie dla użytkownika.
Pokażę ci więc, co mam na myśli.
Dobrze.
Ustawiliśmy, że nie polecam tego w następujący sposób.
Jeśli korzystamy z laptopa i używamy go do innych rzeczy, musimy uruchomić maszynę
wirtualną dla naszego systemu.
W tym kursie używamy systemu Ubuntu, ale można też użyć Kali lub czegokolwiek innego.
Polecam używanie ubuntu, ponieważ przetestowałem wszystko i działa idealnie na systemie
ubuntu.
W porządku.
Jeśli teraz używamy systemu Ubuntu, potrzebujemy jakiegoś rodzaju wirtualizacji, na przykład
VMware, VirtualBox do Aimo lub innych rzeczy.
Wizualizacje te korzystają z hiperwizora, który udostępnia zasoby z naszego prawdziwego
laptopa.
Na przykład ten.
Do maszyny wirtualnej.
Tak więc zasoby te są obecnie dzielone między te dwa podmioty.
Absolutnie nie ma problemu.
Dlatego właśnie mamy wirtualizację.
Ale teraz, jeśli uruchomimy inną maszynę wirtualną w naszej maszynie wirtualnej, powiedzmy, że nasza maszyna wirtualna z systemem Linux
jest teraz naszym systemem Ubuntu, w którym instalujemy wszystkie te narzędzia, Android studio i wiele innych.
Teraz uruchamiamy emulator z tej maszyny wirtualnej, z tej maszyny wirtualnej z systemem Linux.
Wtedy potrzebujemy innego hypervisora.
Ten hiperwizor ponownie współdzieli zasoby z naszego już współdzielonego hiperwizora z nową
maszyną wirtualną OC.
Wyjaśnienie może być nieco szorstkie, więc zróbmy to jeszcze raz.
Nasz prawdziwy laptop.
Ten tutaj współdzieli teraz zasoby w ramach maszyny wirtualnej.
Ta maszyna wirtualna współdzieli te zasoby z inną maszyną wirtualną.
Jest to więc teraz zagnieżdżona wirtualizacja i jest to zdecydowanie najgorsze doświadczenie dla użytkownika.
Przetestowałem konfigurację podczas tego kursu i działa.
Używałem ośmiu gigabajtów pamięci RAM i tylko dwóch lub czterech rdzeni procesora, ale szczerze mówiąc, zdecydowanie
nie jest to zalecane.
To najgorsze doświadczenie użytkownika, jakie można mieć.
Lepszą opcją byłoby użycie dedykowanego laptopa.
Tak więc w przypadku, gdy nie masz urządzenia pamięci, a może masz już uruchomiony system Linux, możesz
użyć tego systemu, wykonując tę czynność.
Ponownie korzystamy z naszego hypervisora, ale tym razem udostępniamy te zasoby tylko jednej
instancji naraz.
Jest to więc całkowicie w porządku.
A jeśli nie masz żadnego urządzenia, to tak, to druga najlepsza opcja.
Dobrze.
W porządku.
Przyjrzyjmy się teraz różnicom między korzystaniem z prawdziwego smartfona a maszyną wirtualną lub emulatorem.
Podsumuję z maszyną i emulatorem, ponieważ są one takie same.
W porządku.
Rzućmy więc okiem.
Porozmawiajmy o dostępie do trasy, smartfonie kontra maszynie wirtualnej lub emulatorze na prawdziwym smartfonie.
Czasami nie jest możliwe uzyskanie dostępu root lub wymaga to ogromnej ilości pracy.
Możesz także uszkodzić swoje urządzenie.
Dlatego, powiedzmy, żółty przy użyciu maszyny wirtualnej lub emulatora, uzyskujesz bezpośredni dostęp do
roota.
Jest to więc zdecydowanie korzystne dla wydajności maszyn wirtualnych.
Mam na myśli, że na smartfonie jest to najlepsza wydajność, z jaką możemy się spotkać przy użyciu maszyny wirtualnej lub
emulatora.
Jeśli masz wystarczająco dużo zasobów, to również jest w porządku.
Następnie mamy wsparcie platformy.
I tutaj mam na myśli, jeśli wszystkie te aplikacje działają w obu instancjach na smartfonie, oczywiście.
Tak.
A teraz staje się to trudne na emulatorze lub maszynie wirtualnej.
Nie musi tak być.
Smartfon z Androidem korzysta więc z architektury ARM.
To coś innego niż maszyna wirtualna lub emulator.
Używają tego samego, co twój laptop, czyli x86.
Można emulować architekturę ramienia na laptopie, ale jest to strasznie powolne.
Więc zdecydowanie nie jest to zalecane.
Co to teraz oznacza?
Może się tak zdarzyć, jeśli używasz aplikacji, która nie działa na maszynie wirtualnej lub emulatorze.
Po prostu działa na re urządzeniach, ponieważ jest stworzony dla architektury ARM.
Nie dotyczy to tego kursu.
Jest to również dość rzadkie zjawisko.
Spotkałem się z tym chyba z pięć lub dziesięć razy, że nie mogłem uruchomić tej
aplikacji na emulatorze na komputerze.
Oznacza to, że jeśli używasz na przykład natywnego kodu C i po prostu skompilujesz te biblioteki dla architektury
ARM, to nie będą one działać na Twojej maszynie wirtualnej w tym kursie.
To absolutnie żaden problem.
Jeśli chcesz rozpocząć karierę w hakowaniu aplikacji na Androida, naprawdę polecam korzystanie z każdego urządzenia, ponieważ
wtedy na pewno nie będziesz miał żadnych problemów.
W porządku.
Dobrze.
Kolejne funkcje smartfona, SMS-y, rozmowy telefoniczne, takie rzeczy jak to urządzenie, oczywiście maszyna wirtualna
lub emulator.
To zależy.
Nie można więc na przykład wysyłać prawdziwych wiadomości lub nagrań, ale można je podrobić.
Istnieją więc aplikacje, ale można wysyłać własne wiadomości SMS lub wykonywać własne połączenia telefoniczne.
Ale może to być również zaleta, ponieważ można przetestować pewne rzeczy, takie jak spamowanie dużą ilością wiadomości SMS, nawet
za nie nie płacąc.
W porządku.
Aktualny smartfon, to zależy.
Jeśli więc korzystasz teraz z nowego urządzenia, nie powinno ci nic dolegać przez następne cztery lata.
Absolutnie nie ma problemu z emulatorem, możesz wybierać między różnymi urządzeniami, a następnie wybrać
to, które ma najbardziej aktualne wersje.
Więc to jest zdecydowanie pro.
Jeśli chodzi o cenę emulatora, mam na myśli, a smartfon jest znacznie droższy niż emulator na maszynie,
które są bezpłatne.
Dlatego ten punkt trafia do maszyny wirtualnej lub emulatora.
Dobrze.
Jak dotąd jest to porównanie.
Chodzi mi o to, że oba są dość identyczne, poza tym, że aplikacja może nie do końca.
Wystarczy uruchomić na maszynie wirtualnej lub emulatorze.
W takim przypadku należy zaopatrzyć się w dedykowane urządzenie.
Absolutnie nie ma problemu.
Jeśli chcesz rozpocząć karierę.
Polecam zakup jednego z nich.
W porządku.
Dobrze.
Oznacza to, że możemy łatwo przejść do maszyny wirtualnej lub emulatora dla całego kursu.
W porządku.
Podsumujmy to, ponieważ, mam na myśli, to było teraz dużo rzeczy.
Najbardziej preferowaną konfiguracją jest użycie dedykowanego laptopa i dedykowanego urządzenia.
Drugą najbardziej preferowaną konfiguracją jest użycie dedykowanego laptopa i emulatora na komputerze.
Przynajmniej zalecaną konfiguracją jest użycie zagnieżdżonej wirtualizacji.
Więc tutaj będzie to trochę opóźnione, ale też działa.
Oto trzy opcje, które mamy do wyboru.
Wybierz, co chcesz, a jeśli masz pytania dotyczące jednego z nich, napisz do mnie
wiadomość pod tym filmem.
W porządku.
Dobrze.
Z niecierpliwością czekam więc na kolejne wideo.