Kuidas APK andmete vaatur töötab
APK andmete vaatur on tasuta veebitööriist, mis võimaldab kasutajatel kontrollida Androidi rakenduse paketi (APK) sisu ja metaandmeid enne selle seadmesse installimist. Tööriist töötab täielikult kasutaja veebibrauseris, eraldades ja kuvades paketi peamised tehnilised andmed. Nende andmete hulka kuuluvad paketi nimi, versioon, nõutavad Androidi versioonid, taotletavad õigused, taust- ja ekraanikomponendid, toetatud protsessoritüübid, allkirjastamistunnistused ja failiräsid.
Tööriist toimib staatilise analüüsi vahendina, mis aitab kasutajatel kontrollida APK-faili tegelikke andmeid ja võrrelda neid arendaja ametlike väljalasetega ilma rakendust käivitamata või installimata. Kuna kogu faili lugemine, räsimine ja analüüsimine toimub kohaliku Worker-teenuse abil otse veebibrauseris, ei laadita ühtegi faili ega andmeid välisesse serverisse. Samuti ei installita ega käivitata APK-d kasutaja seadmes.
Failide sisestamise reeglid ja piirangud
Tööriist võtab vastu ühe APK-faili korraga, järgides järgmisi reegleid ja piiranguid:
- Failivorming: Aktsepteeritakse ainult
.apklaiendiga faile. - Suuruse piirang: Faili maksimaalne lubatud suurus on 500 MB. Kui fail ületab selle piiri, kuvatakse veateade:
"See fail on suurem kui 500 MB – suurem, kui brauseri vahekaart saab turvaliselt kontrollida.". - Koguse piirang: Korraga saab analüüsida ainult ühte faili. Kui kasutaja üritab üles laadida mitu faili korraga, töötleb tööriist ainult esimest faili ja kuvab teate:
"Üks fail korraga – kontrollitakse esimest.".
Toetamata vormingute või vigaste failide puhul rakenduvad järgmised veateated:
- Jaotatud paketid (XAPK, APKM): Kui sisestatakse jaotatud pakett, kuvatakse teade:
"See on XAPK jaotatud pakett – mitmest APK-st koosnev konteiner. Ekstrakti baas-APK ja kontrolli seda faili.". - Android App Bundle (.aab): Kui sisestatakse avaldamisvormingus fail, kuvatakse teade:
"See on Android App Bundle (.aab) – avaldamisvorming, mitte installitav APK. Kontrolli selle asemele koostatud APK-d.". - Muud failitüübid: Kui failil puudub loetav manifest, kuvatakse teade:
"See ei näe välja nagu APK: seest ei leitud loetavat AndroidManifest.xml-i.". - Kahjustatud failid: Kui pakett on vigane või kärbitud, kuvatakse teade:
"Pakett näib olevat kahjustatud või kärbitud, mistõttu selle sisu ei saanud lugeda.". - Lugeja tõrked: Üldiste faililugemise probleemide korral kuvatakse teade:
"Faili ei saanud lugeda. Vali see uuesti.". Muude analüüsitõrgete puhul kuvatakse teade:"Kontrollimine ebaõnnestus. Proovi mõnda muud faili.".
Rakenduse nõuded ja õigused
Tööriist tuvastab ja kuvab jaotises Nõuded rakenduse ühilduvusparameetrid ja sihtplatvormid:
- Minimaalne Android: Kuvatakse kujul
Android ‹version› (API ‹level›)või lihtsaltAPI ‹level›. See määrab vanima Androidi versiooni, milles rakendus suudab töötada. - Siht-Android: Kuvatakse kujul
Android ‹version› (API ‹level›)võiAPI ‹level›. See näitab API taset, mille jaoks rakendus on optimeeritud ja testitud. - Maksimaalne SDK: Kui pakett sisaldab piirangut, kuvatakse see kujul
max SDK ‹n›.
Jaotises Õigused kuvatakse nimekiri kõigist rakenduse poolt taotletavatest õigustest. Õiguste nimekiri sorteeritakse selliselt, et Androidi poolt privaatsetele andmetele juurdepääsu tõttu ohtlikuks klassifitseeritud õigused paigutatakse nimekirja algusesse. Nende õiguste kõrval kuvatakse spetsiaalne märge Ohtlik.
Komponendid ja ressursid
Jaotises Komponendid kuvatakse rakenduse deklareeritud komponendid, mis on jagatud nelja kategooriasse:
- Tegevused (Activities): Rakenduse kasutajaliidese ekraanid. Kui komponent on süsteemile või teistele rakendustele kättesaadav, lisatakse märge eksporditud.
- Teenused (Services): Taustal töötavad protsessid. Vajadusel kuvatakse märge eksporditud.
- Vastuvõtjad (Receivers): Süsteemsete või rakendustevaheliste teadete vastuvõtjad. Vajadusel kuvatakse märge eksporditud.
- Pakkujad (Providers): Andmete jagamise liidesed. Kuvatakse pakkuja autoriteet, märge eksporditud või selle puudumisel Puudub.
Liides kuvab igas kategoorias maksimaalselt 100 kirjet. Kui komponente on rohkem, lisatakse loendi lõppu märge +‹count› veel.
Jaotises Ressursid esitatakse paketi sisemine struktuur ja failide statistika:
- Ekraani tihedused: Toetatud ekraaniresolutsioonide tihedused.
- Ressursifailid: Paketis sisalduvate ressursifailide hulk.
- Varafailid: Kaustas
assetsasuvate failide hulk. - Koodifailid (.dex): Paketis sisalduvate Dalvik Executable (.dex) failide arv.
- Failid paketis: Kõikide failide koguarv APK-s.
Lisaks kuvatakse jaotises Natiivkood toetatud protsessoritüübid (ABI-d) ja nendega seotud natiivraamatukogude arv.
Allkirjad ja failiräsid
Jaotises Allkirjad kuvatakse teave APK allkirjastamiseks kasutatud sertifikaatide kohta. Tööriist suudab tuvastada ja eraldada X.509 sertifikaatide metaandmed v1 PKCS#7 plokkidest ning APK allkirjastamisplokkidest (skeemid v2, v3 ja v3.1). Iga tuvastatud allkirjastaja kohta kuvatakse järgmised andmed:
- Allkirjastaja järjekorranumber (
Allkirjastaja ‹n›). - Subjekt (
Subjekt). - Väljaandja (
Väljaandja). - Seerianumber (
Seerianumber). - Kehtivusperiood (
Kehtiv alatesjaKehtiv kuni). - Kasutatud algoritmid (
AllkirjaalgoritmjaVõtmealgoritm). - Sertifikaadi MD5, SHA-1 ja SHA-256 sõrmejäljed.
Kui paketist ei leita ühtegi allkirjaplokki, kuvatakse teade: "Tuvastatavat allkirjaplokki ei leitud – pakett võib olla allkirjastamata või ümber pakitud.". Tööriist ainult eraldab ja kuvab sertifikaatide metaandmed; see ei teosta allkirjade krüptograafilist tervikluse kontrolli, ei valideeri sertifikaatide usaldusahelat ega tuvasta avaldaja reaalset isikut.
Jaotises Faili räpiväärtused kuvatakse analüüsitud APK-faili enda MD5, SHA-1 ja SHA-256 räsid, mis arvutatakse faili lugemise ajal.
Korduma kippuvad küsimused
Mida saan APK-st teada ilma seda installimata?
Üsna palju: rakenduse paketinime ja versiooni, vajalikke Androidi versioone, kõiki taotletavaid õigusi, deklareeritud ekraane ja taustakomponente, protsessoritüüpe, mille jaoks on lisatud lähtekood, ning sertifikaate, millega see allkirjastati.
Kas see tööriist ütleb mulle, kas APK on pahatahtlik?
Ei – ja tasub olla umbusklik iga tööriista suhtes, mis lubab kiire skannimise põhjal kohest hinnangut. Siit saad faktid: õigused, komponendid, allkirjastajad ja räsid. Võrdle neid arendaja avaldatud andmetega ning pea ootamatuid õigusi või ametlikust väljalaskest erinevat allkirjastajat märgiks, et tasub eemale hoida.
Milliseid faile toetatakse?
Üksikud APK failid suurusega kuni 500 MB. Jaotatud paketid (XAPK, APKM) ja Android App Bundle'id (.aab) on konteinerid või avaldamisvormingud, mitte ühed installitavad paketid, mistõttu need lükatakse segase aruande asemel tagasi selge teatega.
Mida allkirjastamise üksikasjad mulle räägivad?
Iga Androidi rakendus on allkirjastatud ja sertifikaat tuvastav selle avaldaja. Sa näed, milliseid allkirjastamisskeeme pakett sisaldab (v1, v2, v3) ning iga allkirjastaja subjekti, kehtivusperioodi ja MD5-, SHA-1- ning SHA-256-sõrmejälgi. Kaks ühtivate sõrmejälgedega APK-d pärinevad samalt avaldajalt – kas sa seda avaldajat usaldad, jääb sinu otsustada.
Mida tähendab õiguse juures olev märge „Ohtlik“ (Dangerous)?
See on Androidi enda klassifikatsioon: ohtlikud õigused pääsevad ligi privaatsetele andmetele – asukoht, kontaktid, kaamera, mikrofon, salvestusruum –, mistõttu süsteem küsib kasutajalt enne nende andmist luba. Märge ei ole süüdistus; kaardirakenduse küsimus asukoha kohta on normaalne. See lihtsalt märgib õigusi, mida tasub kaks korda lugeda.