Forwarded from Android Security & Malware
How to attack (and secure) an Android app: An introduction
Presentation: https://www.droidcon.com/2023/07/31/how-to-attack-and-secure-an-android-app-an-introduction/
CTF apk: https://github.com/badolphi/droidcon-berlin
Slides: https://github.com/badolphi/droidcon-berlin/blob/main/Presentation.pdf
Presentation: https://www.droidcon.com/2023/07/31/how-to-attack-and-secure-an-android-app-an-introduction/
CTF apk: https://github.com/badolphi/droidcon-berlin
Slides: https://github.com/badolphi/droidcon-berlin/blob/main/Presentation.pdf
droidcon
How to attack (and secure) an Android app: an introduction
Android applications can be attacked in a multitude of ways. This workshop will give an introduction to some of the most popular attacks. It will explain how the attacks work in theory, demonstrate how they can be done in practice, with which tools, and discuss…
🔥4👍2
Forwarded from Android Guards
SQL инъекции в Android приложениях можно встретить не часто. Причин тому много. Разработчики поумнели, Google со своим Room-ом подтянулся. Так недолго и забыть как инъекции вообще эксплуатируются. Вот пара типичных пейлоадов для ContentProvider-ов:
💉
💉
А по ссылке можно найти чуть более экзотические варианты, которые подойдут для более сложных случаев.
#aht
💉
* from sqlite_master where type='table'-- (для projection)💉
1=1) union select name,2,3,4,5,6,7 from sqlite_master where type='table'-- (для selection/where)А по ссылке можно найти чуть более экзотические варианты, которые подойдут для более сложных случаев.
#aht
👍2🔥2👨💻2
Forwarded from Mobile Native ️️
Оптимизация анимации на Compose: крутим лоадеры, ищем неочевидные функции
Статья с разбором анимаций в Compose. Особенности анимаций, рекомпозиция, Canvas, в чём разница между группами анимаций Composable и Suspend, ну и всё это с примерами.
Читать (Ru)
Статья с разбором анимаций в Compose. Особенности анимаций, рекомпозиция, Canvas, в чём разница между группами анимаций Composable и Suspend, ну и всё это с примерами.
Читать (Ru)
🫡2🤪2😁1😱1
Forwarded from Mobile Compose
#News #Compose #Compiler
🆕🔥 Новости с полей: начиная с версии 1.5.0 Compose Compiler обеспечивает экспериментальную поддержку компилятора K2.
При этом, пока не весь функционал Compose поддерживается новой версией компилятора, часть будет добавлена позже в будущих версиях.
Надеюсь, скоро руки всё-таки дойдут до дайджеста, и там получится разобрать больше изменений последних релизов.
🆕🔥 Новости с полей: начиная с версии 1.5.0 Compose Compiler обеспечивает экспериментальную поддержку компилятора K2.
При этом, пока не весь функционал Compose поддерживается новой версией компилятора, часть будет добавлена позже в будущих версиях.
Надеюсь, скоро руки всё-таки дойдут до дайджеста, и там получится разобрать больше изменений последних релизов.
👍2🔥2
Forwarded from Мобильное Чтиво
Compose 1.5 быстрее на 80%
Ну не то чтобы обещает быть быстрее в целом, а обещает что производительность модифайеров повысилась на 80%. Так и написали Modifiers see large performance improvements, up to 80% improvement to composition time, in this release.
Это точно очень крутое заявление и очень актуальное для нас сейчас.
Мы в Drinkit делаем один большой и сложный экран на Compose, который имеет проблему медленного открытия (особенно на холодную). Помимо загрузки рантайма (про это я писал отдельно), сам экран тоже влияет на время работы.
Т.к. модифайеры — это ключевой элемент компоуз виджетов и всё ими обмазано, то повышение их производительности это очень классный момент.
Мы скоро проверим это и я поделюсь результатами, помогло ли оно нам.
#compose
Ну не то чтобы обещает быть быстрее в целом, а обещает что производительность модифайеров повысилась на 80%. Так и написали Modifiers see large performance improvements, up to 80% improvement to composition time, in this release.
Это точно очень крутое заявление и очень актуальное для нас сейчас.
Мы в Drinkit делаем один большой и сложный экран на Compose, который имеет проблему медленного открытия (особенно на холодную). Помимо загрузки рантайма (про это я писал отдельно), сам экран тоже влияет на время работы.
Т.к. модифайеры — это ключевой элемент компоуз виджетов и всё ими обмазано, то повышение их производительности это очень классный момент.
Мы скоро проверим это и я поделюсь результатами, помогло ли оно нам.
#compose
👍6🔥3🤔3
Forwarded from Mobile Compose (Jetpack Compose Bot)
#Article #Medium #Compose
A Developer’s Approach to Identifying Jetpack Compose Usage in Apps
🗣 Отвлечемся от всех этих релизов...
Тут человек обнаружил способ определять какой UI фреймворк использует приложение без изучения его кода. Для этого нужен всего-лишь старый советский ... тоггл "Show layout bounds" из раздела Developer Options устройства.
Если вкратце:
▫️Android Views, React Native, и даже Compose внутри ComposeView — отмечаются синим цветов по углам
▫️Jetpack Compose — никаких синих углов, но обводка всё еще сохраняется
▫️Flutter — вообще никаких обводок ui компонентов
Зеркало статьи 👉 тут
A Developer’s Approach to Identifying Jetpack Compose Usage in Apps
🗣 Отвлечемся от всех этих релизов...
Тут человек обнаружил способ определять какой UI фреймворк использует приложение без изучения его кода. Для этого нужен всего-лишь старый советский ... тоггл "Show layout bounds" из раздела Developer Options устройства.
Если вкратце:
▫️Android Views, React Native, и даже Compose внутри ComposeView — отмечаются синим цветов по углам
▫️Jetpack Compose — никаких синих углов, но обводка всё еще сохраняется
▫️Flutter — вообще никаких обводок ui компонентов
Зеркало статьи 👉 тут
👍2🔥2👏2🤔1
Forwarded from addmeto (Grigory Bakunov)
Начиная со следующего релиза, Firefox для Андроида будет поддерживать почти все расширения десктопного Firefox. Это большое дело, я пользуюсь и андроидом, и айфоном, и главный плюс андроида для меня — Firefox. Если еще и все любимые расширения будут в нем, непонятно как удерживаться на айфоне, честно говоря.
https://blog.mozilla.org/addons/2023/08/10/prepare-your-firefox-desktop-extension-for-the-upcoming-android-release/
https://blog.mozilla.org/addons/2023/08/10/prepare-your-firefox-desktop-extension-for-the-upcoming-android-release/
Mozilla Add-ons Community Blog
Prepare your Firefox desktop extension for the upcoming Android release
In the coming months Mozilla will launch support for an open ecosystem of extensions on Firefox for Android on addons.mozilla.org (AMO). We’ll announce a definite ...
👍4🔥2
Forwarded from Android Security & Malware
ARTful: A library for dynamically modifying the Android Runtime
https://github.com/LaurieWired/ARTful
https://github.com/LaurieWired/ARTful
GitHub
GitHub - LaurieWired/ARTful: The ARTful library for dynamically modifying the Android Runtime
The ARTful library for dynamically modifying the Android Runtime - LaurieWired/ARTful
👍2🤔2🔥1
Forwarded from Mobile Compose
#Video #Compose #Navigation
Декларативная архитектура и навигация с Decompose
Доклад c весеннего сезона Mobius 2023 от Алексея Панова, в котором он рассказывает про декларативную архитектуру и навигацию, а также на реальном примере показывает, как всё это интегрировать в проект с помощью библиотеки Decompose.
Декларативная архитектура и навигация с Decompose
Доклад c весеннего сезона Mobius 2023 от Алексея Панова, в котором он рассказывает про декларативную архитектуру и навигацию, а также на реальном примере показывает, как всё это интегрировать в проект с помощью библиотеки Decompose.
YouTube
Алексей Панов, Контур — Декларативная архитектура и навигация с Decompose
Подробнее о конференции Mobius: https://jrg.su/ojGU3B
— —
В современных мобильных приложениях декларативный подход все чаще вытесняет императивный. Вы, наверняка, слышали о плюсах использования однонаправленного потока данных или о преимуществах декларативных…
— —
В современных мобильных приложениях декларативный подход все чаще вытесняет императивный. Вы, наверняка, слышали о плюсах использования однонаправленного потока данных или о преимуществах декларативных…
👍2🔥1
Forwarded from Android Live 🤖
Хендбук с алгоритмами
#algorithms
Тут на глаза попался отличный учебник от Яндекса по основам алгоритмов.
Если вы плаваете в этой теме — рекомендую пройти с самого начала. Беглый обзор показал, что объясняется весьма понятно, даже если вы совсем ничего не понимаете или пропускали этот предмет в вузе.
За основу взят этот ресурс, ну и плюс добавлена масса практических заданий и примеров. Сохраняйте в закладки, а лучше начинайте изучать сразу, чтобы проходить специфические собеседования без запинок.🙃
#algorithms
Тут на глаза попался отличный учебник от Яндекса по основам алгоритмов.
Если вы плаваете в этой теме — рекомендую пройти с самого начала. Беглый обзор показал, что объясняется весьма понятно, даже если вы совсем ничего не понимаете или пропускали этот предмет в вузе.
За основу взят этот ресурс, ну и плюс добавлена масса практических заданий и примеров. Сохраняйте в закладки, а лучше начинайте изучать сразу, чтобы проходить специфические собеседования без запинок.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
Forwarded from Android Guards
Если попалось приложение с библиотекой Navigation от Google, то можно очень быстро найти все диплинки, которые обрабатывает приложение. Для этого ищем по ключевому слову
#aht
<deepLink и получаем красивый список со всеми параметрами и типами данных. Но этот фокус работает только если навигация реализована в XML файлах. А так бывает не всегда, и некоторые особо увлеченные разработчики делают все в коде.#aht
👍3🔥2
Forwarded from Mobile Native ️️
Unleashing Creativity with Custom Modifiers in Android Jetpack Compose
Статья про кастомные модификаторы Jetpack Compose.
Как, зачем и почему + несколько примеров, которые могут пригодиться в реальных проектах.
👉 Understanding Custom Modifiers
👉 Creating Custom Modifiers
👉 Real World Examples and Use Cases
Читать (En)
Статья про кастомные модификаторы Jetpack Compose.
Как, зачем и почему + несколько примеров, которые могут пригодиться в реальных проектах.
👉 Understanding Custom Modifiers
👉 Creating Custom Modifiers
👉 Real World Examples and Use Cases
Читать (En)
👍3🔥2
Forwarded from iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT (Egor Tolstoy)
Как работает CPU
Огненная серия статей про то, как процессор запускает и исполняет программы.
👉Общая архитектура процессоров
👉Что такое Syscall
👉Как работают прерывания
👉Как ядро Linux загружает и запускает программы
👉Формат ELF (линуксовый аналог Mach-O)
👉Доступ к памяти с учетом пагинации
👉Форки процессов
Огненная серия статей про то, как процессор запускает и исполняет программы.
👉Общая архитектура процессоров
👉Что такое Syscall
👉Как работают прерывания
👉Как ядро Linux загружает и запускает программы
👉Формат ELF (линуксовый аналог Mach-O)
👉Доступ к памяти с учетом пагинации
👉Форки процессов
❤3👍3🔥2
Forwarded from Mobile Native ️️
Best practices for error handling in Kotlin
Статья с обзором различных способов обработки ошибок в Kotlin.
👉 Exceptions in Coroutines
👉 Uses of Sealed Classes for Error Handling
👉 Functional Error Handling
👉 Uncaught Exception Handlers
👉 Handling Network Errors with Retrofit
👉 Graceful Error Handling with Coroutines
👉 Error Handling with RXJava
Читать (En)
Статья с обзором различных способов обработки ошибок в Kotlin.
👉 Exceptions in Coroutines
👉 Uses of Sealed Classes for Error Handling
👉 Functional Error Handling
👉 Uncaught Exception Handlers
👉 Handling Network Errors with Retrofit
👉 Graceful Error Handling with Coroutines
👉 Error Handling with RXJava
Читать (En)
👍3
Forwarded from Android Good Reads (Egor Tolstoy)
Простота API задает его элегантность
На примере интерфейса
На примере интерфейса
Provider, который активно используется в Dagger, автор показывает, как очень простое по своей сути архитектурное решение позволяет вынести управление жизненным циклом всех сущностей в детали имплементации.Simple APIs are elegant APIs
Simple APIs are elegant APIs :: Ryan Harter
I recently gave a presentation about how Dagger works under the hood, and I was once again struck by the elegance of the `javax.inject.Provider` interface. The interface is so simple it almost seems useless, but it's also incredibly flexible, and forms the…
👍3🔥2❤1
Forwarded from Разработка ждёт балета
Тут описывают ряд техник, которыми Android малварь защищалась от анализа. Самая красивая - использование нестандартного метода сжатия APK. Большинство тулов разобрать архив не могут, а API 28+ девайсы кушают и не жалуются.
#android #cybersec
#android #cybersec
👍3🔥1😱1
Forwarded from Android Good Reads (Egor Tolstoy)
Konsist – линтер для архитектуры
Konsist – новый линтер с доступом к PSI, который позволяет писать довольно сложные архитектурные чеки, например:
👉Наличие определенных суффиксов или префиксов у классов, реализующих интерфейс.
👉Расположение классов в определенном пакете в зависимости от аннотации.
👉Ограничение доступа классам из определенного пакета к другим пакетам.
👉У всех конструкторов параметры отсортированы по алфавиту.
Konsist – новый линтер с доступом к PSI, который позволяет писать довольно сложные архитектурные чеки, например:
👉Наличие определенных суффиксов или префиксов у классов, реализующих интерфейс.
👉Расположение классов в определенном пакете в зависимости от аннотации.
👉Ограничение доступа классам из определенного пакета к другим пакетам.
👉У всех конструкторов параметры отсортированы по алфавиту.
Medium
Introducing Konsist: A Cutting-Edge Kotlin Linter
Linters are vital tools in software development, helping to enforce code standards and best practices across the code base. By analysing…
👍4🔥2🤔1
Forwarded from Android Guards
Часто ли разработчики полностью переходят в информационную безопасность? Случается 😉 Набросал немного своих мыслей на этот счет и попытался показать альтернативный путь развития для уже состоявшихся разработчиков. Приятного чтения!
(не)Уникальный опыт
Путь программиста: альтернативный сценарий
Я уже как-то писал свои соображения на тему того, как может выглядеть путь развития программиста. С тех пор прошло больше трех лет, и несмотря на то, что статья не потеряла актуальности я решил ее …
👍3👨💻3🔥2
Forwarded from Mobile Compose
#Habr #Article #Compose
Использование Compose для ТВ-версии приложения Иви: мощный фреймворк для создания эффективных Android-приложений
Крутой кейс от разработчиков из Иви, в котором они делятся опытом интеграции Compose в их приложение на Android TV.
Использование Compose для ТВ-версии приложения Иви: мощный фреймворк для создания эффективных Android-приложений
Крутой кейс от разработчиков из Иви, в котором они делятся опытом интеграции Compose в их приложение на Android TV.
Хабр
Использование Compose для ТВ-версии приложения Иви: мощный фреймворк для создания эффективных Android-приложений
Введение В компании Иви, в одном из лучших онлайн-кинотеатров в России, наша команда разработчиков занимается созданием приложения для платформы Android. Недавно мы успешно выпустили версию для...
👍2🔥2🤔2
Forwarded from По-явански
Пару слов про зерокодинг и ни одной шутки про зерозарплатинг
Да, из готовых компонентов можно собрать сайт, приложение или круд. Оно даже будет работать. Я смотрю на это просто как на программирование на более высоком уровне.
Что здесь примечательно для нас, разработчиков? А то, что компоненты «среднего» уровня написаны такими же программистами. И если менеджер мышкой натыкивает приложение быстрее, чем профессиональный разработчик, то у нас, коллеги, наблюдается проблема сjob security качеством и доступностью компонентов. Если OAuth из конструктора интегрируется быстрее и работает лучше, чем решение с гитхаба, значит, мы залайкали не тот репозиторий, автор его недодокументировал или вообще бросил на полпути. Если нам данные приходят по одной схеме, и мы, чтобы трансформировать их в другую, удобную нам, выражаем обе через ДТОшки и пишем маппер между ними, значит, библиотека, которой мы намазываем данные на классы, не решает нашу задачу. Если прокладка для работы с БД заставляет нас… ну и так далее.
Зерокодинг никогда не станет мощнее и гибче, чем «настоящее» программирование. А наша задача — делать так, чтобы последнее не отставало по скорости и качеству. Хочу надеяться, что конкуренция со стороны зерокодинга поспособствует повышению качества нашего родного программирования.
Что здесь примечательно для нас, разработчиков? А то, что компоненты «среднего» уровня написаны такими же программистами. И если менеджер мышкой натыкивает приложение быстрее, чем профессиональный разработчик, то у нас, коллеги, наблюдается проблема с
Зерокодинг никогда не станет мощнее и гибче, чем «настоящее» программирование. А наша задача — делать так, чтобы последнее не отставало по скорости и качеству. Хочу надеяться, что конкуренция со стороны зерокодинга поспособствует повышению качества нашего родного программирования.
👍7🔥1🤔1
Forwarded from Mobile Developer (Алексей Гладков)
Рефакторинг многомодульного проекта с Konsist [EN]
https://proandroiddev.com/refactoring-multi-module-kotlin-project-with-konsist-f0de0de59a3d
Konsist наделал шуму, а тут уже подъехал и реальный пример, как его использовать в проекте
👉 Как унифицировать имена usecase
👉 Проверить, что usecase имеет только один публичный метод
👉 Как это все настраивать для многомодульности
Приятного чтения
https://proandroiddev.com/refactoring-multi-module-kotlin-project-with-konsist-f0de0de59a3d
Konsist наделал шуму, а тут уже подъехал и реальный пример, как его использовать в проекте
👉 Как унифицировать имена usecase
👉 Проверить, что usecase имеет только один публичный метод
👉 Как это все настраивать для многомодульности
Приятного чтения
Medium
Refactoring Multi-Module Kotlin Project With Konsist
Refactoring is not just about altering code; it’s about enhancing its structure, improving readability, optimizing performance, and keeping…