iOS Basic Testing Operations
Sažetak Identifikacije i Pristupa iOS Uređaju
Identifikacija UDID-a iOS Uređaja
Da bi se jedinstveno identifikovao iOS uređaj, koristi se 40-cifreni niz poznat kao UDID. Na macOS Catalina ili novijim verzijama, ovo se može pronaći u Finder aplikaciji, pošto iTunes više nije prisutan. Uređaj, kada je povezan putem USB-a i odabran u Finder-u, otkriva svoj UDID među ostalim informacijama kada se klikne na detalje ispod njegovog imena.
Za verzije macOS-a pre Cataline, iTunes olakšava otkrivanje UDID-a. Detaljna uputstva možete pronaći ovde.
Alati komandne linije nude alternativne metode za preuzimanje UDID-a:
Korišćenje I/O Registry Explorer alata
ioreg
:
Korišćenje
ideviceinstaller
za macOS (i Linux):
Korišćenje
system_profiler
:
Korišćenje
instruments
za listanje uređaja:
Pristupanje Shell-u Uređaja
SSH pristup se omogućava instalacijom OpenSSH paketa nakon jailbreak-a, što omogućava veze putem ssh root@<device_ip_address>
. Ključno je promeniti podrazumevane lozinke (alpine
) za korisnike root
i mobile
kako bi se osigurao uređaj.
SSH preko USB-a postaje neophodan u odsustvu Wi-Fi-a, koristeći iproxy
za mapiranje portova uređaja za SSH veze. Ova konfiguracija omogućava SSH pristup putem USB-a pokretanjem:
Aplikacije za shell na uređaju, poput NewTerm 2, olakšavaju direktnu interakciju sa uređajem, što je posebno korisno za rešavanje problema. Reverse SSH shell-ovi se takođe mogu uspostaviti za daljinski pristup sa host računara.
Resetovanje Zaboravljenih Lozinki
Da biste resetovali zaboravljenu lozinku na podrazumevanu (alpine
), potrebno je urediti datoteku /private/etc/master.passwd
. To uključuje zamenu postojećeg heša sa hešem za alpine
pored unosa korisnika root
i mobile
.
Tehnike Prenosa Podataka
Prenos Datoteka Aplikacija
Arhiviranje i Preuzimanje putem SSH i SCP: Jednostavno je arhivirati direktorijum podataka aplikacije koristeći tar
i zatim ga preneti koristeći scp
. Komanda ispod arhivira direktorijum podataka u .tgz datoteku, koja se zatim preuzima sa uređaja:
Graphical User Interface Tools
Using iFunbox and iExplorer: Ovi GUI alati su korisni za upravljanje datotekama na iOS uređajima. Međutim, počevši od iOS 8.4, Apple je ograničio pristup ovim alatima aplikacionom sandbox-u osim ako uređaj nije jailbreak-ovan.
Using Objection for File Management
Interactive Shell with Objection: Pokretanje objection-a omogućava pristup Bundle direktorijumu aplikacije. Odatle možete navigirati do direktorijuma Documents aplikacije i upravljati datotekama, uključujući preuzimanje i otpremanje njih na i sa iOS uređaja.
Dobijanje i Ekstrakcija Aplikacija
Sticanje IPA Fajla
Over-The-Air (OTA) Distribucioni Link: Aplikacije distribuirane za testiranje putem OTA mogu se preuzeti koristeći ITMS usluge alat za preuzimanje sredstava, koji se instalira putem npm i koristi za čuvanje IPA fajla lokalno.
Ekstrakcija binarnog fajla aplikacije
Iz IPA: Raspakujte IPA da biste pristupili dekriptovanom binarnom fajlu aplikacije.
Sa Jailbroken uređaja: Instalirajte aplikaciju i ekstraktujte dekriptovani binarni fajl iz memorije.
Proces dekripcije
Pregled ručne dekripcije: iOS binarni fajlovi aplikacija su enkriptovani od strane Apple-a koristeći FairPlay. Da bi se izvršila obrnuta inženjering, potrebno je dumpovati dekriptovani binarni fajl iz memorije. Proces dekripcije uključuje proveru PIE zastavice, prilagođavanje memorijskih zastavica, identifikaciju enkriptovanog dela, a zatim dumpovanje i zamenu ovog dela sa njegovom dekriptovanom verzijom.
Proveravanje i modifikovanje PIE zastavice:
Identifying Encrypted Section and Dumping Memory:
Odredite početne i završne adrese enkriptovane sekcije koristeći otool
i ispraznite memoriju sa jailbroken uređaja koristeći gdb.
Prepisivanje Enkriptovanog Odeljka:
Zamenite enkriptovani odeljak u originalnom binarnom fajlu aplikacije sa dekriptovanim dump-om.
Finalizacija dekripcije: Izmenite metapodatke binarnog fajla da označite odsustvo enkripcije koristeći alate kao što je MachOView, postavljajući cryptid
na 0.
Dekripcija (Automatski)
frida-ios-dump
Alat frida-ios-dump se koristi za automatsko dekriptovanje i ekstrakciju aplikacija sa iOS uređaja. Prvo, potrebno je konfigurisati dump.py
da se poveže sa iOS uređajem, što se može uraditi preko localhost-a na portu 2222 putem iproxy ili direktno putem IP adrese uređaja i porta.
Aplikacije instalirane na uređaju mogu se nabrojati komandom:
Da biste dumpovali određenu aplikaciju, kao što je Telegram, koristi se sledeća komanda:
Ova komanda pokreće dump aplikacije, što rezultira kreiranjem Telegram.ipa
fajla u trenutnom direktorijumu. Ovaj proces je pogodan za jailbroken uređaje, jer se nesigned ili lažno potpisane aplikacije mogu ponovo instalirati koristeći alate kao što je ios-deploy.
flexdecrypt
Alat flexdecrypt, zajedno sa svojim wrapper-om flexdump, omogućava ekstrakciju IPA fajlova iz instaliranih aplikacija. Komande za instalaciju flexdecrypt na uređaju uključuju preuzimanje i instalaciju .deb
paketa. flexdump se može koristiti za listanje i dump aplikacija, kao što je prikazano u komandama ispod:
bagbak
bagbak, još jedan alat zasnovan na Fridi, zahteva jailbreak-ovan uređaj za dekripciju aplikacija:
r2flutch
r2flutch, koristeći radare i frida, služi za dekripciju i dumpovanje aplikacija. Više informacija možete pronaći na njegovoj GitHub stranici.
Instalacija Aplikacija
Sideloading se odnosi na instalaciju aplikacija van zvanične App Store. Ovaj proces upravlja installd daemon i zahteva da aplikacije budu potpisane Apple-ovim sertifikatom. Jailbroken uređaji mogu to zaobići putem AppSync, omogućavajući instalaciju lažno potpisanih IPA paketa.
Alati za Sideloading
Cydia Impactor: Alat za potpisivanje i instalaciju IPA datoteka na iOS-u i APK datoteka na Androidu. Vodiči i rešenja za probleme mogu se pronaći na yalujailbreak.net.
libimobiledevice: Biblioteka za Linux i macOS za komunikaciju sa iOS uređajima. Komande za instalaciju i primeri korišćenja za ideviceinstaller su obezbeđeni za instalaciju aplikacija preko USB-a.
ipainstaller: Ovaj alat za komandnu liniju omogućava direktnu instalaciju aplikacija na iOS uređajima.
ios-deploy: Za korisnike macOS-a, ios-deploy instalira iOS aplikacije iz komandne linije. Dešifrovanje IPA i korišćenje
-m
oznake za direktno pokretanje aplikacije su deo procesa.Xcode: Koristite Xcode za instalaciju aplikacija navigirajući do Window/Devices and Simulators i dodajući aplikaciju u Installed Apps.
Dozvolite Instalaciju Aplikacija na Ne-iPad Uređajima
Da biste instalirali aplikacije specifične za iPad na iPhone ili iPod touch uređaje, potrebno je promeniti UIDeviceFamily vrednost u Info.plist datoteci na 1. Ova modifikacija, međutim, zahteva ponovo potpisivanje IPA datoteke zbog provere validacije potpisa.
Napomena: Ova metoda može propasti ako aplikacija zahteva mogućnosti koje su ekskluzivne za novije modele iPad-a dok se koristi stariji iPhone ili iPod touch.
Reference
Last updated