Forwarded from Surf Mobile Team
Fast scroller с алфавитным указателем
Делимся ещё одной полезной фичей —🏄♂️ Android-разработчик Олег рассказал, как реализовать навигацию по списку с помощью быстрого скролла с алфавитным указателем.
👩💻 Ссылка на репозиторий
Делимся ещё одной полезной фичей —
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍4👀1
Forwarded from Android Live 🤖
Хак через десериализацию
#android
Давно я не появлялся на канале: со мной всё хорошо, но дела под конец года забрали всё свободное время, а серая погода — забрала всё желание писать. Но… надо не забывать вас, поэтому возвращаюсь!
На днях попалось любопытное видео, где описывается уязвимость приложения, связанная с использованием Serializable в крупном приложении AliExpress. В видео по шагам рассказывается о том, как провернуть подобный хак, как найти подобные в своих приложениях, ну и конечно же демонстрируется сама уязвимость.
#android
Давно я не появлялся на канале: со мной всё хорошо, но дела под конец года забрали всё свободное время, а серая погода — забрала всё желание писать. Но… надо не забывать вас, поэтому возвращаюсь!
На днях попалось любопытное видео, где описывается уязвимость приложения, связанная с использованием Serializable в крупном приложении AliExpress. В видео по шагам рассказывается о том, как провернуть подобный хак, как найти подобные в своих приложениях, ну и конечно же демонстрируется сама уязвимость.
👍1🔥1🫡1
Forwarded from Android Guards
Короч я устал отдыхать, и решил начать год с публикации материала для новичков. Надеюсь, что он будет полезен всем кто только пришел в мобильный инфобез или собирается прийти. Возможно я буду дополнять и актуализировать этот материал, если пойму, что упустил какие-то важные детали или что-то эволюционировало слишком сильно. Всем продуктивного года! 👨🔬
(не)Уникальный опыт
Как вкатиться в безопасность android приложений в 2024
С завидным постоянством получаю подобные вопросы лично или вижу их в нашем уютном чате Android Guards. Поэтому решил систематизировать информацию чтобы упростить процедуру входа как для тех, кто …
🔥3👍1
Forwarded from RutheniumOS
android_encryption.pdf
8.8 MB
Такая вот работа получилась. Большая статья про шифрование в Android и атаки на него.
👍9🔥1
Forwarded from Mobile AppSec World (Yury Shabalin)
Pending Intents, что это и зачем?
Крайне полезная статья про механизм Pending Intents в Android, которая очень хорошо структурирована.
Люблю такие материалы, сначала теория, затем разъяснение, для чего этот механизм используется в легитимном плане и далее материал, как это может повлиять на безопасность и как такие вещи можно искать.
Была похожая статья от Oversecured, на которую ссылается в том числе и автор материала, так как что тем, ето хочет глубже погрузиться в эту область рекомендую изучить и ее тоже.
#android #intents
Крайне полезная статья про механизм Pending Intents в Android, которая очень хорошо структурирована.
Люблю такие материалы, сначала теория, затем разъяснение, для чего этот механизм используется в легитимном плане и далее материал, как это может повлиять на безопасность и как такие вещи можно искать.
Была похожая статья от Oversecured, на которую ссылается в том числе и автор материала, так как что тем, ето хочет глубже погрузиться в эту область рекомендую изучить и ее тоже.
#android #intents
Medium
Pending Intents: A Pentester’s view
Few days ago I came across an interesting case of vulnerability posted at the AndroidInfoSec’s facebook page. Since there are not many…
👍6🤔2❤1
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
Официальная энциклопедия от JetBrains по интеропу между Kotlin и Swift. Рассказывается как работать с разными фичами Kotlin из Swift кода
🔥3❤2
Forwarded from Mobile Native ️️
Создание и использование BOM в Gradle
В статье рассказывается про то, как можно организовать BOM (bill of materials) для управления версиями зависимостей + рассматриваются более сложные кейсы создания и использования BOM в Gradle-проектах.
👉 Зачем вообще нужен BOM?
👉 Как выглядит BOM?
👉 Когда создавать свой BOM?
👉 Что такое Rich Model и Gradle Module Metadata?
👉 Как несколько BOM сочетаются друг с другом?
👉 Управление версиями Gradle-плагинов через BOM
Читать (Ru)
В статье рассказывается про то, как можно организовать BOM (bill of materials) для управления версиями зависимостей + рассматриваются более сложные кейсы создания и использования BOM в Gradle-проектах.
👉 Зачем вообще нужен BOM?
👉 Как выглядит BOM?
👉 Когда создавать свой BOM?
👉 Что такое Rich Model и Gradle Module Metadata?
👉 Как несколько BOM сочетаются друг с другом?
👉 Управление версиями Gradle-плагинов через BOM
Читать (Ru)
👍1🔥1😱1
Forwarded from Android Live 🤖
HashMap для Jetpack Compose
#compose #performance
Интересная статья, где рассказывается про минусы стандартной HashMap в контектсте использования Jetpack Compose.
При использовании mutableMapOf() под капотом создаётся LinkedHashMap(), которая довольна хороша, но имеет недостаток: при каждом новом добавлении элемента создаётся LinkedHashMapEntry, из-за чего структура не очень memory-friendly.
Ну и сходу предлагается использовать другую структуру — ScatterMap, у которой подобных недостатков нет. В статье есть и замеры, и описывается главный недостаток этого подхода: структура хоть и map-based, но не наследуется от привычного нам Map, хотя и имеет подобные ему классы.
Стоит ли бежать заменять мапы на неё? Безусловно, нет: сам автор признаётся, что вам просто стоит иметь в виду, что такая структура существует и вы вспомните о ней, когда аллокация памяти будет очень критичным моментом.
#compose #performance
Интересная статья, где рассказывается про минусы стандартной HashMap в контектсте использования Jetpack Compose.
При использовании mutableMapOf() под капотом создаётся LinkedHashMap(), которая довольна хороша, но имеет недостаток: при каждом новом добавлении элемента создаётся LinkedHashMapEntry, из-за чего структура не очень memory-friendly.
Ну и сходу предлагается использовать другую структуру — ScatterMap, у которой подобных недостатков нет. В статье есть и замеры, и описывается главный недостаток этого подхода: структура хоть и map-based, но не наследуется от привычного нам Map, хотя и имеет подобные ему классы.
Стоит ли бежать заменять мапы на неё? Безусловно, нет: сам автор признаётся, что вам просто стоит иметь в виду, что такая структура существует и вы вспомните о ней, когда аллокация памяти будет очень критичным моментом.
👍5🔥1👀1
Forwarded from Полуночные Зарисовки
Telegraph
(Не)стандартные способы передачи больших данных в Intent
Интро Думаю не секрет, что запуская Activity или Service через Intent нам не следует передавать много данных. Если попытаемся и превысим некоторый лимит на размер данных, который обычно от 800Кб до 1000Кб, то упадем с ошибкой TransactionTooLargeException.…
🔥5👍2❤1
Forwarded from RutheniumOS
Внезапный материал про SELinux
SELinux + AOSP, или безопасности много не бывает.
https://blog.rutheniumos.ru/docs/blog/selinux_in_aosp/
SELinux + AOSP, или безопасности много не бывает.
https://blog.rutheniumos.ru/docs/blog/selinux_in_aosp/
👍4🔥2👏1
Forwarded from Дмитрий Мовчан - про IT
Мой доклад про мобильные собеседования на Mobius в открытом доступе
https://youtu.be/F0TVWXw1z2A?si=M48-HajfCfGHBBwr
https://youtu.be/F0TVWXw1z2A?si=M48-HajfCfGHBBwr
YouTube
Дмитрий Мовчан — Cracking the Mobile Interview
Подробнее о конференции Mobius: https://jrg.su/ojGU3B
— —
При устройстве на работу необходимо пройти собеседование, но что нас там ждет – всегда загадка. Дмитрий делится опытом собеседований по обе стороны баррикад, дает советы на тему того, как лучше подготовиться…
— —
При устройстве на работу необходимо пройти собеседование, но что нас там ждет – всегда загадка. Дмитрий делится опытом собеседований по обе стороны баррикад, дает советы на тему того, как лучше подготовиться…
🔥5👍2🤓1
Forwarded from Mobile Developer (Алексей Гладков)
Compose Cupertino
https://github.com/alexzhirkevich/compose-cupertino
Из закрытого чата подкинули крутую библиотеку для компоуза
👉 Анимации и эффекты как в нативном iOS
👉 Поддержка Decompose
👉 Обертки над компонентами для использования их из iOS
👉 Набор иконок от Apple
Это мы подключаем
https://github.com/alexzhirkevich/compose-cupertino
Из закрытого чата подкинули крутую библиотеку для компоуза
👉 Анимации и эффекты как в нативном iOS
👉 Поддержка Decompose
👉 Обертки над компонентами для использования их из iOS
👉 Набор иконок от Apple
Это мы подключаем
GitHub
GitHub - alexzhirkevich/compose-cupertino: Compose Multiplatform UI components for iOS (Cupertino Widgets)
Compose Multiplatform UI components for iOS (Cupertino Widgets) - alexzhirkevich/compose-cupertino
🤡6😱3👍1
Forwarded from Android Guards
Бесконечно можно смотреть на три вещи: как горит огонь, как течет вода, и как выходит очередная статья про ssl pinning. Но на этот раз я попробовал посмотреть на этот вопрос с точки зрения необходимости применения этой технологии в мобильных приложениях. Для этого я смоделировал сценарий, когда на устройство пользователя попадает сертификат злоумышленника, и как себя в этом случае начинают вести разные компоненты мобильного приложения в зависимости от настроек безопасности.
(не)Уникальный опыт
Святая корова SSL Pinning-а
Еще раз про MITM в Android
🔥4👍2😱1
Forwarded from Mobile Compose (Dmitriy Grigoriev)
#News #Release #Compose
Fragment Compose Artifact
В результате последнего обновления Jetpack библиотек, среди прочего, появился новый артефакт fragment-compose. Основной его задачей является поддержание проектов, которые находятся в процессе миграции с "Compose на фрагментах" на "full Compose" архитектуру.
На данный момент единственной его фичей является extension метод content, который избавляет от необходимости создавать ComposeView и выставлять нужный ViewCompositionStrategy.
Fragment Compose Artifact
В результате последнего обновления Jetpack библиотек, среди прочего, появился новый артефакт fragment-compose. Основной его задачей является поддержание проектов, которые находятся в процессе миграции с "Compose на фрагментах" на "full Compose" архитектуру.
На данный момент единственной его фичей является extension метод content, который избавляет от необходимости создавать ComposeView и выставлять нужный ViewCompositionStrategy.
👍7🔥1🫡1
Forwarded from По-явански
:slowpoke: шикарный доклад про нутрянку корутин и способы их применения помимо асинхронности.
🟢 Разбор примитивов корутин из Kotlin stdlib
🟢 Как устроены билдеры вида
🟢 Глубокая рекурсия без отрыва стека
🟢 Парсеры
Friendly reminder разработчикам Kotlin:
⚫️ сиквенс — это бесполезная обёртка над итератором (в Rust её нет — компилятору легче оптимизировать и разворачивать длинные конструкции вида iter.map.filter.etc)
⚫️
⚫️ в очередной раз не хватает «:: наоборот» —
Friendly reminder автору:
🟡 скоуп билдера должен быть
🟡 пожалуйста, не надо
Friendly reminder для организаторов:
💡 существуют нейросеточные плагины для убирания чвякания из речи
🟢 Разбор примитивов корутин из Kotlin stdlib
🟢 Как устроены билдеры вида
sequence { yield() }🟢 Глубокая рекурсия без отрыва стека
🟢 Парсеры
Friendly reminder разработчикам Kotlin:
⚫️ сиквенс — это бесполезная обёртка над итератором (в Rust её нет — компилятору легче оптимизировать и разворачивать длинные конструкции вида iter.map.filter.etc)
⚫️
DeepRecursiveScope.callRecursive стоило бы назвать invokeRecursive, консистентно с invoke и invokeSuspend, зашитыми в язык⚫️ в очередной раз не хватает «:: наоборот» —
fun smth() by DeepRecursiveFunction {}Friendly reminder автору:
🟡 скоуп билдера должен быть
@RestrictsSuspension🟡 пожалуйста, не надо
data-классовFriendly reminder для организаторов:
💡 существуют нейросеточные плагины для убирания чвякания из речи
YouTube
Coroutines Beyond Concurrency by Alex Semin
Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs
Kotlin coroutines are most known as an elegant and modern solution for managing asynchronous work. But due to their versatile design, coroutines can also be helpful for…
Kotlin coroutines are most known as an elegant and modern solution for managing asynchronous work. But due to their versatile design, coroutines can also be helpful for…
👍4🔥1