We Love Android – Telegram
We Love Android
631 subscribers
259 photos
26 videos
4 files
630 links
Новости из мира Android-разработки
Download Telegram
Forwarded from Mobile AppSec World (Yury Shabalin)
Атаки на клиентов с использованием WebView

Вообще статья называется "A View Into Web(View) Attacks in Android" и открывая ее, я ожидал увидеть информацию об атаках на WebView в приложениях и прочие интересные штуки, но оказалось это немного про другое.

В статье расписано, как некоторые зловреды использовали WebView, чтобы обмануть пользователя и украсть данные от банковских аккаунтов.

Все достаточно просто, пользователь загружает зловредное приложение и при его открытии внутри WebView загружается легитимный банковский сайт, но со зловредным JS-кодом, который отправляет данные пользователя на сервер злоумышленника. Подход очень простой и имеет ряд существенных преимуществ, не нужно самому имитировать интерфейс приложения, не нужны дополнительные разрешения у системы спрашивать.

Вообще, достаточно интересное чтиво, с примерами реальных зловредов и разбора их кода. Самое то почитать в пятницу 😄

#android #WebView #fishing
🔥4🤔3👍2
Несущиеся слоны: опыт Square в улучшении системы сборки для Android

Это не техническое глубокое погружение. Наоборот, это высокоуровневый обзор того, что мы сделали, почему мы это сделали, что мы получили в результате усилий и почему мы считаем, что наш подход можно обобщить.

• Покажите мне данные
• Путешествие начинается
• Шардинг CI: особое примечание
• Серебряные пули
• Постепенные улучшения, накопление выгоды
buildSrc мертв. Да здравствует build-logic!
Будьте ленивыми
Удалите скрипты
Устраните межпроектную конфигурацию
Тестируйте свою сборку
Используйте кэш конфигурации
• Путешествие продолжается
• Шаблоны решений: серебряные пули и постепенная выгода

Статья: https://apptractor.ru/sqgrdl
Платформа: Android
👍4🔥2😱1
Forwarded from Android Broadcast (Кирилл Розов)
На этой неделе стартанула новая серия MADSkills по модификаторам Compose

📺 Fundamentals of Compose Layouts and Modifiers - MAD Skills (12 мин)
📺 The Jetpack Compose Beginner Crash Course for 2023 (50 мин)
📺 Now In Android #76 (3 мин)
📺 Новости мобильной разработки от Android Broadcast (18 мин)

В комментариях делитесь видео по разработке, которые понравились вам и будут полезны другим

#подборкавидео
👍2🔥1🤔1
Forwarded from Mobile AppSec World (Yury Shabalin)
Обход детекта Frida на Android

Всем привет!
Для любителей видео-демонстраций, уроков и лекций, нашел видео-гайд по одному из способов обхода детекта Frida на Android.

Видео основано на анализе приложения R2Pay, которое как раз содержит детект на наличие root и frida-server на устройстве. При этом реализовано это все в нативе, так что полезно будет и тем, кто хотел посмотреть, как хукать нативные вызовы в .so файлах в Android.

Для тех, кто хочет почитать, есть подробный разбор аналогичного таска в текстовом представлении.

Изучаем, радуемся и проходим CTF =)

#CTF #Frida #Antifrida
👍3🤔2
Dashlane Android Apps - репозиторий с исходниками приложений для управления паролями Dashlane. Они общедоступны для проверки кода и и интересны для всех, кто хочет узнать больше о том, как работают приложения для Android.

Внутри монолит (который прямо сейчас модуляризируют), MVVM, Kotlin с Coroutine и Flow (есть легаси Java), Hilt, Jetpack Navigation, криптография OpenSSL и Argon2.

Dashlane Android Apps на GitHub: https://github.com/Dashlane/android-apps
Платформа: Android
⭐️: 97
🔥4👍1
Forwarded from Android Good Reads (Egor Tolstoy)
Совместимость библиотек и binary-compatibility-validator

В статье разбирается несколько типов совместимости, о которых должны думать авторы библиотек: backward/forward и source/binary compatibility. А для того, чтобы авторы библиотек случайно ломали binary совместимость, есть binary-compatibility-validator.
🤔2👍1🔥1
Forwarded from Android Live 🤖 (AdminBot)
​​JavaScriptSandbox
#android

Мало кто заметил (вероятно, потому что это довольно редкая штука), но Google работает над новой возможностью выполнять JS-код в Android.

Если у вас когда-то был опыт запуска JS-кода в Android-приложении, то вы должны знать о том, что для его запуска существует только одна возможность — использование инстанса WebView в фоне.

Это далеко не всегда удобно: нужно создавать дополнительные интерфейсы и функции для связи с JS, да и создавать инстанс WebView бывает накладно. Однако появляется новое решение — JavaScriptSandbox.

Вот пара преимуществ:
🎯 более низкое потребление ресурсов, так как не требуется создавать WebView;
🎯 можно запустить работу в Service, или WorkManager;
🎯 возможность выполнять несколько задач одновременно;
🎯 и передавать большие объёмы данных;

Я бы пока не рискнул тащить это в боевой проект, потому что JavanoscriptEngine ещё в начальной alpha-версии, но, надеюсь, Google и дальше продолжит развитие этой библиотеки. 🤓
👍4🔥32
Forwarded from Mobile Native ️️
Provider Pattern in Jetpack Compose

Неплохая статейка про
CompositionLocalProvider
в Jetpack Compose. Рассказывается что такое
CompositionLocalProvider
, как использовать и в каких случаях может быть полезен 👍

Читать (En)
👍3😱2🔥1
Forwarded from Android Broadcast (Кирилл Розов)
Вышла первая превью Android 14
👉 Новые ограничения для работы в фоне
👉 Оптимизация рассылки Broadcast-ов
👉 Обязательно запрашивать разрешение SCHEDULE_EXACT_ALARM для работы с AlarmManager.setExactAlarm
👉 Можно будет задавать размер текста вплоть до 200% благодаря нелинейному масштабированию
👉 Grammatical Inflection API
👉 Установка приложений с targetSdk ниже 23 будет невозможно
👉 Поддержка Passkeys
👉 Поддержка OpenJDK 17

Выход ожидается в конце лета - начале осени 2023. Позже буду здесь разбираться новые фичи в отдельных постах

#android14
😱3🤡3🔥2
Forwarded from Mobile AppSec World (Yury Shabalin)
Дамп и расшифровка трафика без использования Proxy

Все мы так или иначе сталкивались с необходимостью посмотреть трафик приложения и поисследовать его. Но всегда мешают всякие нехорошие безопасники, которые заставляют делать разработчиков SSL Pinning в приложении. И наиболее частый вопрос - как открутить пиннинг в приложении.

Как правило, это использование frida или аналогов, чтобы подмениить и отключить проверку сертификата в приложении. Но сделать это удается далеко не всегда и не со всеми приложениями.

Есть альтернативный вариант данному методу - это логировать SSL-ключи, которые используются для шифрования внутри канала связи, снимать дамп трафика и потом его расшифровывать этими ключами.

Спасибо огромное @vadim_a_yegorov за универсальный скрипт для Android и iOS (12/13/14/15), который помогает снимать и сохранять ключи!

Вот тут можно найти полный Frida-код этого прекрасного скрипта.

Спасибо, это очень круто!

#sslpinning #ssl #keys #dump
👍2🔥1😱1
Forwarded from Mobile Compose
#Article #Blog #OpenSource

Maps Compose Library Tutorial for Android: Getting Started

В феврале 2022 года Google выпустила библиотеку Maps Compose (набор composable функций с открытым исходным кодом для упрощения интеграции с Google Maps, а также различных типов данных, связанных с Maps SDK). О том, как работать с этой библиотекой на примере приложения GeoMarker — в сегодняшней статье.
👍3🔥21
Read You - открытый RSS-ридер для Android на Jetpack Compose и с Material You.

Read You на GitHub: https://github.com/Ashinch/ReadYou
Платформа: Android
⭐️: 1.8K
👍2🔥1
Forwarded from Android Good Reads (Egor Tolstoy)
Как Reddit переезжали на Anvil

Дано: приложение на 500 модулей, активно использующее Dagger 2 и кастомный kapt процессор для борьбы с циклическими зависимостями. Команде не нравилось, что их DI сетап слишком сложный, онбордить новых людей в него трудно, а использование kapt существенно замедляет сборку.

Чтобы решить эти проблемы, проект перевели на работу с Anvil. В статье – история миграции, результаты и советы тем, кто решит повторить их путь.
👍4🔥1😱1
Forwarded from Mobile Compose
#Featured #AndroidDevelopers #MADSkills #YouTube

[Eng] Constraints and modifier order

Очередной видеоролик про базовые практики в Compose из серии MAD Skills, в котором на этот раз разбирается как работает цепочка модификаторов (Modifiers) в Compose, а также почему так важен порядок их применения.
👍1🔥1
Forwarded from Рубанов про мобилу (Михаил Рубанов)
Про нейминг в коде

Арсений Мельников выпустил отличную статью про нейминг. Арсений занимается нашим публиным API у Dodo IS, круто что у него в этом такой системный подход.

https://habr.com/ru/company/dododev/blog/714512/
👍2🤔2
Forwarded from Android Broadcast (Кирилл Розов)
This media is not supported in your browser
VIEW IN TELEGRAM
В Chrome появится поддержка Partial Custom Tabs, которая частично перекрывает контент вашего приложения и позволяет взаимодействовать с вашим приложениям и Web контентом. Эта возможность уже доступна в Jetpack Browser 1.5.0

@android_broadcast #chrome #jetpack
👍5🔥2
Forwarded from Mobile Native ️️
Mastering Execution Time Measurement in Kotlin

Статья с примерами того, как можно измерять время выполнение ваших функций в Kotlin, с помощью👇

• measureNanoTime()
• measureTimeMillis()
• measureTimeMicros()
• measureTime()

Читать (En)
👍2
Forwarded from Android Guards
Попалась мне тут совершенно замечательная ссылка, которой не имею сил не поделиться - https://github.com/krizzsk/HackersCave4StaticAndroidSec.

Там куча ссылок на туториалы, утилиты и исследования по уязвимостями в Android. Звучит скучно да? Верно. Это был бы еще один всратый "awesome list" если бы не одно "но" - там много ссылок на нативные китайские блоги и статьи. И там действительно полезная инфа, которую просто так не загулишь, если не ищешь специально на китайском. Я давно хотел найти что-то подобное и вот оно пришло. Из полезного лично для себя, я нашел там разбор форматов различных файлов (AndroidManifest.xml, resources.arsc и т.п.) и материалы по статическому анализу. Всем 你好 ;)
🔥4
Forwarded from Mobile Native ️️
Building an Android System Design Architecture for Efficient Image Uploads with Clean Architecture

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

Без примера кода, но с разбивкой на слои и детальным описанием связей и работы каждого слоя.

Читать (En)
👍1
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
Ключевые слова in и out. А так же что такое ковариантность и контрвариантность (12 мин)

Погружение в вариативность Generic типов в Kotlin. Тема непростая, но может раскрыть вам новые грани гибкости вашего кода и его строго типизации
👍2💩2