We Love Android
626 subscribers
259 photos
26 videos
4 files
630 links
Новости из мира Android-разработки
Download Telegram
Один из возможных вариантов реализации обёртки для работы со строковыми ресурсами.

https://hannesdorfmann.com/abstraction-text-resource/
Главный технический лонгрид прошлой недели. Да что там, я не уверен, что в 2022 выйдет еще что-то настолько же офигенное. Статья, максимально детально разбирающая, как работает GPS: определение местоположения, синхронизация времени, организация радиосигналов. Весь текст сопровождается интерактивными моделями, которые помогают вникнуть в описываемые алгоритмы. Короче, забирайте себе в сохраненки, не пожалеете!
https://ciechanow.ski/gps/
👍2
Forwarded from addmeto (Grigory Bakunov 🧪)
Максимально полный обзор изменений в Android 13, со скриншотами почти каждого нового экрана. Очень полезно, если вы занимаетесь дизайном и интерфейсами, ну и для общего развития.

https://blog.esper.io/android-13-deep-dive/
Forwarded from Mobile AppSec World (Yury Shabalin)
Инструмент для форензики Android-устройств

На самом деле, эта тема для отдельного канала прям, как снимать образ с устройства, софт, аппаратные вещи, что анализировать, на что обращать внимание и т.д. Целью в общем случае является поиск следов различных вирусов, которые могли бы стать причиной различных нехороших вещей :)

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

Но сейчас речь о похожем решении, но только в Open Source, а именно Mobile Verification Toolkit, который позволяет работать с android и ios девайсами. Она достаточно свежая, зарелизилась в июле 2021 года после работы над анализом старого как мир банковского троянца Pegasus. Конечно, ей далеко до дорогущих энтерпрайз решений, но всё равно интересно (и бесплатно).

Статья сообщает нам, что относительно недавно появилась поддержка Android, функциональность которой активно развивается и дорабатывается. Авторы рассказывают, как правильно использовать их инструмент и что он умеет.

Может быть интересно тем, кто увлекается этой тематикой, да или просто интересно посмотреть, что на их устройствах происходит :)

#forensics #android #ios #mvt
Forwarded from Android Guards
Про Frida уже написано столько, что хватит на 3 “войны и мира”, но часто это какие-то прикладные статьи или туториалы начального уровня. За границами этих туториалов начинается остервенелое изучение документации, которая, ИМХО, не так хороша как могла бы быть. Тем интереснее книга, которую я после долгих раздумий все же решился прочитать и не пожалел - Beginning Frida. У меня вообще есть практика периодически изучать материалы начального уровня чтобы закрыть возможные пробелы в знаниях.

Книга в меньше степени про использование Frida в Android и в большей про то как устроен инструмент, как на нем решать различные задачи и про экосистему вокруг. Тем и ценна.

Автор сильно упростил мне задачу написав какие главы нужно читать обязательно, а какие можно пропустить. Я прочитал все и теперь полностью согласен с его рекомендациями:

Глава 1: Настройка среды. Будет полезна тем, кто никогда про Frida не слышал или давно хотел попробовать, но руки не доходили. Остальные там ничего интересного не найдут.

Глава 2: Базовые приемы работы. Смело пропускаем если уже трогали тетю Фриду ;)

Глава 3: Работа с frida-trace. Нашел для себя несколько интересных вещей касательно модулей.

Глава 4: Углубленная работа с frida-trace. Мне показалась интересной. Можно пробежаться глазами и поискать интересные практики для себя.

Глава 5: Переход от трейсинга к сталкингу. Есть полезная инфа про frida-stalker и немного про frida-gadget

Глава 6: Разработка собственных инструментов. Новичкам будет полезно, джедаям - вряд-ли.

Глава 7: Разбор компонета frida-server. Есть интересное, в т.ч. запуск по сети.

Глава 8: Введение в NativeFunction. Довольно полезная глава. Есть интересные практики.

Глава 9: Frida и Android. Новичкам обязательна к прочтению. А также всем тем, кто ловил странные проблемы с Frida. У кого и так все хорошо - не читайте.

Глава 10: Работа с библиотечными функциями и памятью. Полезная глава. Есть хорошие примеры работы с адресами функций и поиску значений в памяти.

Глава 11: Как писать обертки на Python. Тоже хорошая глава. Отлично раскрывает концепцию RPC, которую я редко вижу в скриптах, а при этом она довольно полезная.

Глава 12: Решение пары OWASP-овских crackme на Android. Новички, вам сюда. Джедаи, проходите мимо.

Глава 13: Как открыть Telegram в Objection. Будет полезна все тем же новичкам и людям не знакомым с Objection.

Глава 14: Небольшое описание Codeshare. А вы знали, что там можно зарегистрироваться? 😀

Что касается самого текста, то он читается довольно легко. Я пробежался буквально за пару вечеров. Ссылку на торренты не прикладываю. Вы же хакеры, сами найдете 😎
Forwarded from Android Live 🤖
​​JankStats Library
#library

Тут появилась любопытная библиотека от Google для анализа производительности приложений — JankStats.

Суть библиотеки заключается в получении информации о производительности рендеринга внутри приложения и получения информации о каких-то проблемах, если они есть.
Под капотом используется в том числе FrameMetrics API, которое как раз и даёт информацию о том, сколько времени нужно было для отрисовки конкретного кадра.

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

Долгий рефакторинг в рабочем проекте может привести к тому, что с pull request вы получите множество конфликтов и непройденные тесты. И всё потому, что кто-то также влил большой pull request раньше.

Чтобы избежать подобных проблем, можно воспользоваться подходом Branch by Abstraction. Он позволяет делать задачу постепенно и в то же время часто выпускать релизы приложения.

Подробнее о Branch by Abstraction читайте в статье.

#android
Sha256 – криптографический алгоритм, который помогает получить хеш от любого произвольного сообщения. На прошлой неделе вируснулся сайт, который пошагово на понятных интерактивных схемах объясняет, как этот алгоритм работает (запустится только на десктопе). Попробуйте: во-первых, это интересно, во-вторых, очень красиво!

А если вдруг захотите почитать объяснение работы алгоритма в виде статьи, то вот довольно неплохое объяснение.
Forwarded from Android Good Reads (Egor Tolstoy)
Если вы забыли, то еще в 2020 году Google и JetBrains задепрекейтили android-kotlin-extensions. Время идет, синтетики все еще не удалили, но это может случиться в любом следующем релизе. Команда Headhunter решила больше не ждать и мигрировала 5 тысяч обращений к View через синтетики на ViewBinding.
https://habr.com/ru/company/hh/blog/650763/
Forwarded from Android Good Reads (Egor Tolstoy)
Ловите серию постов про организацию архитектурной секции интервью мобильных разработчиков. Сохраните себе для подготовки к будущим собеседованиям или посмотрите, какие задачи сможете заюрать в свой процесс интервью.
1️⃣Общий фреймворк проведения
2️⃣Дополнительные штуки для разбора
3️⃣Кейс: загрузчик файлов
4️⃣Кейс: библиотека кеширования
5️⃣Кейс: загрузчик изображений
6️⃣Кейс: чат
7️⃣Типичные ошибки на интервью
Forwarded from Android Live 🤖
​​Rich Text в Jetpack Compose
#jetpack #compose

Тут подписчик подкинул классную статью, где довольно исчерпывающе описываются возможности для применения стилей текста в Jetpack Compose.

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

Автор рассказывает про множество свойств текста, использование TextStyle, добавление стилей через AnnotatedString.
Forwarded from Android Good Reads (Egor Tolstoy)
Работать напрямую с файлами последние годы приходится все реже. Обычно любое хранение данных по умолчанию находится где-то в облаке и закрыто API. Но если все-таки вам нужно будет поработать с ними напрямую, то держите статью про интересный подход к тестированию взаимодействий с файловой системой.
Большое наглядное руководство по Jetpack Compose

Нашли интересное приложение, где собрано огромное количество туториалов по Jetpack Compose, в том числе по навигации, анимации, работе с состояниями, виджетами Material и не только. Труда вложено немало — разработчик работал над приложением в течение года.

Весь контент разбит по главам с системой тегов. Множество элементов показано наглядно, и их устройство можно посмотреть в коде:

https://github.com/SmartToolFactory/Jetpack-Compose-Tutorials

#android #начинающим
Forwarded from Android Good Reads (Egor Tolstoy)
Работа со скроллом в Compose не совсем очевидна. В статье автор делится тем, как правильно определять текущую позицию и скроллить к определенному элементу списка при появлении клавиатуры.
Подборка вдохновляющих open source проектов, реализованных с использованием Jetpack Compose.

https://proglib.io/w/130a80ca
Forwarded from Android Broadcast
Как выложить свою первую библиотеку в open source

Если вы решили опубликовать свой проект в удобном формате для других разработчиков, то рекомендую почитать инструкцию из статьи, что позволит вам распространять версию через Jitpack
👍1
Forwarded from Android Broadcast
#compose

Exploring MovableContentOf in Jetpack Compose (4 мин)

Новинка Compose 1.2.0 movableContentOf, которая позволяет нам проходить по контенту без рекомпозции, что может оптимизировать производительность UI на Compose. В статье обзор