Paano Tingnan ang Mga Pahintulot sa Android App Bago Mag-install ng APK

A smartphone showing a list of app permissions with a magnifying glass

Kapag nag-install ka ng app mula sa Google Play Store, nagpapakita ang Android ng pinasimpleng buod ng kung ano ang maa-access ng app. Sideload ang isang APK mula sa isang source na hindi Play at wala kang ganoong safety net, maliban kung ikaw mismo ang magbabasa ng manifest. Ang "Dapat ba talagang kailangan ng isang wallpaper app ang SMS at microphone access?" ay eksaktong uri ng tanong na tutulungan ka ng gabay na ito na sagutin.

Ang sumusunod ay ang parehong daloy ng trabaho na ginagamit ng aming team kapag sinusubukan ang isang hindi pamilyar na APK: buksan ito, basahin ang mga entry ng uses-permission, i-decode ang mga antas ng proteksyon, at ihambing kung ano ang kailangan ng app na sabi sa karaniwang kinakailangan ng kategorya nito. Ginagawa ng aming online na tool sa Impormasyon ng APK ang binary-XML decoding para sa iyo kaya ang buong proseso ay tumatagal ng humigit-kumulang sampung segundo.

Oras ng pagbabasa: ~9 minuto. Mga tool na kailangan: isang browser; opsyonal apksigner at aapt2 mula sa Android SDK kung gusto mong gawin ang parehong mga pagsusuri mula sa isang terminal. Ano ang magagawa mo sa dulo: basahin ang buong listahan ng pahintulot ng APK, tingnan ang apat o limang "mataas na epekto" na kahilingan na halos palaging nagpapahiwatig ng problema, at magpasya kung mag-install bago mag-install, hindi pagkatapos.

Bakit Abalahin ang Mga Pahintulot sa Pag-audit?

Ang mga nakakahamak na developer ay kumukuha ng mga sikat na libreng app, binabago ang mga ito, at muling ilalabas ang mga ito sa mga third-party na site. Bagama't maaaring normal ang hitsura at paggana ng app, ang nakatagong code nito ay maaaring kinopya ang iyong listahan ng contact o nagre-record ng iyong background na audio. Sa pamamagitan ng pagtingin sa mga pahintulot na paunang pag-install, makikita mo itong mga pulang bandila ng "permission creep."

Paano I-audit ang Anumang APK File (Online)

Binabasa ng aming Tool sa Impormasyon ng APK ang manifest ng iyong file nang buo sa iyong browser; ang file ay hindi kailanman na-upload sa isang server, at walang code na naisakatuparan. Narito kung paano ito gamitin:

Proseso:

  1. Pumunta sa Pahina ng Impormasyon ng APK.
  2. Piliin ang iyong .apk file.
  3. Hintaying matapos ang pagsusuri (karaniwang 5 segundo).
  4. Mag-scroll pababa sa Seksyon ng Mga Pahintulot.
  5. Maghanap ng mga flag na may mataas na peligro tulad ng: READ_SMS, PROCESS_OUTGOING_CALLS, o ACCESS_FINE_LOCATION.

Pahintulot Red Flag List

Kung ang isang Calculator o Flashlight app ay humihingi ng READ_CONTACTS o RECORD_AUDIO, tanggalin kaagad ang file. Walang lehitimong dahilan para sa mga app na ito na magkaroon ng data na iyon.

Pag-unawa sa Mga Antas ng Pahintulot sa Android

Hindi lahat ng pahintulot ay ginawang pantay. Ikinategorya ng Android ang mga ito sa tatlong antas:

Manu-manong Paraan (Paggamit ng ZIP Viewer)

Kung mayroon kang ilang teknikal na kasanayan, maaari kang mag-audit ng mga pahintulot sa iyong sarili:

  1. Palitan ang pangalan ng app.apk sa app.zip at buksan ito.
  2. Hanapin ang AndroidManifest.xml. (Tandaan: Ito ay nasa binary na format at magmumukhang daldal sa isang text editor).
  3. Gumamit ng tool tulad ng AXMLPrinter para i-convert ito sa nababasang text.
  4. Maghanap ng mga tag na nagsisimula sa <uses-permission>.

Rekomendasyon: Mas mabilis na gamitin ang aming online na tool na agad na nagde-decode nito para sa iyo.

I-audit ang Iyong Mga App Ngayon

Alamin kung ano mismo ang hinihiling ng iyong mga app. Walang lihim, walang panganib.

Suriin ang Mga Pahintulot sa APK

Ano ang Tunay na Nakaimbak sa AndroidManifest.xml

Ang manifest ay ang pinagmulan ng katotohanan para sa bawat pahintulot, bahagi, at tampok na idineklara ng isang app. Sa loob ng isang APK, ang file ay nasa binary XML form, hindi ang plain text na nakikita mo sa source code, kaya hindi ito mababasa gamit ang isang normal na text editor. Ang aming tool sa Impormasyon ng APK ay nagde-decode ng binary XML at ipinapakita ang mga nauugnay na tag. Ang pinakamahalaga ay:

Mga Antas ng Proteksyon ng Pahintulot: Ang Cheat Sheet

Ang Android ay nagtatalaga ng "antas ng proteksyon" sa bawat pahintulot. Ang pag-alam kung saang antas kabilang ang isang kahilingan ay nagsasabi sa iyo kung gaano kaseryoso ang OS nito.

Antas ng proteksyon Karanasan ng gumagamit Mga halimbawa
normal Ibinigay nang tahimik sa oras ng pag-install. Walang prompt. INTERNET, VIBRATE, ACCESS_NETWORK_STATE, WAKE_LOCK
mapanganib Runtime prompt sa unang pagkakataon na ginamit ang feature. Maaaring bawiin sa Mga Setting. CAMERA, RECORD_AUDIO, READ_CONTACTS, ACCESS_FINE_LOCATION
pirma Ibinibigay lang sa mga app na nilagdaan gamit ang parehong certificate tulad ng pagbibigay ng app o OS. BIND_VPN_SERVICE, INSTALL_PACKAGES (pang-system lamang)
lagda|pribilehiyo Available lang sa mga paunang naka-install na app sa direktoryo ng priv-app ng system image. MANAGE_USERS, READ_LOGS (pamahalaan ang mga user at log)
appop / tungkulin Nangangailangan ng hiwalay na daloy ng Mga Setting upang paganahin. SYSTEM_ALERT_WINDOW, BIND_ACCESSIBILITY_SERVICE, MANAGE_EXTERNAL_STORAGE (mga espesyal na pahintulot)

Ano Talaga ang Ibig Sabihin ng Mga "Nakatagong" Pahintulot

Ang isang karaniwang maling kuru-kuro ay ang ilang mga pahintulot ay lihim. Ang mga ito ay hindi: bawat pahintulot na maaaring gamitin ng isang app ay dapat na ideklara sa AndroidManifest.xml, at ang OS ay tumangging magbigay ng anumang pahintulot na hindi nakalista doon. Ang karaniwang ibig sabihin ng mga tao sa "nakatago" ay isa sa dalawang bagay:

Sa alinmang paraan, pareho ang sagot: basahin ang manifest, huwag magtiwala sa paglalarawan ng Play Store nang mag-isa.

Nagtrabaho Halimbawa: Pag-audit ng Tunay na APK

Ipagpalagay na mayroon kang example.apk sa iyong folder ng Mga Download. Narito ang eksaktong daloy ng trabaho:

  1. Buksan ang Tool sa Impormasyon ng APK sa iyong browser.
  2. I-drop ang APK sa lugar ng pag-upload. Nangyayari ang pagproseso sa lokal; hindi umaalis ang file sa iyong device.
  3. Basahin ang seksyong Mga Pahintulot. Ang bawat entry ay nagpapakita ng permanenteng pangalan (android.permission.READ_CONTACTS at isang simpleng paglalarawan ng wika kung ano ang pinapayagan nito).
  4. Ihambing ang listahan sa kategorya ng app. Sa pangkalahatan, asahan:
    • Mga app ng camera: CAMERA, RECORD_AUDIO (para sa video), STORAGE/MEDIA write
    • Mga app sa pagmemensahe: INTERNET, READ_CONTACTS, SEND_SMS (lamang kung SMS-based), RECORD_AUDIO (para sa voice notes), CAMERA (para sa pagpapadala ng mga larawan)
    • Mga laro: INTERNET, minsan RECORD_AUDIO (para sa in-game voice chat), mga pahintulot na nauugnay sa pagsingil; bihira kahit ano pa
    • Mga utility na app (calculator, flashlight, panahon): INTERNET (para sa mga ad), ACCESS_NETWORK_STATE, posibleng LOCATION (panahon lang). Ang anumang bagay sa kabila nito ay kahina-hinala.
  5. Kung anumang bagay sa listahan ay hindi akma sa kategorya, huwag i-install. Walang magandang dahilan ang isang calculator na nangangailangan ng SMS access.

Ang parehong logic ay nalalapat kung ang file ay isang APK, isang XAPK (kung saan binabasa namin ang inner base APK), o isang APKS bundle (kung saan binabasa namin ang manifest ng bawat split).

Ginagawa Ito mula sa Command Line

Kung mas gusto mo ang ruta ng terminal, ang Android SDK ay nagpapadala ng aapt2, na naglalabas ng manifest mula sa anumang APK sa simpleng XML:

aapt2 dump badging example.apk | grep "uses-permission"

O gamitin ang apksigner upang i-verify ang sertipiko ng pagpirma sa parehong oras:

apksigner verify --print-certs example.apk

Ginagawa ng browser tool ang parehong bagay para sa mga user na mas gustong hindi mag-install ng SDK para lang suriin ang isang file.

Mga Madalas Itanong (FAQ)

Maaari ko bang tanggihan ang pahintulot pagkatapos mag-install ng APK?

Oo. Sa Android 6.0 at mas mataas, maaari kang pumunta sa Mga Setting > Mga App > [Pangalan ng App] > Mga Pahintulot upang i-on o i-off ang mga indibidwal na mapanganib na pahintulot.

Ang mga XAPK file ba ay may iba't ibang mga pahintulot?

Ang isang XAPK ay naglalaman ng isa o higit pang mga APK. Ang bawat APK sa loob ay may sariling manifest. Susuriin ng aming tool ang Pangunahing APK sa loob ng bundle upang ipakita sa iyo ang mga nauugnay na pahintulot.

Bakit humihingi ng "Network Access" ang bawat app?

Halos lahat ng app ay nangangailangan ng internet access para sa analytics, pag-uulat ng bug, o mga advertisement. Bagama't karaniwan ito, ito rin ang paraan ng pagpapadala ng ninakaw na data sa server ng isang hacker.

Sinisiyasat ang Mga Pahintulot sa Manifest Bago Mo I-tap ang I-install

Hindi mo maaaring husgahan ang hindi mo nakikita. Ang paggugol ng sampung segundo sa tingnan ang mga pahintulot ng APK bago ka mag-sideload, ito ang pagkakaiba sa pagitan ng pag-alam kung ano ang maaaring maabot ng isang app at ang simpleng pag-asang kumikilos ito. Basahin muna ang listahan, at i-install ang pangalawa.

Ininhinyero at Dokumento ni Mst Shaefale Punong Developer at Arkitekto ng Package sa Android • Na-verify sa Android 12–15

Pinapanatili ni Mst Shaefale ang client-side na XAPK/APKS merger, binary manifest parser, at APK v1+v2 signing tool sa xapktoapk.com. Makita ang isang hindi napapanahong command o pagbabago ng OS? Magpadala ng editoryal na tala.