Forwarded from Mobile AppSec World (Yury Shabalin)
Инструмент для форензики Android-устройств
На самом деле, эта тема для отдельного канала прям, как снимать образ с устройства, софт, аппаратные вещи, что анализировать, на что обращать внимание и т.д. Целью в общем случае является поиск следов различных вирусов, которые могли бы стать причиной различных нехороших вещей :)
Когда я работал в одном из банков, у нас была специальная коробочка, подключив к которой устройство, можно было снять полноценный образ всего, что на нем было и потом специальным софтом его проанализировать и попробовать разобраться, что же не так. На этот счет была пара забавных историй, как нибудь я их обязательно расскажу 🤓
Но сейчас речь о похожем решении, но только в Open Source, а именно Mobile Verification Toolkit, который позволяет работать с android и ios девайсами. Она достаточно свежая, зарелизилась в июле 2021 года после работы над анализом старого как мир банковского троянца Pegasus. Конечно, ей далеко до дорогущих энтерпрайз решений, но всё равно интересно (и бесплатно).
Статья сообщает нам, что относительно недавно появилась поддержка Android, функциональность которой активно развивается и дорабатывается. Авторы рассказывают, как правильно использовать их инструмент и что он умеет.
Может быть интересно тем, кто увлекается этой тематикой, да или просто интересно посмотреть, что на их устройствах происходит :)
#forensics #android #ios #mvt
На самом деле, эта тема для отдельного канала прям, как снимать образ с устройства, софт, аппаратные вещи, что анализировать, на что обращать внимание и т.д. Целью в общем случае является поиск следов различных вирусов, которые могли бы стать причиной различных нехороших вещей :)
Когда я работал в одном из банков, у нас была специальная коробочка, подключив к которой устройство, можно было снять полноценный образ всего, что на нем было и потом специальным софтом его проанализировать и попробовать разобраться, что же не так. На этот счет была пара забавных историй, как нибудь я их обязательно расскажу 🤓
Но сейчас речь о похожем решении, но только в Open Source, а именно Mobile Verification Toolkit, который позволяет работать с android и ios девайсами. Она достаточно свежая, зарелизилась в июле 2021 года после работы над анализом старого как мир банковского троянца Pegasus. Конечно, ей далеко до дорогущих энтерпрайз решений, но всё равно интересно (и бесплатно).
Статья сообщает нам, что относительно недавно появилась поддержка Android, функциональность которой активно развивается и дорабатывается. Авторы рассказывают, как правильно использовать их инструмент и что он умеет.
Может быть интересно тем, кто увлекается этой тематикой, да или просто интересно посмотреть, что на их устройствах происходит :)
#forensics #android #ios #mvt
GitHub
GitHub - mvt-project/mvt: MVT (Mobile Verification Toolkit) helps with conducting forensics of mobile devices in order to find…
MVT (Mobile Verification Toolkit) helps with conducting forensics of mobile devices in order to find signs of a potential compromise. - mvt-project/mvt
Forwarded from Android Guards
Про Frida уже написано столько, что хватит на 3 “войны и мира”, но часто это какие-то прикладные статьи или туториалы начального уровня. За границами этих туториалов начинается остервенелое изучение документации, которая, ИМХО, не так хороша как могла бы быть. Тем интереснее книга, которую я после долгих раздумий все же решился прочитать и не пожалел - Beginning Frida. У меня вообще есть практика периодически изучать материалы начального уровня чтобы закрыть возможные пробелы в знаниях.
Книга в меньше степени про использование Frida в Android и в большей про то как устроен инструмент, как на нем решать различные задачи и про экосистему вокруг. Тем и ценна.
Автор сильно упростил мне задачу написав какие главы нужно читать обязательно, а какие можно пропустить. Я прочитал все и теперь полностью согласен с его рекомендациями:
Глава 1: Настройка среды. Будет полезна тем, кто никогда про Frida не слышал или давно хотел попробовать, но руки не доходили. Остальные там ничего интересного не найдут.
Глава 2: Базовые приемы работы. Смело пропускаем если уже трогали тетю Фриду ;)
Глава 3: Работа с frida-trace. Нашел для себя несколько интересных вещей касательно модулей.
Глава 4: Углубленная работа с frida-trace. Мне показалась интересной. Можно пробежаться глазами и поискать интересные практики для себя.
Глава 5: Переход от трейсинга к сталкингу. Есть полезная инфа про
Глава 6: Разработка собственных инструментов. Новичкам будет полезно, джедаям - вряд-ли.
Глава 7: Разбор компонета frida-server. Есть интересное, в т.ч. запуск по сети.
Глава 8: Введение в NativeFunction. Довольно полезная глава. Есть интересные практики.
Глава 9: Frida и Android. Новичкам обязательна к прочтению. А также всем тем, кто ловил странные проблемы с Frida. У кого и так все хорошо - не читайте.
Глава 10: Работа с библиотечными функциями и памятью. Полезная глава. Есть хорошие примеры работы с адресами функций и поиску значений в памяти.
Глава 11: Как писать обертки на Python. Тоже хорошая глава. Отлично раскрывает концепцию RPC, которую я редко вижу в скриптах, а при этом она довольно полезная.
Глава 12: Решение пары OWASP-овских crackme на Android. Новички, вам сюда. Джедаи, проходите мимо.
Глава 13: Как открыть Telegram в Objection. Будет полезна все тем же новичкам и людям не знакомым с Objection.
Глава 14: Небольшое описание Codeshare. А вы знали, что там можно зарегистрироваться? 😀
Что касается самого текста, то он читается довольно легко. Я пробежался буквально за пару вечеров. Ссылку на торренты не прикладываю. Вы же хакеры, сами найдете 😎
Книга в меньше степени про использование 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, которое как раз и даёт информацию о том, сколько времени нужно было для отрисовки конкретного кадра.
Выглядит довольно интересно, но пока тащить в свой проект рановато, так как эта только первая альфа. Подробнее о том, что делает либа можно почитать тут, а чуть больше документации тут.
#library
Тут появилась любопытная библиотека от Google для анализа производительности приложений — JankStats.
Суть библиотеки заключается в получении информации о производительности рендеринга внутри приложения и получения информации о каких-то проблемах, если они есть.
Под капотом используется в том числе FrameMetrics API, которое как раз и даёт информацию о том, сколько времени нужно было для отрисовки конкретного кадра.
Выглядит довольно интересно, но пока тащить в свой проект рановато, так как эта только первая альфа. Подробнее о том, что делает либа можно почитать тут, а чуть больше документации тут.
Forwarded from Мобильная разработка
Подход Branch by Abstraction на примере Android-разработки
Долгий рефакторинг в рабочем проекте может привести к тому, что с pull request вы получите множество конфликтов и непройденные тесты. И всё потому, что кто-то также влил большой pull request раньше.
Чтобы избежать подобных проблем, можно воспользоваться подходом Branch by Abstraction. Он позволяет делать задачу постепенно и в то же время часто выпускать релизы приложения.
Подробнее о Branch by Abstraction читайте в статье.
#android
Долгий рефакторинг в рабочем проекте может привести к тому, что с pull request вы получите множество конфликтов и непройденные тесты. И всё потому, что кто-то также влил большой pull request раньше.
Чтобы избежать подобных проблем, можно воспользоваться подходом Branch by Abstraction. Он позволяет делать задачу постепенно и в то же время часто выпускать релизы приложения.
Подробнее о Branch by Abstraction читайте в статье.
#android
Forwarded from iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT (Egor Tolstoy)
Sha256 – криптографический алгоритм, который помогает получить хеш от любого произвольного сообщения. На прошлой неделе вируснулся сайт, который пошагово на понятных интерактивных схемах объясняет, как этот алгоритм работает (запустится только на десктопе). Попробуйте: во-первых, это интересно, во-вторых, очень красиво!
А если вдруг захотите почитать объяснение работы алгоритма в виде статьи, то вот довольно неплохое объяснение.
А если вдруг захотите почитать объяснение работы алгоритма в виде статьи, то вот довольно неплохое объяснение.
Sha256Algorithm
Sha256 Algorithm Explained
Sha256 algorithm explained online step by step visually
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/
https://habr.com/ru/company/hh/blog/650763/
Хабр
Как мы перешли с kotlinx.synthetics на Android View Binding
Привет! Меня зовут Ваня, я Android-разработчик из продуктовой команды hh.ru , и в этой статье я расскажу о нашем опыте миграции на ViewBinding . В конце 2020 года в официальном блоге Android...
Forwarded from Android Good Reads (Egor Tolstoy)
Ловите серию постов про организацию архитектурной секции интервью мобильных разработчиков. Сохраните себе для подготовки к будущим собеседованиям или посмотрите, какие задачи сможете заюрать в свой процесс интервью.
1️⃣Общий фреймворк проведения
2️⃣Дополнительные штуки для разбора
3️⃣Кейс: загрузчик файлов
4️⃣Кейс: библиотека кеширования
5️⃣Кейс: загрузчик изображений
6️⃣Кейс: чат
7️⃣Типичные ошибки на интервью
1️⃣Общий фреймворк проведения
2️⃣Дополнительные штуки для разбора
3️⃣Кейс: загрузчик файлов
4️⃣Кейс: библиотека кеширования
5️⃣Кейс: загрузчик изображений
6️⃣Кейс: чат
7️⃣Типичные ошибки на интервью
Medium
A Simple Framework For Mobile System Design Interviews
The list of posts in this series:
Forwarded from Android Live 🤖
Rich Text в Jetpack Compose
#jetpack #compose
Тут подписчик подкинул классную статью, где довольно исчерпывающе описываются возможности для применения стилей текста в Jetpack Compose.
Вообще, форматирование текста очень важная штука, ведь сейчас всё больше пользователей не читает контент, а сканирует его, пытаясь найти то, что им будет полезно.
Автор рассказывает про множество свойств текста, использование
#jetpack #compose
Тут подписчик подкинул классную статью, где довольно исчерпывающе описываются возможности для применения стилей текста в Jetpack Compose.
Вообще, форматирование текста очень важная штука, ведь сейчас всё больше пользователей не читает контент, а сканирует его, пытаясь найти то, что им будет полезно.
Автор рассказывает про множество свойств текста, использование
TextStyle, добавление стилей через AnnotatedString.Forwarded from Android Good Reads (Egor Tolstoy)
Работать напрямую с файлами последние годы приходится все реже. Обычно любое хранение данных по умолчанию находится где-то в облаке и закрыто API. Но если все-таки вам нужно будет поработать с ними напрямую, то держите статью про интересный подход к тестированию взаимодействий с файловой системой.
arturdryomov.dev
Testing Files without Files
Overview of fake VFS on JVM
Forwarded from Мобильная разработка
Большое наглядное руководство по Jetpack Compose
Нашли интересное приложение, где собрано огромное количество туториалов по Jetpack Compose, в том числе по навигации, анимации, работе с состояниями, виджетами Material и не только. Труда вложено немало — разработчик работал над приложением в течение года.
Весь контент разбит по главам с системой тегов. Множество элементов показано наглядно, и их устройство можно посмотреть в коде:
https://github.com/SmartToolFactory/Jetpack-Compose-Tutorials
#android #начинающим
Нашли интересное приложение, где собрано огромное количество туториалов по Jetpack Compose, в том числе по навигации, анимации, работе с состояниями, виджетами Material и не только. Труда вложено немало — разработчик работал над приложением в течение года.
Весь контент разбит по главам с системой тегов. Множество элементов показано наглядно, и их устройство можно посмотреть в коде:
https://github.com/SmartToolFactory/Jetpack-Compose-Tutorials
#android #начинающим
Forwarded from Android Good Reads (Egor Tolstoy)
Работа со скроллом в Compose не совсем очевидна. В статье автор делится тем, как правильно определять текущую позицию и скроллить к определенному элементу списка при появлении клавиатуры.
Хабр
Погружаемся в работу со скроллом в Jetpack Compose
В этой статье я хочу поделиться опытом работы со скроллом в приложении, написанном на Jetpack Compose. Какое-то время назад я решил, что надо попробовать Compose в деле и начал делать pet project...
Подборка вдохновляющих open source проектов, реализованных с использованием Jetpack Compose.
https://proglib.io/w/130a80ca
https://proglib.io/w/130a80ca
Medium
10 Jetpack Compose Projects To Inspire You
Build an awesome app today
Forwarded from Android Broadcast
Как выложить свою первую библиотеку в open source
Если вы решили опубликовать свой проект в удобном формате для других разработчиков, то рекомендую почитать инструкцию из статьи, что позволит вам распространять версию через Jitpack
Если вы решили опубликовать свой проект в удобном формате для других разработчиков, то рекомендую почитать инструкцию из статьи, что позволит вам распространять версию через Jitpack
👍1
Forwarded from Android Broadcast
#compose
Exploring MovableContentOf in Jetpack Compose (4 мин)
Новинка Compose 1.2.0 movableContentOf, которая позволяет нам проходить по контенту без рекомпозции, что может оптимизировать производительность UI на Compose. В статье обзор
Exploring MovableContentOf in Jetpack Compose (4 мин)
Новинка Compose 1.2.0 movableContentOf, которая позволяет нам проходить по контенту без рекомпозции, что может оптимизировать производительность UI на Compose. В статье обзор
Forwarded from Mobile Native ️️
Rx to Coroutines Concepts
Цикл статей про сравнение и переезд Rx to Coroutines.
👉 Part 1 Async vs. Reactive
👉 Part 2 Structured Concurrency
👉 Part 2.1 Exceptions
👉 Part 3 Deferred & Channels
👉 Part 4 Cold Flows
👉 Part 5 Shared Flows
Цикл статей про сравнение и переезд Rx to Coroutines.
👉 Part 1 Async vs. Reactive
👉 Part 2 Structured Concurrency
👉 Part 2.1 Exceptions
👉 Part 3 Deferred & Channels
👉 Part 4 Cold Flows
👉 Part 5 Shared Flows
Forwarded from Mobile AppSec World (Yury Shabalin)
Google начнет скрывать приложения, собранные с устаревшей версией TargetSDK
Компания Google предупредила разработчиков, что будут усилены требования к уровню Target API (Android API), для которого собираются приложения.
На практике это означает, что с 1 ноября 2022 года приложения в магазине Google Play не будут доступны для поиска и установки, если при их создании использовался устаревший TargetSDK (срок давности которого превышает два года). По мере выхода новых релизов Android, окно версий, в рамках которого можно указывать целевой уровень, будет меняться соответствующим образом.
Говорят, это только одно из нововведений в политике, так что ожидаем и других новостей. Но, как мне кажется, следующим логичным шагом будет аналогичное “окно“ для установки минимальной версии SDK, которое позволит отсечь совсем уж старые устройства.
#google #android #targetsdk #privacy
Компания Google предупредила разработчиков, что будут усилены требования к уровню Target API (Android API), для которого собираются приложения.
На практике это означает, что с 1 ноября 2022 года приложения в магазине Google Play не будут доступны для поиска и установки, если при их создании использовался устаревший TargetSDK (срок давности которого превышает два года). По мере выхода новых релизов Android, окно версий, в рамках которого можно указывать целевой уровень, будет меняться соответствующим образом.
Говорят, это только одно из нововведений в политике, так что ожидаем и других новостей. Но, как мне кажется, следующим логичным шагом будет аналогичное “окно“ для установки минимальной версии SDK, которое позволит отсечь совсем уж старые устройства.
#google #android #targetsdk #privacy
stingray-mobile.ru
Google планирует скрывать приложения, собранные с устаревшей версией TargetSDK - Стингрей
Компания Google предупредила разработчиков, что будут усилены требования к уровню Target API (Android API), для которого собираются приложения. На
Forwarded from Android Good Reads (Egor Tolstoy)
Семафоры – многопоточные примитивы, которые позволяют определять число потоков, которое может получить доступ к определенному блоку кода. В статье рассказывается, как использование семафора может помочь при работе с корутинами.
Shreyas Patil's Blog
Leveraging the Semaphore concept in Coroutines to limit the parallelism 🔀
In this blog, we'll learn to use the concept of Semaphore with Kotlin coroutines to limit parallelism
Forwarded from iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT (Egor Tolstoy)
Топовый обзор того, как weak references реализованы в разных языках: Objective-C, Swift, Rust и C++, и чем отличаются алгоритмы у них под капотом.
👍1
Forwarded from iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT (Egor Tolstoy)
Представьте себе прямую, описываемую функцией
Джейк Уортон написал статью, в которой прикладывает эту модель к нескольким Android библиотекам и рассуждает, как ее использовать при создании новой библиотеки.
y=mx+b. Параметр b показывает, насколько далеко от 0 находится место пересечения оси Y, а m – угол наклона. Это – удобная ментальная модель, чтобы оценивать сложность использования различных библиотек, где b – сложность первого старта, m – сложность, возникающая при усложнении кейсов использования.Джейк Уортон написал статью, в которой прикладывает эту модель к нескольким Android библиотекам и рассуждает, как ее использовать при создании новой библиотеки.
Jake Wharton
Slope-intercept library design – Jake Wharton