Содержание статьи

Мы обновляем нашу рубрику для фанатов Android. Весь июнь мы выбирали интересный гик-софт, искали новые инструменты реверса APK, читали и анализировали вайтпейперы, статьи по безопасности и разработке. А сейчас готовы поделиться с тобой самым ценным. Если ты пишешь софт, занимаешься анализом защищенности приложений или просто 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
Распакованное приложение и содержимое файла AndroidManifest.xml
Распакованное приложение и содержимое файла AndroidManifest.xml
Распакованное приложение и содержимое файла AndroidManifest.xml
Распакованное приложение и содержимое файла 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. Оформи подписку на «Хакер», чтобы читать все статьи на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи одну статью

Заинтересовала статья, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для статей, опубликованных более двух месяцев назад.


Комментарии

Подпишитесь на ][, чтобы участвовать в обсуждении

Обсуждение этой статьи доступно только нашим подписчикам. Вы можете войти в свой аккаунт или зарегистрироваться и оплатить подписку, чтобы свободно участвовать в обсуждении.

Check Also

Конкурс хаков: пишем на PowerShell скрипт, который уведомляет о днях рождения пользователей Active Directory

В компаниях часто встречается задача уведомлять сотрудников о приближающихся днях рождения…