Cum să vizualizați permisiunile aplicației Android înainte de a instala un APK
Când instalați o aplicație din Magazinul Google Play, Android afișează un rezumat simplificat a ceea ce poate accesa aplicația. Încărcați un APK dintr-o sursă non-Play și nu aveți o astfel de plasă de siguranță, cu excepția cazului în care citiți singur manifestul. „Ar trebui ca o aplicație de fundal să aibă într-adevăr nevoie de acces prin SMS și microfon?” este exact tipul de întrebare la care acest ghid vă va ajuta să răspundeți.
Ceea ce urmează este același flux de lucru pe care echipa noastră îl folosește atunci când triează un APK necunoscut: deschideți-l, citiți intrările uses-permission, decodați nivelurile de protecție și comparați ceea ce are nevoie aplicația spune cu ceea ce necesită de obicei categoria sa. instrument online de informații APK nostru face decodarea binar-XML pentru dvs., astfel încât întregul proces durează aproximativ zece secunde.
De ce să vă deranjați să auditați permisiunile?
Dezvoltatorii rău intenționați preiau aplicații gratuite populare, le modifică și le lansează din nou pe site-uri terțe. În timp ce aplicația ar putea arăta și funcționa normal, codul ei ascuns ar putea fi copierea listei de contacte sau înregistrarea sunetului de fundal. Prin vizualizarea permisiunilor preinstalare, puteți identifica aceste semnale roșii de „permisiuni furioase”.
Cum să auditați orice fișier APK (online)
Instrument de informații APK nostru citește manifestul fișierului dvs. în întregime în browser; fișierul nu este încărcat niciodată pe un server și nu este executat niciun cod. Iată cum să-l folosești:
Proces:
- Accesați Pagina de informații APK.
- Selectați fișierul .apk.
- Așteptați ca analiza să se termine (de obicei 5 secunde).
- Derulați în jos la Secțiunea Permisiuni.
- Căutați semnalizatoare cu risc ridicat, cum ar fi: READ_SMS, PROCESS_OUTGOING_CALLS sau ACCESS_FINE_LOCATION.
Permisiuni Red Flag List
Dacă o aplicație Calculator sau Lanternă solicită READ_CONTACTS sau RECORD_AUDIO, ștergeți fișierul imediat. Nu există niciun motiv legitim pentru ca aceste aplicații să aibă acele date.
Înțelegerea nivelurilor de permisiuni Android
Nu toate permisiunile sunt create egale. Android le clasifică în trei niveluri:
- Normal: Permisiuni cu risc scăzut, care nu amenință direct confidențialitatea (de exemplu, SET_ALARM). Android le acordă automat.
- Periculos: Permisiuni cu risc ridicat (Contacte, Locație, Cameră). Aceste necesitate vor fi confirmate de dvs. atunci când aplicația rulează.
- Semnătura/Sistem: Extrem de riscant. Acestea sunt disponibile numai pentru aplicațiile semnate de producătorul dispozitivului sau de sistemul de operare însuși.
Metoda manuală (folosind un vizualizator ZIP)
Dacă aveți anumite abilități tehnice, puteți verifica singur permisiunile:
- Redenumiți app.apk în app.zip și deschideți-l.
- Găsiți AndroidManifest.xml. (Notă: Este în format binar și va arăta ca un text indescifrabil într-un editor de text).
- Utilizați un instrument precum AXMLPrinter pentru a-l converti în text care poate fi citit.
- Căutați etichete care încep cu <uses-permission>.
Recomandare: este mult mai rapid să utilizați instrument online, care decodifică acest lucru pentru dvs. instantaneu.
Auditează-ți aplicațiile acum
Aflați exact ce solicită aplicațiile dvs. Fără secrete, fără riscuri.
Verificați permisiunile APKCe este de fapt stocat în AndroidManifest.xml
Manifestul este sursa adevărului pentru fiecare permisiune, componentă și caracteristică pe care o declară o aplicație. În interiorul unui APK, fișierul este în forma XML binar, nu în textul simplu pe care îl vedeți în codul sursă, deci nu poate fi citit cu un editor de text normal. Instrumentul nostru APK Info decodifică XML binar și evidențiază etichetele relevante. Cele mai importante sunt:
- <uses-permission android:name="..."/>: fiecare permisiune pe care aplicația ar putea solicita vreodată. Lista deplin este aici, inclusiv cele pe care aplicația nu le poate folosi niciodată în timpul execuției.
- <uses-permission-sdk-23 ... />: același, dar este solicitat numai când aplicația rulează pe Android 6 sau o versiune ulterioară. Dispozitivele mai vechi sunt permise în mod silențios, fără solicitări.
- <uses-feature android:name="..." android:required="true|false"/>: caracteristicile hardware utilizate de aplicație (cameră foto, GPS, NFC). Când este marcat necesar, Play Store ascunde aplicația de dispozitivele cărora le lipsește această funcție.
- <application android:debuggable="true">: un steag roșu gigant într-o versiune APK. O aplicație care poate fi depanată își expune memoria și starea procesului oricui are acces ADB. Respinge.
- <activity android:exported="true"> privind activitățile sensibile: permite altor aplicații să lanseze acel ecran. Pentru o aplicație de confidențialitate, aceasta semnalează adesea o codificare neglijentă.
Niveluri de protecție a permisiunii: Cheat Sheet
Android atribuie fiecărei permisiuni un „nivel de protecție”. A ști căreia îi aparține o solicitare vă spune cât de serios o va trata sistemul de operare.
| Nivel de protecție | Experiența utilizatorului | Exemple |
|---|---|---|
| normal | Se acordă în mod silențios la momentul instalării. Nici un prompt. | INTERNET, VIBRAȚI, ACCESS_NETWORK_STATE, WAKE_LOCK |
| periculos | Solicitați runtime la prima utilizare a funcției. Revocabil în Setări. | CAMERA, RECORD_AUDIO, READ_CONTACTS, ACCESS_FINE_LOCATION |
| semnătură | Se acordă numai aplicațiilor semnate cu același certificat ca aplicația care acordă acordarea sau sistemul de operare. | BIND_VPN_SERVICE, INSTALL_PACKAGES (numai pentru sistem) |
| semnătură|privilegiat | Disponibil numai pentru aplicațiile preinstalate din directorul priv-app al imaginii de sistem. | MANAGE_USERS, READ_LOGS (numai pentru sistem) |
| app / rol | Necesită un flux separat de Setări pentru activare. | SYSTEM_ALERT_WINDOW, BIND_ACCESSIBILITY_SERVICE, MANAGE_EXTERNAL_STORAGE (acces special) |
Ce înseamnă de fapt permisiunile „ascunse”.
O concepție greșită comună este că unele permisiuni sunt secrete. Nu sunt: fiecare permisiunea pe care o poate folosi o aplicație trebuie să fie declarată în AndroidManifest.xml, iar sistemul de operare refuză să acorde orice permisiune care nu este listată acolo. Ceea ce oamenii înțeleg de obicei prin „ascuns” este unul dintre cele două lucruri:
- Permisiunile la nivel normal sunt silențioase. Se acordă în momentul instalării fără nicio interacțiune a utilizatorului. Rezumatul Magazinului Play nici măcar nu afișează unele dintre ele. Ele sunt „ascunse” în sensul de „ușor de trecut cu vederea”, nu în sensul de „nedezvăluite”.
- Aplicațiile Permisiuni personalizate definite de aplicație. își pot declara propriile etichete <permission> și le pot solicita pe componentele interne. Acestea există pentru comunicarea între aplicații și nu reprezintă o problemă de confidențialitate în sine, dar pot fi abuzate dacă o aplicație populară declară o permisiune personalizată cu un nivel de protecție greșit și o altă aplicație o folosește apoi ca ușă în spate.
Oricum, răspunsul este același: citiți manifestul, nu aveți încredere într-o descriere a Magazinului Play singură.
Exemplu funcțional: Auditarea unui APK real
Să presupunem că aveți example.apk în folderul Descărcări. Iată fluxul de lucru exact:
- Deschideți Instrument de informații APK în browser.
- Aruncă APK-ul în zona de încărcare. Procesarea are loc local; fișierul nu părăsește dispozitivul dvs.
- Citiți secțiunea Permisiuni. Fiecare intrare arată numele constantă (android.permission.READ_CONTACTS și o descriere în limbaj simplu a ceea ce permite).
- Comparați lista cu categoria aplicației. Aproximativ, așteptați:
- Aplicații pentru cameră: CAMERA, RECORD_AUDIO (pentru video), STORAGE/MEDIA scriere
- Aplicații de mesagerie: INTERNET, READ_CONTACTS, SEND_SMS (numai dacă se bazează pe SMS), RECORD_AUDIO (pentru note vocale), CAMERA (pentru trimiterea de fotografii)
- Jocuri: INTERNET, uneori RECORD_AUDIO (pentru chat vocal în joc), permisiuni legate de facturare; rar altceva
- Aplicații utilitare (calculator, lanternă, vreme): INTERNET (pentru reclame), ACCESS_NETWORK_STATE, posibil LOCATION (doar vreme). Orice dincolo de asta este suspect.
- Dacă ceva din listă nu se potrivește categoriei, nu instalați. Nu există niciun motiv întemeiat pentru ca un calculator să aibă nevoie de acces prin SMS.
Aceeași logică se aplică dacă fișierul este un APK, un XAPK (unde citim APK-ul de bază interioară) sau un pachet APK (unde citim manifestul fiecărei divizări).
Făcând asta din linia de comandă
Dacă preferați ruta terminalului, SDK-ul Android livrează aapt2, care aruncă un manifest din orice APK în XML simplu:
aapt2 dump badging example.apk | grep "uses-permission"
Sau utilizați apksigner pentru a verifica în același timp certificatul de semnare:
apksigner verify --print-certs example.apk
Instrumentul de browser face același lucru pentru utilizatorii care preferă să nu instaleze un SDK doar pentru a verifica un singur fișier.
Întrebări frecvente (FAQ)
Pot refuza o permisiune după ce instalez un APK?
Da. On Android 6.0 and higher, you can go to Setări > Aplicații > [Numele aplicației] > Permisiuni to toggle individual dangerous permissions on or off.
Fișierele XAPK au permisiuni diferite?
Un XAPK conține unul sau mai multe APK-uri. Fiecare APK din interior are propriul său manifest. Instrumentul nostru va analiza APK-ul principal din pachet pentru a vă afișa permisiunile relevante.
De ce fiecare aplicație solicită „Acces la rețea”?
Aproape toate aplicațiile au nevoie de acces la internet pentru analize, raportare erori sau reclame. Deși este obișnuit, este și modul în care datele furate sunt trimise către serverul unui hacker.
Inspectarea permisiunilor de manifest înainte de a atinge Instalare
Nu poți judeca ceea ce nu poți vedea. Să petreci zece secunde pentru vedeți permisiunile unui APK înainte de a încărca lateral, este diferența dintre a ști la ce poate ajunge o aplicație și pur și simplu să speri că se comportă. Citiți mai întâi lista și apoi instalați.