Forwarded from Surf Mobile Team
Windows Subsystem for Android (WSA)
В 2021 году компания Microsoft выпустила новую операционную систему Windows 11. Одна из главных фич — запуск Android-приложений внутри системы безо всяких эмуляторов. Рассказываем на карточках, как это работает.
Полезные ссылки:
🔹 Официальная документация Microsoft
🔹 Способы установки WSA
🔹 Установка GApps
🔹 Подключение по ADB и установка сторонних APK вне сторов
В 2021 году компания Microsoft выпустила новую операционную систему Windows 11. Одна из главных фич — запуск Android-приложений внутри системы безо всяких эмуляторов. Рассказываем на карточках, как это работает.
Полезные ссылки:
🔹 Официальная документация Microsoft
🔹 Способы установки WSA
🔹 Установка GApps
🔹 Подключение по ADB и установка сторонних APK вне сторов
👍6🤔3💩1
Forwarded from AppFiles - Mobile Development
1Coin - финансовый менеджер, написанный на Kotlin Multiplatform (Android и MacOS, в разработке iOS). Из интересного внутри - UI на Compose Multiplatform, навигация Odyssey, KViewModel для общей ViewModel, Ktor для сетевых запросов, Koin для DI, LeakCanary для анализа утечек памяти и Detekt для статического анализа кода.
1Coin на GitHub: https://github.com/1Coin-FinanceTracker/1CoinClient
Платформа: кроссплатформа
⭐️: 3
1Coin на GitHub: https://github.com/1Coin-FinanceTracker/1CoinClient
Платформа: кроссплатформа
⭐️: 3
👍7🔥2👏2
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Creative Coding With Kotlin and Compose
#composecamp #Compose camp
To start learning go to https://rsvp.withgoogle.com/events/android_learning_ca
“Creative coding is a type of computer programming that aims to create something expressive instead of something functional.” – Wikipedia
Language:…
To start learning go to https://rsvp.withgoogle.com/events/android_learning_ca
“Creative coding is a type of computer programming that aims to create something expressive instead of something functional.” – Wikipedia
Language:…
👍3🔥2
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