Достаточно живой доклад с
https://www.droidcon.com/media-detail?video=352688794
Droidcon Berlin 2019, где автор рассказывает про некоторые вещи в Kotlin, которые разработчики зачастую делают, а их следовало бы избегать.https://www.droidcon.com/media-detail?video=352688794
Droidcon
Kotlin Not-to-Do List - What we should avoid doing in Kotlin
Kotlin gives us a lot of possibilities, but with every power comes responsibility. What should we avoid doing in Kotlin? What are Kotlin internal contracts in terms of different features and functions? What is dangerous and should be avoided? How to code…
Насыщенная подробностями история о том, как чувак реверсил игру
Обшая последовательность шагов была примерно следующая:
- установил на эмулятор с рутом данную игру;
- собрал дамп сетевого трафика, загрузив
- проанализировал собранный дамп, убедился, что трафик под SSL;
- чтобы залезть под SSL использовал
- собрал дамп сетевого трафика еще раз, уже используя burp, по итогу теперь может смотреть под SSL;
- проанализировав HTTP-запросы, убедился для проверки подлинности используется специальная подпись
- разреверсил апкшку с помощью
- вытащил из апкшки данную сошку и, открыв её с помощью
- затем перешел к динамическому анализу, собрал тестовый пример с использованием данной сошки и функции подписи, подключился с помощью
- после адской отладки, окончательно выяснил как работает функция подписи, смог реализовать собственный аналог и пример, на котором показал успешный итоговый результат.
https://0x00sec.org/t/reversing-hackex-an-android-game/16243
HackEx. Обшая последовательность шагов была примерно следующая:
- установил на эмулятор с рутом данную игру;
- собрал дамп сетевого трафика, загрузив
tcpdump на устройство;- проанализировал собранный дамп, убедился, что трафик под SSL;
- чтобы залезть под SSL использовал
burp в качестве прокси и установку сертификата в список доверенных;- собрал дамп сетевого трафика еще раз, уже используя burp, по итогу теперь может смотреть под SSL;
- проанализировав HTTP-запросы, убедился для проверки подлинности используется специальная подпись
sig;- разреверсил апкшку с помощью
jadx и нашел необходимую функцию подписи в коде, но не все так просто - сама функция была определена сошке;- вытащил из апкшки данную сошку и, открыв её с помощью
radare2, смог достаточно поверхностно понять алгоритм работы функции подписи;- затем перешел к динамическому анализу, собрал тестовый пример с использованием данной сошки и функции подписи, подключился с помощью
GDB и занялся отладкой (это прям очень сурово);- после адской отладки, окончательно выяснил как работает функция подписи, смог реализовать собственный аналог и пример, на котором показал успешный итоговый результат.
https://0x00sec.org/t/reversing-hackex-an-android-game/16243
0x00sec - The Home of the Hacker
Reversing HackEx - An android game
Hello peeps. I’m sp0re. This is my first post on 0x00sec, you can find more about me on my website. Today we are going to reverse engineer the network protocol of an android game so that we can automate the game, and earn unlimited money while drinking sodas…
Автор статьи делает базовое введение в функциональное программирование и рассказывает как писать код на
https://www.raywenderlich.com/9527-functional-programming-with-kotlin-and-arrow-getting-started
Kotlin в функциональном стиле. В конце статьи рассказывает об использовании библиотеки Arrow.https://www.raywenderlich.com/9527-functional-programming-with-kotlin-and-arrow-getting-started
kodeco.com
Functional Programming with Kotlin and Arrow: Getting Started
In this tutorial, you will learn the fundamentals of functional programming and how various Kotlin language features enable functional programming concepts.
Автор рассказывает о написании собственного
https://habr.com/ru/post/469237/
gradle плагина для реализации трансформации кода: добавления функциональности сохранения в Bundle.https://habr.com/ru/post/469237/
Хабр
Трансформация кода в Android
Вторая часть Вместо вступления Всё началось с того, что мне захотелось изучить тонкости настройки Gradle, понять его возможности в Android разработке (да и вообще). Начал с жизненного цикла и...
Доклад с
Также стоит отметить большое количество ссылок на другие источники - это может быть полезным, если необходимо углубиться в данную тему значительно глубже.
https://www.droidcon.com/media-detail?video=352688386
Droidcon Berlin 2019, посвященный анализу данных, которые Google собирает c Android устройств. Позволяет понять чуть больше о том, на основе каких данных строится уникальный отпечаток устройства. Также стоит отметить большое количество ссылок на другие источники - это может быть полезным, если необходимо углубиться в данную тему значительно глубже.
https://www.droidcon.com/media-detail?video=352688386
droidcon
Google Data Collection on Android
Autor droidcon View all posts
И еще один доклад с
-
-
-
-
https://www.droidcon.com/media-detail?video=352671901
Droidcon Berlin 2019. Автор рассказывает о малоизвестных вещах, найденных им в исходниках AndroidX:-
LocalBroadcastManager;-
VersionedParcelable;-
EmojiCompat;-
ImmLeakCleaner.https://www.droidcon.com/media-detail?video=352671901
droidcon
What ~new~ strange things one can find in AndroidX package
AndroidX package is well-know for its smashing hits such as Navigation components, the Room persistence library or LiveData. In my presentation we will not talk about any of them but rather focus on less known packages such as: SavedState, Activity, VersionedParcelable…
Автор рассказывает про механизм анализа
Сам процесс происходит в полуавтоматическом режиме: анализируемые файл прогоняется с помощью
Набор инструментов для анализа достаточно стандартный: для статики -
https://www.droidcon.com/media-detail?video=352670021
apk файлов, используемый в Google Play Protect. Сам процесс происходит в полуавтоматическом режиме: анализируемые файл прогоняется с помощью
ML алгоритмов и если результат подозрительный, то затем происходит ручная проверка - по сути реверс апкшки и её статический и динамический анализ. Набор инструментов для анализа достаточно стандартный: для статики -
apktool, jadx, jeb, IDA, для динамики - Frida, gdb.https://www.droidcon.com/media-detail?video=352670021
droidcon
A day in the life of a mobile reverse engineer
This talk will show you how we handle mobile applications in Android Security from a malware analyst point of view.
Еще один интересный троян-кликер найден в
Дополнительно запакован с помощью пакера
Сам троян был ориентирован на определенный набор стран, взаимодействуя с управляющим сервером, получая команды в виде JavaScript кода и выполняя их в невидимом
https://news.drweb.com/show/?i=13464&lng=en
Google Play. Его основная функция заключалась в незаметной попытке осуществления подписки на платные сервисы. Дополнительно запакован с помощью пакера
Jiagu и пытается мимикрировать под Facebook SDK или Adjust SDK.Сам троян был ориентирован на определенный набор стран, взаимодействуя с управляющим сервером, получая команды в виде JavaScript кода и выполняя их в невидимом
WebView.https://news.drweb.com/show/?i=13464&lng=en
Dr.Web
Clicker for Android subscribes users to paid services
Doctor Web has detected a clicker trojan that can automatically subscribe users to paid services in the official Android app store.
Стартовал
- уже доступна
- для
- визуальный редактор
- наконец-таки обещают полную поддержку
-
https://www.youtube.com/watch?v=5jJ-e278BFY
Android Dev Summit 2019. Из Keynote доклада хотелось бы отметить следующие вещи:- уже доступна
Android Studio 4.0 Canary 1, в которой можно пощупать Jetpack Compose;- для
Jetpack Compose добавлен предпросмотр, правда сделано это специальной аннотацией и надо компилить код;- визуальный редактор
MotionLayout доступен из новой студии;- наконец-таки обещают полную поддержку
Gradle Kotlin Scripts в новой студии;-
CameraX уже в бете.https://www.youtube.com/watch?v=5jJ-e278BFY
YouTube
Keynote (Android Dev Summit '19)
Event keynote featuring Dave Burke, VP of Engineering and Steph Cuthbertson, Senior Director of Product Management.
Presented by: Dave Burke, Stephanie Cuthbertson, Tian Lim, Romain Guy, Karen Ng
Android Dev Summit '19 all sessions playlist → https://g…
Presented by: Dave Burke, Stephanie Cuthbertson, Tian Lim, Romain Guy, Karen Ng
Android Dev Summit '19 all sessions playlist → https://g…
Новый подход для решения проблем с зависимостями в проектах под названием
https://blog.gradle.org/avoiding-dependency-hell-gradle-6
Module Metadata появится в Gradle 6.https://blog.gradle.org/avoiding-dependency-hell-gradle-6
blog.gradle.org
Avoiding dependency hell with Gradle 6
Dependency hell is a big problem for many teams. The larger the project and its dependency graph, the harder it is to maintain it.
The solutions provided by existing dependency management tools are insuffici...
The solutions provided by existing dependency management tools are insuffici...
Библиотека, позволяющая добавить волнистый эффект свайпа для
https://github.com/Chrisvin/LiquidSwipe
ViewPager.https://github.com/Chrisvin/LiquidSwipe
GitHub
GitHub - Chrisvin/LiquidSwipe: Android LiquidSwipe Library
Android LiquidSwipe Library. Contribute to Chrisvin/LiquidSwipe development by creating an account on GitHub.
Библиотека
https://github.com/dropbox/Store
Store предоставялет удобную обертку для асинхронного получения данных и их кеширования, по сути реализуя паттерн Repository. Все API реализована но Kotlin и использует корутины.https://github.com/dropbox/Store
GitHub
GitHub - MobileNativeFoundation/Store: A Kotlin Multiplatform solution for working with data. Whether you’re building alone or…
A Kotlin Multiplatform solution for working with data. Whether you’re building alone or with a team of thousands, Store can help - MobileNativeFoundation/Store
Практически в каждом современном
Ответ можно найти в данной статье, а также подробнее узнать как устроено
https://medium.com/mindorks/understand-how-does-retrofit-work-c9e264131f4a
Android проекте при необходимости реализации REST API используется библиотека Retrofit. Но как именно работает Retrofit, если он не использует кодогенерацию?Ответ можно найти в данной статье, а также подробнее узнать как устроено
Java Dynamic Proxy API и проксирование вызовов через InvocationHandler.https://medium.com/mindorks/understand-how-does-retrofit-work-c9e264131f4a
Medium
Understand How does Retrofit work
To be a good developer know what is going on under the hood
Статья о базовых механизмах безопасной передачи и хранения данных, которые необходимо поддерживать в любом современном мобильном приложении.
https://quickbirdstudios.com/blog/mobile-app-security-best-practices-android-ios/
https://quickbirdstudios.com/blog/mobile-app-security-best-practices-android-ios/
QuickBird Studios
Mobile App Security: Best Practices on Android & iOS
Mobile apps deal with really private and sensitive user data like personal health information or banking information. Losing data or getting hacked, therefore, can have huge consequences.
Базовое введение в
https://www.jetbrains.com/lp/mobilecrossplatform/
Kotlin Mobile Multiplatform от JetBrains.https://www.jetbrains.com/lp/mobilecrossplatform/
JetBrains
Kotlin Multiplatform for Cross-Platform Development | JetBrains
Kotlin Multiplatform is a technology that enables reusing code across Android, iOS, web, desktop, and server-side while retaining native programming benefits.
В статье рассматриваются распространенные базовые ошибки при разработке
https://proandroiddev.com/the-seven-actually-10-cardinal-sins-of-android-development-491d2f64c8e0
Android приложения.https://proandroiddev.com/the-seven-actually-10-cardinal-sins-of-android-development-491d2f64c8e0
Medium
The Seven (Actually 10) Cardinal Sins of Android Development
Merry Christmas to everyone! In this article, I intend to show you a few commonly recurring mistakes that some developers make by accident…
В статье автор рассказывает о работе
https://medium.com/@davidecerbo/backpressure-in-kotlin-flows-9324d86c964e
back pressure при использовании Coroutine Flow.https://medium.com/@davidecerbo/backpressure-in-kotlin-flows-9324d86c964e
Medium
Backpressure in Kotlin Flows
This is one of the best features of reactive programming and it is borrowed from fluid dynamics. Wikipedia defines it as:
Timeline-View - кастомная вьюшка, позволяющая отобразить временную ленту какого-либо заказа.https://github.com/vipulasri/Timeline-View
GitHub
GitHub - vipulasri/Timeline-View: Timeline View is a simple and highly customizable android library for creating shipment/order…
Timeline View is a simple and highly customizable android library for creating shipment/order tracking, step progress indicators, etc. - vipulasri/Timeline-View
AudioRecordView - кастомная вьюшка для визуализации аудио записи.https://github.com/Armen101/AudioRecordView
GitHub
GitHub - Armen101/AudioRecordView: A flexible, efficient library written in Kotlin for drawing real wave forms while recording.…
A flexible, efficient library written in Kotlin for drawing real wave forms while recording. Free, easy and convenient to use. - Armen101/AudioRecordView