Главная Мой профиль РегистрацияВыход RSS
Вы вошли как Гость | Группа "Гости"Приветствую Вас, Гость
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Поиск
Архив записей
[ Добавить новость 

Заблокируйте разрешения Android APK

Мы не планируем стать блогом «как» в ближайшее время, но подумали, что это может быть интересным для многих из вас с телефонами Android и любовью к сторонним приложениям (Привет, Пандора… сегодня ты выглядишь великолепно). Пользователи Android, вероятно, привыкли видеть список разрешений, которые желает приложение, перед тем, как вы нажмете эту большую кнопку установки в Android рынок , К сожалению, нет особого способа выяснить, почему приложению требуются определенные разрешения, и вы не можете предоставить приложению некоторые разрешения, а не другие. (Как вы можете сделать на устройстве RIM.) Это просто «вот что хочет приложение»: устанавливать или не устанавливать. Если вы хотите немного больше контролировать разрешения, которые предоставляются приложению, используйте небольшой инструмент под названием « apktool Могу вам помочь.

Давайте возьмем игру Bubble Burst Lite в качестве примера бесплатного приложения, которое я хочу попробовать, но не хочу давать слишком много доступа к своему телефону. В частности, я не хочу, чтобы он читал мои контакты или отправлял смс-сообщения своим друзьям о том, как сильно я сокрушу их своими навыками всплывающих пузырьков. Чтобы заблокировать это, вам нужно получить файл com.androgames.BubbleBurst.apk и установить apktool (я предполагаю, что у вас уже есть ADB установлено сейчас). Затем выполните следующую команду, чтобы извлечь APK и «расшифровать» приложение.

apktool декодировать com.androgames.BubbleBurst.apk BubbleBurstLite

Вы заметите, что в новом каталоге, который был только что создан, есть AndroidManifest.xml файл, который вы можете прочитать в любом текстовом редакторе (хотя есть и другие инструменты, которые могут извлечь эту информацию из apk, я большой поклонник этого инструмента и формата, который он использует). Далее вы увидите теги «Права использования», как правило, в конце файла. В нашем случае приложение запрашивает четыре разрешения: INTERNET, ACCESS_NETWORK_STATE, RECEIVE_SMS и READ_CONTACTS.

Затем удалите теги для разрешений, которые вы не хотите, чтобы приложение имело. В моем случае я собираюсь удалить разрешения для RECEIVE_SMS и READ_CONTACTS. Вы также можете извлечь что-то вроде тега «SMSReceiver» чуть выше в файле. Сохраните изменения и вернитесь в командную строку, чтобы apktool пересобрал приложение.

apktool build BubbleBurstLite

Этот шаг создаст файл «out.apk» в подпапке dist. Но прежде чем вы сможете установить его на свой телефон, вы должны сначала знак апк. В этом примере я просто использую свой собственный самоподписанный ключ, который я ранее создал.

jarsigner -verbose -keystore my-release-key.keystore out.apk igkey

(Радж, коллега по Intrepidus Group, сделал мне хорошее замечание на этом этапе. Если вы подпишете все свои приложения одним и тем же ключом, и разработчики это знали и закодировали для него, они могли бы иметь разрешение общаться друг с другом и делиться данные ... и, возможно, однажды восстанут против вас. Помогите внести свой вклад, чтобы держать Cyberdyne Systems в страхе и подписать каждое приложение уникальным ключом.)

Теперь вернемся к нашим изменениям, подключите ваше устройство и завершите работу командой « adp install out.apk ». Теперь вы увидите, что при просмотре разрешения приложения в меню «Настройки» -> «Приложения» -> «Управление приложениями» ненужные разрешения исчезли. Играйте уверенно, зная, что любой взрывной удар будет исходить от вас, а не от приложения, тайно отправляющего SMS-сообщения в фоновом режиме.

Дата публикации: 27 мая 2010 г.

Автор: & nbsp Бенн