Как да видите разрешенията на приложението за Android, преди да инсталирате APK

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

Когато инсталирате приложение от Google Play Store, Android показва опростено резюме на това, до което приложението има достъп. Странично заредете APK от източник извън Play и нямате такава предпазна мрежа, освен ако не прочетете сами манифеста. „Трябва ли приложението за тапет наистина да се нуждае от достъп до SMS и микрофон?“ е точно въпросът, на който това ръководство ще ви помогне да отговорите.

Това, което следва, е същият работен процес, който екипът ни използва при триажиране на непознат APK: отворете го, прочетете uses-permission записите, декодирайте нивата на защита и сравнете това, от което се нуждае приложението казва, с това, което обикновено изисква неговата категория. Нашият онлайн инструмент за информация за APK прави бинарно-XML декодирането вместо вас, така че целият процес отнема около десет секунди.

Време за четене: ~9 минути. Необходими инструменти: браузър; по желание apksigner и aapt2 от Android SDK, ако искате да направите същите проверки от терминал. Какво ще можете да направите накрая: прочетете пълния списък с разрешения на всеки APK, забележете четирите или петте „силно въздействащи“ заявки, които почти винаги показват проблем, и решете дали да инсталирате преди инсталирането, а не след това.

Защо да се занимавате с разрешения за одит?

Злонамерените разработчици вземат популярни безплатни приложения, променят ги и ги пускат повторно на сайтове на трети страни. Въпреки че приложението може да изглежда и функционира нормално, неговият скрит код може да копира списъка ви с контакти или да записва вашето фоново аудио. Преглеждайки разрешенията предварителна инсталация, можете да забележите тези червени знамена за „пълзене на разрешенията“.

Как да одитирате всеки APK файл (онлайн)

Нашият Инструмент за APK информация чете манифеста на вашия файл изцяло във вашия браузър; файлът никога не се качва на сървър и не се изпълнява код. Ето как да го използвате:

Процес:

  1. Отидете на Страница с информация за APK.
  2. Изберете вашия .apk файл.
  3. Изчакайте анализът да приключи (обикновено 5 секунди).
  4. Превъртете надолу до Секция за разрешения.
  5. Потърсете флагове с висок риск като: READ_SMS, PROCESS_OUTGOING_CALLS или ACCESS_FINE_LOCATION.

Списък с червен флаг за разрешение

Ако приложение Калкулатор или Фенерче поиска READ_CONTACTS или RECORD_AUDIO, незабавно изтрийте файла. Няма законна причина тези приложения да имат тези данни.

Разбиране на нивата на разрешения за Android

Не всички разрешения са създадени еднакви. Android ги категоризира на три нива:

Ръчен метод (използване на ZIP Viewer)

Ако имате известни технически умения, можете сами да проверявате разрешенията:

  1. Преименувайте app.apk на app.zip и го отворете.
  2. Намерете AndroidManifest.xml. (Забележка: Той е в двоичен формат и ще изглежда като безсмислици в текстов редактор).
  3. Използвайте инструмент като AXMLPrinter, за да го конвертирате в четим текст.
  4. Търсете тагове, започващи с <uses-permission>.

Препоръка: Много по-бързо е да използвате нашия онлайн инструмент, който декодира това за вас незабавно.

Одитирайте вашите приложения сега

Знайте какво точно изискват вашите приложения. Без тайни, без рискове.

Проверете разрешенията за APK

Какво всъщност се съхранява в AndroidManifest.xml

Манифестът е източникът на истината за всяко разрешение, компонент и функция, декларирани от приложението. Вътре в APK файлът е във форма двоичен XML, а не обикновен текст, който виждате в изходния код, така че не може да бъде прочетен с нормален текстов редактор. Нашият инструмент за информация за APK декодира двоичния XML и извежда съответните тагове. Най-важните са:

Нива на защита на разрешенията: Cheat Sheet

Android присвоява на всяко разрешение „ниво на защита“. Знаейки към кое ниво принадлежи дадена заявка, ви казва колко сериозно ще я третира операционната система.

Ниво на защита Потребителско изживяване Примери
нормално Предоставя се тихо по време на инсталиране. Няма подкана. ИНТЕРНЕТ, ВИБРАЦИЯ, ACCESS_NETWORK_STATE, WAKE_LOCK
опасно Подкана по време на изпълнение при първото използване на функцията. Може да се отмени в настройките. CAMERA, RECORD_AUDIO, READ_CONTACTS, ACCESS_FINE_LOCATION
подпис Предоставя се само на приложения, подписани със същия сертификат като предоставящото приложение или операционната система. BIND_VPN_SERVICE, INSTALL_PACKAGES (само за системата)
подпис|привилегирован Налично само за предварително инсталирани приложения в директорията priv-app на системния образ. MANAGE_USERS, READ_LOGS (системни разрешения)
приложение / роля Изисква отделен поток от настройки за активиране. SYSTEM_ALERT_WINDOW, BIND_ACCESSIBILITY_SERVICE, MANAGE_EXTERNAL_STORAGE (специален достъп)

Какво всъщност означават „скрити“ разрешения

Често срещано погрешно схващане е, че някои разрешения са тайни. Те не са: всяко разрешение, което приложение може да използва, трябва да бъде декларирано в AndroidManifest.xml и операционната система отказва да даде всяко разрешение, което не е посочено там. Това, което хората обикновено имат предвид под „скрит“, е едно от двете неща:

Така или иначе, отговорът е един и същ: прочетете манифеста, не се доверявайте на описание в Play Store само по себе си.

Работещ пример: Одит на истински APK

Да предположим, че имате example.apk във вашата папка за изтегляния. Ето точния работен процес:

  1. Отворете Инструмент за APK информация във вашия браузър.
  2. Пуснете APK в областта за качване. Обработката се извършва локално; файлът не напуска вашето устройство.
  3. Прочетете раздела Разрешения. Всеки запис показва името на константата (android.permission.READ_CONTACTS и описание на обикновен език на това, което позволява).
  4. Сравнете списъка с категорията на приложението. Грубо казано, очаквайте:
    • Приложения за камера: CAMERA, RECORD_AUDIO (за видео), STORAGE/MEDIA запис
    • Приложения за съобщения: ИНТЕРНЕТ, READ_CONTACTS, SEND_SMS (само ако е базиран на SMS), RECORD_AUDIO (за гласови бележки), КАМЕРА (за изпращане на снимки)
    • игри: ИНТЕРНЕТ, понякога RECORD_AUDIO (за гласов чат в играта), разрешения, свързани с таксуването; рядко нещо друго
    • Помощни приложения (калкулатор, фенерче, времето): ИНТЕРНЕТ (за реклами), ACCESS_NETWORK_STATE, евентуално МЕСТОПОЛОЖЕНИЕ (само времето). Всичко извън това е подозрително.
  5. Ако нещо в списъка не отговаря на категорията, не инсталирайте. Няма основателна причина калкулаторът да се нуждае от SMS достъп.

Същата логика се прилага независимо дали файлът е APK, XAPK (където четем вътрешния основен APK) или APKS пакет (където четем манифеста на всяко разделяне).

Правете го от командния ред

Ако предпочитате терминалния маршрут, Android SDK доставя aapt2, който изхвърля манифест от всеки APK в обикновен XML:

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

Или използвайте apksigner, за да проверите сертификата за подпис едновременно:

apksigner verify --print-certs example.apk

Инструментът на браузъра прави същото за потребители, които предпочитат да не инсталират SDK само за проверка на един файл.

Често задавани въпроси (FAQ)

Мога ли да откажа разрешение след инсталиране на APK?

да На Android 6.0 и по-нова версия можете да отидете на Настройки > Приложения > [Име на приложението] > Разрешения, за да включите или изключите индивидуалните опасни разрешения.

XAPK файловете имат ли различни разрешения?

XAPK съдържа един или повече APK. Всеки APK вътре има свой собствен манифест. Нашият инструмент ще анализира Основен APK в пакета, за да ви покаже съответните разрешения.

Защо всяко приложение иска "Достъп до мрежата"?

Почти всички приложения се нуждаят от достъп до интернет за анализи, докладване на грешки или реклами. Въпреки че е често срещано, това е и начинът, по който откраднатите данни се изпращат до сървъра на хакер.

Проверка на разрешенията на манифеста, преди да докоснете Инсталиране

Не можете да съдите това, което не можете да видите. Прекарването на десет секунди за вижте разрешенията на APK, преди да заредите отстрани, е разликата между това да знаете какво може да достигне едно приложение и просто да се надявате, че ще се държи. Първо прочетете списъка и след това инсталирайте.

Проектиран и документиран от Mst Shaefale Водещ разработчик и архитект на пакети за Android • Проверен на Android 12–15

Mst Shaefale поддържа инструментите за подписване на XAPK/APKS от страна на клиента, парсер на бинарен манифест и APK v1+v2 в xapktoapk.com. Забележите остаряла команда или промяна на операционната система? Изпратете редакционна бележка.