Analyse af Android-applikationspakker direkte i browseren
Værktøjet APK Info Viewer fungerer som et statisk analyseværktøj, der gør det muligt at inspicere indholdet og metadataene i en Android-applikationspakke (APK), før den installeres på en enhed. Ved at køre udelukkende lokalt i webbrowseren udtrækker og viser værktøjet de vigtigste tekniske detaljer fra pakken. Dette giver mulighed for at verificere de faktiske egenskaber ved en APK-fil og sammenligne dem med officielle udviklerudgivelser uden at skulle eksekvere eller installere applikationen.
Hele processen med filindlæsning, kryptografisk hashing og parsing foregår i en lokal Worker i browseren. Ingen filer eller data sendes til eksterne servere, og APK-filen bliver aldrig installeret eller afviklet på brugerens enhed.
Inputkrav og begrænsninger
For at udføre en inspektion skal værktøjet tilføres en enkelt APK-fil. Følgende regler og begrænsninger er gældende for inputprocessen:
- Accepteret format: Kun filer med filendelsen
.apkunderstøttes. - Størrelsesgrænse: Filer kan have en størrelse på op til 500 MB. Hvis en fil overskrider denne grænse, afvises den med fejlmeddelelsen:
"Denne fil er over 500 MB — større end en browserfane sikkert kan inspicere.". - Antalsbegrænsning: Der kan kun behandles én fil ad gangen. Hvis der forsøges uploadet flere filer samtidigt, behandler værktøjet kun den første fil og viser meddelelsen:
"Én fil ad gangen — inspicerer den første.".
Håndtering af uunderstøttede formater og beskadigede filer
Værktøjet identificerer specifikke uunderstøttede filtyper og beskadigede pakker og returnerer målrettede fejlmeddelelser:
- Opdelte pakker: XAPK- eller APKM-filer afvises med meddelelsen:
"Dette er en opdelt XAPK-pakke — en beholder med flere APK'er. Udpak basis-APK'en og inspicér den fil i stedet.". - Android App Bundles: Filer med endelsen
.aabafvises med meddelelsen:"Dette er et Android App Bundle (.aab) — et udgivelsesformat, ikke en installerbar APK. Inspicér den byggede APK i stedet.". - Ikke-APK-filer: Hvis en fil ikke indeholder en gyldig manifestfil, vises meddelelsen:
"Dette ligner ikke en APK: ingen læsbar AndroidManifest.xml fundet indeni.". - Beskadigede filer: Hvis pakken er trunkeret eller ødelagt, vises meddelelsen:
"Pakken ser beskadiget eller afkortet ud, så dens indhold kunne ikke læses.". - Generelle læsefejl: Ved problemer med at tilgå filen vises:
"Filen kunne ikke læses. Vælg den igen.". - Andre fejl: Ved øvrige uforudsete fejl under inspektionen vises:
"Inspektion mislykkedes. Prøv en anden fil.".
Statusindikatorer og brugergrænseflade
Undervejs i analyseprocessen opdaterer værktøjet sin status i grænsefladen med følgende meddelelser, der afspejler det aktuelle trin i kørslen:
Klar. Slip en APK for at inspicere den.Læser ‹name›…Beregner filhashværdier — ‹percent›%Analyserer pakken…Rapport klar.Rydskilt.Rapport downloadet.
Brugeren interagerer med et fildropsområde, der bærer teksten Slip en APK her, eller klik for at vælge og underteksten Én.apk-fil, op til 500 MB. Efter endt analyse kan brugeren benytte knapperne Download rapport og Ryd.
Rapportens struktur og tekniske sektioner
Når analysen er fuldført, præsenteres resultaterne i en struktureret rapport opdelt i følgende sektioner:
Krav
Denne sektion viser de SDK-niveauer, som applikationen er bygget til og kompatibel med:
- Minimum Android: Angiver den laveste Android-version, som appen kan køre på. Formateres som
Android ‹version› (API ‹level›)eller blotAPI ‹level›. - Mål-Android: Angiver den API-version, som applikationen er optimeret til. Formateres som
Android ‹version› (API ‹level›)ellerAPI ‹level›. - Maksimal SDK: Hvis applikationen definerer en øvre grænse for understøttede API-niveauer, vises dette som
maks. SDK ‹n›.
Tilladelser
Her listes alle de tilladelser, som applikationen anmoder om i sin manifestfil. Tilladelser, som Android-systemet klassificerer som havende adgang til private brugerdata, markeres med et Farlig-mærkat. For at lette revisionen sorteres listen automatisk, så tilladelser med Farlig-mærkatet prioriteres øverst.
Komponenter
Viser de erklærede applikationskomponenter, som udgør appens struktur. For hver kategori vises maksimalt 100 elementer. Hvis antallet overskrides, tilføjes mærkatet +‹count› mere. Komponenterne er opdelt i:
- Aktiviteter: Appens skærmbilleder. Komponenter, der kan startes af eksterne apps, markeres med mærkatet
eksporteret. - Tjenester: Baggrundsprocesser. Kan bære mærkatet
eksporteret. - Modtagere: Komponenter, der lytter efter systemhændelser. Kan bære mærkatet
eksporteret. - Udbydere: Datadelingskomponenter. Viser mærkatet
eksporteret, udbyderens autoritet (authority) ellerIngen.
Native-kode
Viser eventuelle inkluderede native biblioteker samt de understøttede processorarkitekturer (ABIs) og det samlede antal native biblioteker.
Ressourcer
Giver en kvantitativ oversigt over pakkens indhold:
- Skærmdensiteter: De understøttede skærmopløsninger.
- Ressourcefiler: Antallet af XML-filer, billeder og layoutressourcer.
- Aktivfiler: Antallet af rå aktivfiler i mappen
/assets. - Kodfiler (.dex): Antallet af Dalvik Executable-filer, der indeholder appens kildekode.
- Filer i pakke: Det samlede antal filer inde i APK-beholderen.
Signaturer
Android kræver, at alle APK-filer er digitalt signerede. Værktøjet udtrækker X.509-certifikater fra v1 PKCS#7-blokke samt APK Signing Blocks (v2, v3 og v3.1) og viser følgende metadata for hver signaturgiver (Signerer ‹n›):
- Emne
- Udstedt af
- Serienummer
- Gyldig fra og Gyldig til
- Signaturalgoritme og Nøglealgoritme
- Fingeraftryk: MD5-, SHA-1- og SHA-256-fingeraftryk af certifikatet.
Hvis der ikke findes nogen genkendelig signaturblok i filen, vises meddelelsen: \"Ingen genkendt signaturblok fundet – pakken er muligvis usigneret eller omdannet.\".Værktøjet udfører udelukkende metadata-udtrækning; det foretager ikke kryptografisk verifikation af signaturernes integritet, validerer ikke certifikatets tillidskæde og bekræfter ikke udgiverens reelle identitet.
Fil-hash
Viser de overordnede kryptografiske hashværdier for selve APK-filen. Værktøjet beregner og viser MD5-, SHA-1- og SHA-256-hashværdier for den uploadede fil.
Relevante målgrupper
Værktøjet henvender sig til tre primære brugergrupper:
- Sikkerhedsbevidste brugere: Personer, der ønsker at kontrollere en APK-fil hentet fra en tredjepartskilde for uventede tilladelser eller uoverensstemmelser i udviklerens signatur, før de installerer den på deres enhed.
- Android-udviklere: Udviklere, der har brug for hurtigt at verificere de kompilerede egenskaber for deres færdige APK-filer – såsom mål-SDK, inkluderede aktiver, aktive komponenter eller signaturskemaer – uden at skulle åbne et komplet udviklingsmiljø (IDE).
- Systemadministratorer og IT-revisorer: Professionelle, der har behov for at dokumentere de nøjagtige filhashværdier, tilladelser og signaturcertifikater for en applikationspakke til brug for overensstemmelsesrapporter eller udrulningsdokumentation.
Ofte stillede spørgsmål (FAQ)
Hvad kan jeg lære om en APK uden at installere den?
Ganske meget: appens pakkenavn og version, de Android-versioner den kræver, alle de tilladelser den anmoder om, de skærme og baggrundskomponenter den erklærer, de procestyper den indeholder indbygget kode til, og de certifikater den blev signeret med.
Kan dette værktøj fortælle mig, om en APK er malware?
Nej — og vær skeptisk over for ethvert værktøj, der lover en endelig dom baseret på en hurtig scanning. Det du får her, er fakta: tilladelser, komponenter, signaturgivere og hashværdier. Sammenlign dem med det, udvikleren udgiver, og betragt uventede tilladelser eller en anden signaturgiver end den officielle udgivelse som en grund til at gå væk.
Hvilke filer understøttes?
Enkelte APK-filer på op til 500 MB. Opdelte pakker (XAPK, APKM) og Android App Bundle-filer (.aab) er beholdere eller udgivelsesformater snarere end én installerbar pakke, så de afvises med en tydelig besked i stedet for en forvirrende rapport.
Hvad fortæller signaturopplysningerne mig?
Enhver Android-app er signeret, og certifikatet identificerer, hvem der har udgivet den. Du kan se, hvilke signaturskemaer pakken bærer (v1, v2, v3) samt hver signaturgivers emne, gyldighedsperiode og MD5-, SHA-1- og SHA-256-fingeraftryk. To APK'er med matchende fingeraftryk kommer fra den samme udgiver — om du stoler på den udgiver, er stadig op til dig at vurdere.
Hvad betyder "Farlig"-mærkatet på en tilladelse?
Det er Androids egen klassificering: farlige tilladelser kan få adgang til private data — placering, kontakter, kamera, mikrofon, lagring — så systemet spørger brugeren, før det giver dem adgang. Mærkatet er ikke en anklage; en kort-app, der anmoder om placering, er normalt. Det markerer blot de tilladelser, der er værd at læse en ekstra gang.