Forwarded from Telegram Info (Sominemo)
Проверка SafetyNet в Android-приложении
Beta-версия Telegram для Android начала выполнять проверку SafetyNet перед отправкой SMS-кода авторизации. О такой находке сообщили разработчики неофициальной модификации Nekogram.
SafetyNet API от Google — это инструмент, с помощью которого авторы приложений могут выявлять неофициальные модификации в приложении и в системе, например, моды, Root-доступ и кастомные прошивки. Эта технология используется разработчиками для защиты от пиратства и повышения безопасности, блокируя приложение или некоторые его функции на ненадёжных, по их мнению, устройствах.
Некоторые пользователи считают, что введение технологии SafetyNet может указывать на то, что Telegram собирается запретить получать SMS-коды с неофициальных прошивок или что приложение перестанет работать на таких устройствах вовсе.
Декомпиляция приложения показывает, что Telegram использует SafetyNet для тестирования нового способа доставки SMS-кодов авторизации — через Firebase, сервис от Google. Старый способ отправки продолжит работать в остальных случаях, что даёт основания считать, что никаких санкций для пользователей неофициальных приложений и модов применяться, скорее всего, не будет.
Использование Firebase, вероятно, связано с высокой ценой отправки SMS-сообщений и звонков для авторизации. Доставка кодов составляет четверть расходов мессенджера.
#Android
Beta-версия Telegram для Android начала выполнять проверку SafetyNet перед отправкой SMS-кода авторизации. О такой находке сообщили разработчики неофициальной модификации Nekogram.
SafetyNet API от Google — это инструмент, с помощью которого авторы приложений могут выявлять неофициальные модификации в приложении и в системе, например, моды, Root-доступ и кастомные прошивки. Эта технология используется разработчиками для защиты от пиратства и повышения безопасности, блокируя приложение или некоторые его функции на ненадёжных, по их мнению, устройствах.
Некоторые пользователи считают, что введение технологии SafetyNet может указывать на то, что Telegram собирается запретить получать SMS-коды с неофициальных прошивок или что приложение перестанет работать на таких устройствах вовсе.
Декомпиляция приложения показывает, что Telegram использует SafetyNet для тестирования нового способа доставки SMS-кодов авторизации — через Firebase, сервис от Google. Старый способ отправки продолжит работать в остальных случаях, что даёт основания считать, что никаких санкций для пользователей неофициальных приложений и модов применяться, скорее всего, не будет.
Использование Firebase, вероятно, связано с высокой ценой отправки SMS-сообщений и звонков для авторизации. Доставка кодов составляет четверть расходов мессенджера.
#Android
🤔6😱3👍2
Forwarded from Mobile Development by AppTractor
На прошлой неделе писал про "закат" React Native, сейчас в AppFigures в целом исследовали популярность кроссплатформенных фреймворков.
1. Количество приложений на двух платформах - на графике. На данный момент самым популярным ненативным фреймворком является Unity.
2. Удивительно, но веб-обертки занимают два места из пяти - Cordova и Ionic поверх нее.
3. Релизы по годам - на графике.
5. Видно, что веб-приложениям все-таки пришел конец, у них самое большое падение.
6. Flutter стал мейнстримом в еще в 2021 и у него самое маленькое падение в 2022.
7. Связано ли падение React Native с Flutter? Отчасти, однако, скорее всего, большая его часть обусловлена именно общей ситуацией на рынке - упрощением нативной разработки и соответствующим отходом от кроссплатформы.
1. Количество приложений на двух платформах - на графике. На данный момент самым популярным ненативным фреймворком является Unity.
2. Удивительно, но веб-обертки занимают два места из пяти - Cordova и Ionic поверх нее.
3. Релизы по годам - на графике.
5. Видно, что веб-приложениям все-таки пришел конец, у них самое большое падение.
6. Flutter стал мейнстримом в еще в 2021 и у него самое маленькое падение в 2022.
7. Связано ли падение React Native с Flutter? Отчасти, однако, скорее всего, большая его часть обусловлена именно общей ситуацией на рынке - упрощением нативной разработки и соответствующим отходом от кроссплатформы.
👍3🔥2🤔2
Forwarded from Android Good Reads (Egor Tolstoy)
dependency-guard – плагин для контроля зависимостей
В большой команде периодически возникают проблемы с изменением версий или добавлением зависимостей. Можно случайно добавить в продакшн тестовую зависимость, или вызвать креш в рантайме из-за поднятой версии какой-то из транзитивных зависимостей. Gradle-плагин dependency-guard позволяет это контролировать.
Он генерирует файл, содержащий явный список всех транзитивных зависимостей и их версий, что дает возможность следить за изменениями на PR и составлять черные списки библиотек.
В большой команде периодически возникают проблемы с изменением версий или добавлением зависимостей. Можно случайно добавить в продакшн тестовую зависимость, или вызвать креш в рантайме из-за поднятой версии какой-то из транзитивных зависимостей. Gradle-плагин dependency-guard позволяет это контролировать.
Он генерирует файл, содержащий явный список всех транзитивных зависимостей и их версий, что дает возможность следить за изменениями на PR и составлять черные списки библиотек.
GitHub
GitHub - dropbox/dependency-guard: A Gradle plugin that guards against unintentional dependency changes.
A Gradle plugin that guards against unintentional dependency changes. - dropbox/dependency-guard
👍4
Forwarded from StartAndroid
Подробный разбор механизма "живучести" ViewModel
#android #jetpack #viewmodel
https://bowser-f.medium.com/how-viewmodel-works-under-the-hood-52a4f1ff64cf
#android #jetpack #viewmodel
https://bowser-f.medium.com/how-viewmodel-works-under-the-hood-52a4f1ff64cf
👍3😁2😱2
Forwarded from AppFiles - Mobile Development
Трендинговые репозитории GitHub за январь для языка Kotlin:
1. v2rayNG - клиент V2Ray для Android
1. v2rayNG - клиент V2Ray для Android
(+717)
2. ViMusic - стриминг музыки с YouTube Music (+709)
3. Now In Android - лучшие практики Android-разработки в новостном приложении Google (+671)
4. Tachiyomi - открытый ридер манга для Android (+539)
5. ChatGPT Android - чат с ИИ с использованием Stream Chat SDK для Compose (+442)
6. Сloudstream - стриминг и скачивание кино, сериалов и аниме (+410)
7. Seal -скачивание видео/аудио с YouTube (+385)
8. bv - приложение Android TV для Bilibili (+340)
9. Saikou - клиент Anilist с аниме и манга (+302)
10. BiliRoaming - клиент Bilibili с фишками и перками (+300)
11. Maestro - автоматизация тестирования UI (+258)
12. Matsuri - V2Ray/proxy toolchain для Android (+251)
13. Android Developer Roadmap - план развития Android-разработчика (+241)
14. Сompose JB - Compose Multiplatform от JetBrains (+232)
15. Balloon - всплывающие подсказки (+188)
16. Unciv - открытая «Цивилизация» (+186)
17. Ivy Wallet - приложение для управления деньгами с открытым исходным кодом (+163)
18. Anki Android - карточки для запоминания и повторения (+143)
19. Uhabits - открытое приложение для формирования привычек (+139)
20. Komga - медиасервер для комиксов и манга (+139)
21. Fenix - Firefox для Android (+116)
22. Sunflower - лучшие практики Android-разработки в приложении о растениях (+113)
23. Ktlint - линтер для Kotlin (+64)
24. TV bro - браузер, оптимизированный для ТВ (+55)
25. Purpur - сервер для Minecraft (+46)GitHub
GitHub - 2dust/v2rayNG: A V2Ray client for Android, support Xray core and v2fly core
A V2Ray client for Android, support Xray core and v2fly core - 2dust/v2rayNG
🔥4😁2👍1
Forwarded from Записки разработчицы (Anna Zharkova)
Аркадий Иванов опубликовал твит о выпуске первой релизной версии своего Decompose - библиотеки для общего UI под KMM:
https://github.com/arkivanov/Decompose/releases/tag/1.0.0
Основные фичи:
✅Возможность переиспользовать и тестировать компоненты (RIBs-like)
✅ Разделение UI и не-UI кода
✅Возможность подключать платформоспецифический UI
✅ Собственный DI
✅Мультиплатформенность
✅Поддержка сохранения состояния (Android/JVM/Apple)
✅Используется Compose Android/JVM/iOS/macOS/Web
И еще type-safe мультиплатформенная навигация в KMM
https://github.com/arkivanov/Decompose/releases/tag/1.0.0
Основные фичи:
✅Возможность переиспользовать и тестировать компоненты (RIBs-like)
✅ Разделение UI и не-UI кода
✅Возможность подключать платформоспецифический UI
✅ Собственный DI
✅Мультиплатформенность
✅Поддержка сохранения состояния (Android/JVM/Apple)
✅Используется Compose Android/JVM/iOS/macOS/Web
И еще type-safe мультиплатформенная навигация в KMM
GitHub
Release 1.0.0 · arkivanov/Decompose
Changes since 1.0.0-beta-04
Version updates (#311, #320):
Kotlin 1.8.0
JB Compose 1.3.0
Jetpack Compose compiler 1.4.0
Essenty 1.0.0
parcelize-darwin 0.1.3
Added defaultComponentContext exten...
Version updates (#311, #320):
Kotlin 1.8.0
JB Compose 1.3.0
Jetpack Compose compiler 1.4.0
Essenty 1.0.0
parcelize-darwin 0.1.3
Added defaultComponentContext exten...
👍1🔥1😱1
Forwarded from Mobile AppSec World (Yury Shabalin)
Атаки на клиентов с использованием WebView
Вообще статья называется "A View Into Web(View) Attacks in Android" и открывая ее, я ожидал увидеть информацию об атаках на WebView в приложениях и прочие интересные штуки, но оказалось это немного про другое.
В статье расписано, как некоторые зловреды использовали WebView, чтобы обмануть пользователя и украсть данные от банковских аккаунтов.
Все достаточно просто, пользователь загружает зловредное приложение и при его открытии внутри WebView загружается легитимный банковский сайт, но со зловредным JS-кодом, который отправляет данные пользователя на сервер злоумышленника. Подход очень простой и имеет ряд существенных преимуществ, не нужно самому имитировать интерфейс приложения, не нужны дополнительные разрешения у системы спрашивать.
Вообще, достаточно интересное чтиво, с примерами реальных зловредов и разбора их кода. Самое то почитать в пятницу 😄
#android #WebView #fishing
Вообще статья называется "A View Into Web(View) Attacks in Android" и открывая ее, я ожидал увидеть информацию об атаках на WebView в приложениях и прочие интересные штуки, но оказалось это немного про другое.
В статье расписано, как некоторые зловреды использовали WebView, чтобы обмануть пользователя и украсть данные от банковских аккаунтов.
Все достаточно просто, пользователь загружает зловредное приложение и при его открытии внутри WebView загружается легитимный банковский сайт, но со зловредным JS-кодом, который отправляет данные пользователя на сервер злоумышленника. Подход очень простой и имеет ряд существенных преимуществ, не нужно самому имитировать интерфейс приложения, не нужны дополнительные разрешения у системы спрашивать.
Вообще, достаточно интересное чтиво, с примерами реальных зловредов и разбора их кода. Самое то почитать в пятницу 😄
#android #WebView #fishing
Security Intelligence
A View Into Web(View) Attacks in Android
Unpack two effective attack techniques as it relates to financial malware in Android: the Web(View) injection attack and mobile cookie stealing.
🔥4🤔3👍2
Forwarded from Mobile Development by AppTractor
Несущиеся слоны: опыт Square в улучшении системы сборки для Android
Это не техническое глубокое погружение. Наоборот, это высокоуровневый обзор того, что мы сделали, почему мы это сделали, что мы получили в результате усилий и почему мы считаем, что наш подход можно обобщить.
• Покажите мне данные
• Путешествие начинается
• Шардинг CI: особое примечание
• Серебряные пули
• Постепенные улучшения, накопление выгоды
buildSrc мертв. Да здравствует build-logic!
Будьте ленивыми
Удалите скрипты
Устраните межпроектную конфигурацию
Тестируйте свою сборку
Используйте кэш конфигурации
• Путешествие продолжается
• Шаблоны решений: серебряные пули и постепенная выгода
Статья: https://apptractor.ru/sqgrdl
Платформа: 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 мин)
В комментариях делитесь видео по разработке, которые понравились вам и будут полезны другим
#подборкавидео
📺 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
Всем привет!
Для любителей видео-демонстраций, уроков и лекций, нашел видео-гайд по одному из способов обхода детекта Frida на Android.
Видео основано на анализе приложения R2Pay, которое как раз содержит детект на наличие root и frida-server на устройстве. При этом реализовано это все в нативе, так что полезно будет и тем, кто хотел посмотреть, как хукать нативные вызовы в .so файлах в Android.
Для тех, кто хочет почитать, есть подробный разбор аналогичного таска в текстовом представлении.
Изучаем, радуемся и проходим CTF =)
#CTF #Frida #Antifrida
YouTube
Bypassing Frida detection in Android
#frida #rootdetection #fridadetection #android #pentest #r2pay
Hello everyone, in this video we are going to learn some new techniques which are used in android app for detecting frida based on some frida artifacts in the memory and filesystem.
For learning…
Hello everyone, in this video we are going to learn some new techniques which are used in android app for detecting frida based on some frida artifacts in the memory and filesystem.
For learning…
👍3🤔2
Forwarded from AppFiles - Mobile Development
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
Внутри монолит (который прямо сейчас модуляризируют), 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.
В статье разбирается несколько типов совместимости, о которых должны думать авторы библиотек: 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 и дальше продолжит развитие этой библиотеки. 🤓
#android
Мало кто заметил (вероятно, потому что это довольно редкая штука), но Google работает над новой возможностью выполнять JS-код в Android.
Если у вас когда-то был опыт запуска JS-кода в Android-приложении, то вы должны знать о том, что для его запуска существует только одна возможность — использование инстанса WebView в фоне.
Это далеко не всегда удобно: нужно создавать дополнительные интерфейсы и функции для связи с JS, да и создавать инстанс WebView бывает накладно. Однако появляется новое решение — JavaScriptSandbox.
Вот пара преимуществ:
🎯 более низкое потребление ресурсов, так как не требуется создавать WebView;
🎯 можно запустить работу в Service, или WorkManager;
🎯 возможность выполнять несколько задач одновременно;
🎯 и передавать большие объёмы данных;
Я бы пока не рискнул тащить это в боевой проект, потому что JavanoscriptEngine ещё в начальной alpha-версии, но, надеюсь, Google и дальше продолжит развитие этой библиотеки. 🤓
👍4🔥3❤2
Forwarded from Mobile Native ️️
Provider Pattern in Jetpack Compose
Неплохая статейка про
Читать (En)
Неплохая статейка про
CompositionLocalProviderв Jetpack Compose. Рассказывается что такое
CompositionLocalProvider, как использовать и в каких случаях может быть полезен 👍
Читать (En)
👍3😱2🔥1
Forwarded from Kotlin Multiplatform (Kostya)
The JetBrains Blog
The K2 Compiler Is Going Stable in Kotlin 2.0 | The Kotlin Blog
We’ve been working on a new frontend for the Kotlin compiler (code-named “K2”) for quite a while. The new frontend is already available for preview – we’re continually polishing and stabilizing it and plan to make it the default compiler frontend in a future…
👍3🔥1
Forwarded from Android Broadcast (Кирилл Розов)
Вышла первая превью Android 14
👉 Новые ограничения для работы в фоне
👉 Оптимизация рассылки Broadcast-ов
👉 Обязательно запрашивать разрешение SCHEDULE_EXACT_ALARM для работы с AlarmManager.setExactAlarm
👉 Можно будет задавать размер текста вплоть до 200% благодаря нелинейному масштабированию
👉 Grammatical Inflection API
👉 Установка приложений с targetSdk ниже 23 будет невозможно
👉 Поддержка Passkeys
👉 Поддержка OpenJDK 17
Выход ожидается в конце лета - начале осени 2023. Позже буду здесь разбираться новые фичи в отдельных постах
#android14
👉 Новые ограничения для работы в фоне
👉 Оптимизация рассылки 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
Все мы так или иначе сталкивались с необходимостью посмотреть трафик приложения и поисследовать его. Но всегда мешают всякие нехорошие безопасники, которые заставляют делать разработчиков SSL Pinning в приложении. И наиболее частый вопрос - как открутить пиннинг в приложении.
Как правило, это использование frida или аналогов, чтобы подмениить и отключить проверку сертификата в приложении. Но сделать это удается далеко не всегда и не со всеми приложениями.
Есть альтернативный вариант данному методу - это логировать SSL-ключи, которые используются для шифрования внутри канала связи, снимать дамп трафика и потом его расшифровывать этими ключами.
Спасибо огромное @vadim_a_yegorov за универсальный скрипт для Android и iOS (12/13/14/15), который помогает снимать и сохранять ключи!
Вот тут можно найти полный Frida-код этого прекрасного скрипта.
Спасибо, это очень круто!
#sslpinning #ssl #keys #dump
Gist
sslkeylogger.js
GitHub Gist: instantly share code, notes, and snippets.
👍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 — в сегодняшней статье.
Maps Compose Library Tutorial for Android: Getting Started
В феврале 2022 года Google выпустила библиотеку Maps Compose (набор composable функций с открытым исходным кодом для упрощения интеграции с Google Maps, а также различных типов данных, связанных с Maps SDK). О том, как работать с этой библиотекой на примере приложения GeoMarker — в сегодняшней статье.
kodeco.com
Maps Compose Library Tutorial for Android: Getting Started
Learn how to use the Maps Compose library for the Maps SDK for Android to add maps to your Android app.
👍3🔥2❤1
Forwarded from AppFiles - Mobile Development
Read You - открытый RSS-ридер для Android на Jetpack Compose и с Material You.
Read You на GitHub: https://github.com/Ashinch/ReadYou
Платформа: Android
⭐️: 1.8K
Read You на GitHub: https://github.com/Ashinch/ReadYou
Платформа: Android
⭐️: 1.8K
👍2🔥1