Содержание статьи
- Софт
- T-UI — лаунчер в стиле командной строки Linux
- Apktool X — анализ и модификация приложений прямо на смартфоне
- Custom Navigation Bar — кастомизируем наэкранные кнопки навигации без root
- Notification Guard — прячем содержимое уведомлений от посторонних
- Инструменты для анализа безопасности
- Посмотреть
- Безопасность WebView
- Коллекция security-багов для Android
- Статьи
- Большой гайд по Kotlin
- Утечки памяти в Android-приложениях
- Использование корутин в Kotlin
- Создание Guillotine Menu в Android
- Как использовать push-уведомления с Firebase
- Введение в разработку для Android Things
- Работа с nullable-типом в Kotlin: использование элвис-оператора и getOrDefault
- Как размещать константы в Kotlin с точки зрения эффективности исполнения кода
- Пишем приложение из сериала «Силиконовая долина» на Kotlin
- Секьюрная работа с полями ввода приложений, использующих API Autofill
- Библиотеки для Android-разработчика
- Полезные инструменты
В этой статье: лаунчер в стиле командной строки Linux, приложение для подмены уведомлений, исчерпывающий каталог информации о возможных уязвимостях в приложениях для Android и примеры эксплоитов, несколько инструментов анализа APK. А также множество статей для программистов, откуда ты узнаешь, как бороться с утечками памяти, писать эффективный код на Kotlin, как защитить свое приложение от чужих глаз и запретить его запуск в виртуальных окружениях. И конечно же, набор первоклассных библиотек.
Софт
T-UI — лаунчер в стиле командной строки Linux
Казалось бы, необычным лаунчером сегодня уже никого не удивишь. Google Play битком набит реализациями рабочих столов во всех мыслимых и немыслимых стилях. Здесь можно найти лаунчер, мимикрирующий под iOS, Windows Phone 7, 8 и 10, прошивки от различных производителей и множество концептуальных лаунчеров вроде Aviate. Но есть и нечто действительно особенное.
T-UI Launcher — это лаунчер в стиле командной строки Linux. Причем не просто «в стиле», это и есть командная строка, позволяющая перемещаться по каталогам, редактировать файлы, запускать приложения и делать множество других вещей с помощью команд, которые придется вбивать с клавиатуры.
Во время первого запуска тебе покажут несколько примеров |
Для запуска приложения достаточно начать набирать его имя, и T-UI подскажет тебе возможные варианты. Любое приложение можно удалить с помощью команды uninstall имя_приложения
, также можно просмотреть список установленных приложений с помощью команды apps
.
Управлять воспроизведением музыки также можно из самого лаунчера. Команда tracks
покажет имеющиеся композиции, track
— включит нужную композицию, управление плей-листом: previous
и next
.
У T-UI есть настройки. И конечно же, они хранятся в конфигурационном файле, который придется править руками. Команда tuisettings
откроет этот файл во встроенном редакторе tuixt. Выйти из него, кстати, не намного проще, чем из Vim, так что все канонично (спойлер: надо набрать команду exit
).
Список композиций и файл настроек |
Звонить и отправлять SMS также можно, не покидая T-UI, для этого есть команды call
и sms
. Список контактов можно посмотреть, запустив любую из них без аргументов. Если же тебя самого уже достали звонками, то можно включить режим полета: airplaine
. Команды wifi
и data
включают/отключают Wi-Fi и передачу данных по мобильной сети.
T-UI — шуточное приложение. Но, как ни странно, оно может быть очень удобным. Благодаря автодополнению для запуска нужной функции или приложения достаточно вбить всего один-два символа. Это гораздо быстрее, чем рыться в меню приложений или запускать телефон, тапать по окну поиска и вбивать имя контакта.
Кроме того, для более быстрого запуска на любую команду можно повесить alias. Плюс здесь есть команда search
, которая позволяет искать в Google, Play Store, YouTube и на карте памяти.
Apktool X — анализ и модификация приложений прямо на смартфоне
Утилита Apktool хорошо известна всем, кто когда-либо модифицировал, переводил или просто изучал приложения для Android. С ее помощью пакет APK можно разобрать на составные части, декомпилировать байт-код, декомпрессировать XML-файлы, а после внесения изменений собрать APK обратно. Официальная версия этой утилиты для Android уже долгое время заброшена, но недавно появился новый порт.
Apktool X — это версия Apktool для Android, сделанная разработчиком Andro Black. Она прекрасно работает на последних версиях Android и способна распаковывать приложения, собранные с помощью самой свежей версии Android Studio.
Пользоваться Apktool X очень просто. Сразу после запуска ты увидишь на экране файловый менеджер. Тап по пакету APK откроет диалоговое окно, с помощью которого можно выбрать, что конкретно ты хочешь извлечь из пакета. Вариантов масса: декомпиляция кода приложения (Decompile dex), декомпиляция ресурсов, включая строки для перевода (Decompile res), подпись приложения (Sign, необходима после сборки приложения), а также инсталляция, удаление и несколько других вариантов.
Выбираем пакет для разборки |
Чтобы разобрать все приложение целиком, выбирай Decompile all. Через несколько секунд (или минут, в зависимости от размера приложения) в той же папке появится папка с именем имя_приложения_src. Она содержит все, что Apktool сумел извлечь. Сам Apktool X не имеет средств для анализа и просмотра этих файлов, так что при попытке их открыть он попросит выбрать текстовый редактор или просмотрщик приложений (для файлов ресурсов).
Распакованное приложение и содержимое файла AndroidManifest.xml |
Что делать со всеми этими файлами? Да что угодно. Например, ты можешь взломать приложение, сделав его бесплатным. Ну или изменить его интерфейс и перевести на русский язык.
В любом случае после всех операций приложение необходимо запаковать. Для этого долго удерживай палец на папке с распакованным приложением, а затем выбери пункт Recompile. И не забудь подписать полученный APK с помощью опции Sign.
Custom Navigation Bar — кастомизируем наэкранные кнопки навигации без root
Одна из полезных функций Android O — возможность настроить экранные кнопки навигации. Их можно менять местами, сдвигать в разные стороны и делать другие интересные вещи. Однако, как выяснилось, скрытый механизм, предоставляющий такие возможности, есть даже в Android 7. Не хватает только графического интерфейса, который позволил бы им управлять. Приложение Custom Navigation Bar устраняет этот недостаток.
Custom Navigation Bar — крайне простая, но полезная программа. С ее помощью экранные кнопки можно расположить по своему вкусу, например сдвинуть влево или вправо для управления одной рукой, сдвинуть в центр, поменять кнопки «Назад» и «Обзор» местами.
Главный экран и меню быстрой настройки кнопок |
Интересная функция — возможность добавить дополнительные кнопки с левой и с правой стороны экрана. Это могут быть кнопки навигации по тексту, кнопка доступа к буферу обмена, кнопка для выдвижения панели уведомлений, иконка приложения, управление громкостью или любая клавиша клавиатуры (например, Tab, которая позволяет перемещаться по графическим элементам запущенного в данный момент приложения).
Настраиваем дополнительные кнопки |
Приложение поддерживает навигацию с Tasker. Ты можешь создать сразу несколько различных настроек клавиш (профилей) и переключать их динамически в зависимости от того или иного условия. Например, настроить показ кнопок переключения музыкальных треков только тогда, когда включен плеер. Или, например, включить кнопку буфера обмена, только если в самом буфере обмена что-то есть.
Вся эта функциональность доступна бесплатно. Однако если тебе нужна поддержка тем (например, возможность сделать кнопки навигации как в Google Pixel), то придется заплатить 130 рублей.
Notification Guard — прячем содержимое уведомлений от посторонних
Уведомления — это одна из удобнейших функций смартфона. Но они же несут опасность раскрытия личных данных. Да, можно отключить показ уведомлений на экране блокировки или скрыть личную информацию, но как быть с защитой от тех, кто может стоять у тебя за спиной, пока ты используешь смартфон? В этом случае поможет Notification Guard.
Notification Guard — это приложение для маскировки любых уведомлений. Неважно, принадлежит уведомление мессенджеру, почтовому клиенту или это уведомление о постройке здания в игре, — Notification Guard сделает так, чтобы в нем не отображалась никакая информация, или замаскирует его под уведомление от безобидного приложения.
Всего доступно три вида маскировки: замена текста уведомления на текст You’ve got a new message, замена не только текста, но и иконки на иконку фейсбука, замена иконки на иконку SMS. Все эти правила можно по отдельности применять к любым уведомлениям либо настроить автоматическое скрытие уведомлений, содержащих определенный текст (нет, имя любовницы туда лучше не вписывать).
Интуитивно понятный интерфейс |
В том случае, если ты вообще не хочешь получать уведомления, есть режим Do Not Disturb. В этом случае все уведомления отправятся в специальный ящик, который ты сможешь просмотреть тогда, когда у тебя появится для этого время.
Типы маскировки уведомлений и сами уведомления |
Дисклеймер для параноиков. Принцип работы Notification Guard — скрывать оригинальное уведомление и показывать вместо него другое. Для этого он использует официальный API Android, дающий доступ к содержимому уведомления. Естественно, если разработчик будет недостаточно добросовестным, он сможет слить эту информацию на третью сторону.
Впрочем, сторонний почтовый клиент или файловый менеджер с доступом к Dropbox смогут слить намного больше твоей инфы.
Инструменты для анализа безопасности
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»