Cara Melihat Kebenaran Apl Android Sebelum Memasang APK

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

Apabila anda memasang apl daripada Gedung Google Play, Android menunjukkan ringkasan ringkas tentang perkara yang boleh diakses oleh apl itu. Sideload APK daripada sumber bukan Main dan anda tidak mempunyai jaringan keselamatan sedemikian, melainkan anda membaca sendiri manifes itu. "Adakah apl kertas dinding benar-benar memerlukan akses SMS dan mikrofon?" betul-betul jenis soalan yang panduan ini akan bantu anda jawab.

Perkara berikut ialah aliran kerja yang sama yang digunakan oleh pasukan kami semasa mencuba APK yang tidak dikenali: bukanya, baca entri uses-permission, nyahkod tahap perlindungan dan bandingkan perkara yang diperlukan oleh apl berkata dengan perkara yang biasanya diperlukan oleh kategorinya. alat Maklumat APK dalam talian kami melakukan penyahkodan binari-XML untuk anda supaya keseluruhan proses mengambil masa kira-kira sepuluh saat.

Masa membaca: ~9 minit. Alat yang diperlukan: pelayar; secara pilihan apksigner dan aapt2 daripada SDK Android jika anda ingin melakukan semakan yang sama dari terminal. Apa yang anda akan dapat lakukan pada akhirnya: baca mana-mana senarai kebenaran penuh APK, lihat empat atau lima permintaan "impak tinggi" yang hampir selalu menunjukkan masalah dan tentukan sama ada untuk memasang sebelum memasang, bukan selepas itu.

Mengapa Mengganggu Kebenaran Pengauditan?

Pembangun berniat jahat mengambil apl percuma yang popular, mengubahnya dan mengeluarkannya semula di tapak pihak ketiga. Walaupun apl mungkin kelihatan dan berfungsi seperti biasa, kod tersembunyinya mungkin menyalin senarai kenalan anda atau merakam audio latar belakang anda. Dengan melihat kebenaran pra-pemasangan, anda boleh melihat bendera merah "permission creep" ini.

Cara Mengaudit Mana-mana Fail APK (Dalam Talian)

Alat Maklumat APK kami membaca manifes fail anda sepenuhnya dalam penyemak imbas anda; fail tidak pernah dimuat naik ke pelayan, dan tiada kod dilaksanakan. Begini cara menggunakannya:

Proses:

  1. Pergi ke Halaman Maklumat APK.
  2. Pilih fail .apk anda.
  3. Tunggu analisis selesai (biasanya 5 saat).
  4. Tatal ke bawah ke Bahagian Kebenaran.
  5. Cari bendera berisiko tinggi seperti: READ_SMS, PROCESS_OUTGOING_CALLS atau ACCESS_FINE_LOCATION.

Senarai Bendera Merah Kebenaran

Jika apl Kalkulator atau Lampu suluh meminta READ_CONTACTS atau RECORD_AUDIO, padamkan fail dengan segera. Tiada sebab yang sah untuk apl ini mempunyai data tersebut.

Memahami Tahap Kebenaran Android

Tidak semua kebenaran dicipta sama. Android mengkategorikannya kepada tiga tahap:

Kaedah Manual (Menggunakan Pemapar ZIP)

Jika anda mempunyai beberapa kemahiran teknikal, anda boleh mengaudit kebenaran sendiri:

  1. Namakan semula app.apk kepada app.zip dan bukanya.
  2. Cari AndroidManifest.xml. (Nota: Ia dalam format binari dan akan kelihatan seperti omong kosong dalam editor teks).
  3. Gunakan alat seperti AXMLPrinter untuk menukarnya kepada teks yang boleh dibaca.
  4. Cari teg bermula dengan <uses-permission>.

Syor: Lebih cepat menggunakan alat dalam talian kami yang menyahkod ini untuk anda serta-merta.

Audit Apl Anda Sekarang

Ketahui dengan tepat apa yang apl anda minta. Tiada rahsia, tiada risiko.

Semak Kebenaran APK

Apa yang Sebenarnya Disimpan dalam AndroidManifest.xml

Manifes ialah sumber kebenaran untuk setiap kebenaran, komponen dan ciri yang diisytiharkan oleh apl. Di dalam APK, fail itu dalam bentuk XML binari, bukan teks biasa yang anda lihat dalam kod sumber, jadi ia tidak boleh dibaca dengan editor teks biasa. Alat Maklumat APK kami menyahkod XML binari dan memaparkan teg yang berkaitan. Yang paling penting ialah:

Tahap Perlindungan Kebenaran: Helaian Penipuan

Android memberikan setiap kebenaran "tahap perlindungan". Mengetahui tahap mana yang dimiliki oleh permintaan memberitahu anda betapa seriusnya OS akan melayannya.

Tahap perlindungan Pengalaman pengguna Contoh
biasa Diberikan secara senyap pada masa pemasangan. Tiada gesaan. INTERNET, BERGETAR, ACCESS_NETWORK_STATE, WAKE_LOCK
bahaya Runtime prompt pada kali pertama ciri digunakan. Boleh dibatalkan dalam Tetapan. CAMERA, RECORD_AUDIO, READ_CONTACTS, ACCESS_FINE_LOCATION
tandatangan Diberikan hanya kepada apl yang ditandatangani dengan sijil yang sama seperti apl pemberian atau OS. BIND_VPN_SERVICE, INSTALL_PACKAGES (sistem sahaja)
tandatangan|terutama Tersedia hanya untuk apl prapasang dalam direktori priv-app imej sistem. MANAGE_USERS, READ_LOGS (urus pengguna & log)
appop / peranan Memerlukan aliran Tetapan yang berasingan untuk mendayakan. SYSTEM_ALERT_WINDOW, BIND_ACCESSIBILITY_SERVICE, MANAGE_EXTERNAL_STORAGE (kebenaran khas sistem)

Apa Maksud Kebenaran "Tersembunyi" Sebenarnya

Salah tanggapan yang lazim ialah sesetengah kebenaran adalah rahsia. Mereka tidak: setiap kebenaran yang mungkin digunakan oleh apl mesti diisytiharkan dalam AndroidManifest.xml dan OS enggan memberikan sebarang kebenaran yang tidak disenaraikan di sana. Apa yang orang biasanya maksudkan dengan "tersembunyi" ialah salah satu daripada dua perkara:

Walau apa pun, jawapannya adalah sama: baca manifes, jangan percaya penerangan Gedung Play sendiri.

Contoh Berfungsi: Mengaudit APK Sebenar

Katakan anda mempunyai example.apk dalam folder Muat Turun anda. Berikut ialah aliran kerja yang tepat:

  1. Buka Alat Maklumat APK dalam pelayar anda.
  2. Lepaskan APK pada kawasan muat naik. Pemprosesan berlaku secara tempatan; fail tidak meninggalkan peranti anda.
  3. Baca bahagian kebenaran. Setiap entri menunjukkan nama tetap (android.permission.READ_CONTACTS dan penerangan bahasa biasa tentang perkara yang dibenarkan).
  4. Bandingkan senarai dengan kategori apl. Secara kasar, jangkakan:
    • Apl kamera: CAMERA, RECORD_AUDIO (untuk video), STORAGE/MEDIA tulis
    • Apl pemesejan: INTERNET, READ_CONTACTS, SEND_SMS (hanya jika berasaskan SMS), RECORD_AUDIO (untuk nota suara), CAMERA (untuk menghantar foto)
    • Permainan: INTERNET, kadangkala RECORD_AUDIO (untuk sembang suara dalam permainan), kebenaran berkaitan pengebilan; jarang yang lain
    • Apl utiliti (kalkulator, lampu suluh, cuaca): INTERNET (untuk iklan), ACCESS_NETWORK_STATE, mungkin LOCATION (cuaca sahaja). Apa-apa di luar itu adalah mencurigakan.
  5. Jika apa-apa dalam senarai tidak sesuai dengan kategori, jangan pasang. Tiada sebab yang kukuh kalkulator memerlukan akses SMS.

Logik yang sama terpakai sama ada fail itu APK, XAPK (tempat kita membaca APK asas dalam) atau berkas APKS (tempat kita membaca manifes setiap pemisahan).

Melakukannya dari Barisan Perintah

Jika anda lebih suka laluan terminal, Android SDK menghantar aapt2, yang membuang manifes daripada mana-mana APK dalam XML biasa:

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

Atau gunakan apksigner untuk mengesahkan sijil tandatangan pada masa yang sama:

apksigner verify --print-certs example.apk

Alat penyemak imbas melakukan perkara yang sama untuk pengguna yang lebih suka tidak memasang SDK hanya untuk memeriksa satu fail.

Soalan Lazim (FAQ)

Bolehkah saya menolak kebenaran selepas memasang APK?

ya. Pada Android 6.0 dan lebih tinggi, anda boleh pergi ke Tetapan > Apl > [Nama Apl] > Kebenaran untuk menghidupkan atau mematikan kebenaran berbahaya individu.

Adakah fail XAPK mempunyai kebenaran yang berbeza?

XAPK mengandungi satu atau lebih APK. Setiap APK di dalamnya mempunyai manifesnya sendiri. Alat kami akan menganalisis APK utama dalam berkas untuk menunjukkan kepada anda kebenaran yang berkaitan.

Mengapakah setiap apl meminta "Akses Rangkaian"?

Hampir semua apl memerlukan akses internet untuk analitis, pelaporan pepijat atau iklan. Walaupun ia adalah perkara biasa, ia juga merupakan cara data yang dicuri dihantar ke pelayan penggodam.

Memeriksa Kebenaran Manifes Sebelum Anda Ketik Pasang

Anda tidak boleh menilai apa yang anda tidak dapat lihat. Menghabiskan sepuluh saat untuk lihat kebenaran APK sebelum anda sideload adalah perbezaan antara mengetahui perkara yang boleh dicapai oleh apl dan hanya berharap ia berkelakuan. Baca senarai dahulu, dan pasang kedua.

Kejuruteraan & Didokumentasikan oleh Mst Shaefale Pemaju Utama & Arkitek Pakej Android • Disahkan pada Android 12–15

Mst Shaefale mengekalkan penggabungan XAPK/APKS pihak pelanggan, penghurai manifes binari dan alat tandatangan APK v1+v2 di xapktoapk.com. Lihat arahan atau perubahan OS yang sudah lapuk? Hantar nota editorial.