Автоматизация android без посредников часть 2

Содержание
  1. C#: Автоматизация Android без посредников (adb)
  2. Всем привет
  3. Установка
  4. Инициализация
  5. Автоматизация
  6. Поиск элемента
  7. Получение атрибута элемента
  8. Клик по элементу
  9. Свайп
  10. Ввод текста
  11. Очистка поля ввода
  12. Отправка нажатия клавиши (keyevent)
  13. Команды устройства
  14. Установка apk
  15. Запуск приложений
  16. Важные ссылки
  17. C#: Автоматизация Android без посредников (adb)
  18. Всем привет
  19. Установка
  20. Инициализация
  21. Автоматизация
  22. Поиск элемента
  23. Получение атрибута элемента
  24. Клик по элементу
  25. Свайп
  26. Ввод текста
  27. Очистка поля ввода
  28. Отправка нажатия клавиши (keyevent)
  29. Команды устройства
  30. Установка apk
  31. Запуск приложений
  32. Важные ссылки
  33. Лучшие приложения для автоматизации задач на android
  34. Что такое автоматизация задач на android ?
  35. Зачем нужна автоматизация задач на android ?
  36. Лучшие приложения для автоматизации задач на android – обзор и какое приложение выбрать
  37. Tasker
  38. AutomateIt
  39. Automate
  40. MacroDroid
  41. Автоматизация Android на POST\GET с помощью Frida-Server+BURPSuite
  42. Установка Python в Windows 10
  43. Устанавливаем Memu
  44. Установка и настройка BURPSuite
  45. Устанавливаем Frida
  46. Заработок
  47. Разбираемся с рассылками внутри приложения
  48. Поделиться ссылкой:
  49. Добавить комментарий Отменить ответ

C#: Автоматизация Android без посредников (adb)

Всем привет

Не давно понадобилось автоматизировать одно приложение.Мне не хотелось использовать какие то посредники по типу Appium, во-первых, ресурсы были ограничены, на одном компьютере нужно было заставить работать 3-4 эмулятора, во-вторых с adb работать не так уж и трудно, в-третьих я наткнулся на библиотеку SharpAdbClient, в которой были уже реализованы базовые функции, но самых важных мне не хватало, поэтому пришлось дописать их самому.Я подумал почему бы не сделать библиотеку с расширенным функционалом, поэтому в этой статье будет обзор на библиотеку AdvancedSharpAdbClient.

Установка

Вы можете установить библиотеку через nuget, либо через package manager:

Так же проект доступен на github

Инициализация

Для работы библиотеки понадобится adb.exe.Я использовал эмулятор Nox,где adb идёт вместе с приложением и находится по пути Nox\bin\adb.exe.

Первым делом запустим сервер

Далее нам необходимо создать новый клиент и подключиться к устройству

Тут я покажу вам лайфхак, как можно автоматически получать Ip эмуляторов.Это пригодится при работе с несколькими эмуляторами одновременно(многопоточность).

Рассмотрим на примере Nox’a, у которого каждый порт начинается с 620, например:

Для поиска можно воспользоваться утилитой netstat, которая слушает активные порты и подключения

Получение IP для нескольких эмуляторов

Так же, если вы хотите работать в многопотоке, в каждом потоке необходимо создавать новый AdvancedAdbClient для стабильной работы.

Пример многопоточной работы

Автоматизация

Поиск элемента

Для поиска элемента используется метод FindElement и FindElements

Можно указать время ожидания элемента (по умолчанию его нету)

Получение атрибута элемента

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

Клик по элементу

Вы можете кликнуть по координатам на экране

Либо же по найденному элементу

Свайп

AdvancedSharpAdbClient позволяет свайпнуть от одного элемента к другому

И так же по координатам

Ввод текста

Текст может быть абсолютно любым, но учтите, что adb не поддерживает кириллицу.

Так же можно автоматически фокусироваться на элементе (кликать, а потом вводить текст)

Очистка поля ввода

Для очистки поля ввода необходимо указать максимальное количество символов в поле

Автоматически определять длинну текста (может работать неправильно)

Отправка нажатия клавиши (keyevent)

Список эвентов вы можете посмотреть тут

Команды устройства

Все команды устройства вы можете посмотреть на страничке Github, здесь я покажу лишь 2 главных метода.

Установка apk

Запуск приложений

Важные ссылки

SharpAdbClient — была взята за основу, является форком madb

madb — портированная версия ddmlib с Java

ddmlib — оригинальная библиотека для работы с adb

Я не являюсь противником посредников, типа Appium, просто эти фреймворки больше больше подходят для тестирования приложений, а не автоматизации.

Я являюсь только начинающим разработчиком, поэтому прошу строго не судить правильность. кода

Если у вас появились какие либо вопросы, пишите мне на почту.

Это моя первая статья на Habr, поэтому заранее извиняюсь за косяки.

Источник

C#: Автоматизация Android без посредников (adb)

Всем привет

Не давно понадобилось автоматизировать одно приложение.Мне не хотелось использовать какие то посредники по типу Appium, во-первых, ресурсы были ограничены, на одном компьютере нужно было заставить работать 3-4 эмулятора, во-вторых с adb работать не так уж и трудно, в-третьих я наткнулся на библиотеку SharpAdbClient, в которой были уже реализованы базовые функции, но самых важных мне не хватало, поэтому пришлось дописать их самому.Я подумал почему бы не сделать библиотеку с расширенным функционалом, поэтому в этой статье будет обзор на библиотеку AdvancedSharpAdbClient.

Установка

Вы можете установить библиотеку через nuget, либо через package manager:

Так же проект доступен на github

Инициализация

Для работы библиотеки понадобится adb.exe.Я использовал эмулятор Nox,где adb идёт вместе с приложением и находится по пути Nox\bin\adb.exe.

Первым делом запустим сервер

Далее нам необходимо создать новый клиент и подключиться к устройству

Тут я покажу вам лайфхак, как можно автоматически получать Ip эмуляторов.Это пригодится при работе с несколькими эмуляторами одновременно(многопоточность).

Читайте также:  Дети шпионов для андроид

Рассмотрим на примере Nox’a, у которого каждый порт начинается с 620, например:

Для поиска можно воспользоваться утилитой netstat, которая слушает активные порты и подключения

Получение IP для нескольких эмуляторов

Так же, если вы хотите работать в многопотоке, в каждом потоке необходимо создавать новый AdvancedAdbClient для стабильной работы.

Пример многопоточной работы

Автоматизация

Поиск элемента

Для поиска элемента используется метод FindElement и FindElements

Можно указать время ожидания элемента (по умолчанию его нету)

Получение атрибута элемента

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

Клик по элементу

Вы можете кликнуть по координатам на экране

Либо же по найденному элементу

Свайп

AdvancedSharpAdbClient позволяет свайпнуть от одного элемента к другому

И так же по координатам

Ввод текста

Текст может быть абсолютно любым, но учтите, что adb не поддерживает кириллицу.

Так же можно автоматически фокусироваться на элементе (кликать, а потом вводить текст)

Очистка поля ввода

Для очистки поля ввода необходимо указать максимальное количество символов в поле

Автоматически определять длинну текста (может работать неправильно)

Отправка нажатия клавиши (keyevent)

Список эвентов вы можете посмотреть тут

Команды устройства

Все команды устройства вы можете посмотреть на страничке Github, здесь я покажу лишь 2 главных метода.

Установка apk

Запуск приложений

Важные ссылки

SharpAdbClient — была взята за основу, является форком madb

madb — портированная версия ddmlib с Java

ddmlib — оригинальная библиотека для работы с adb

Я не являюсь противником посредников, типа Appium, просто эти фреймворки больше больше подходят для тестирования приложений, а не автоматизации.

Я являюсь только начинающим разработчиком, поэтому прошу строго не судить правильность. кода

Если у вас появились какие либо вопросы, пишите мне на почту.

Это моя первая статья на Habr, поэтому заранее извиняюсь за косяки.

Источник

Лучшие приложения для автоматизации задач на android

Что такое автоматизация задач на android ?

Автоматизация задач на платформе android – это процесс, в рамках которого выполнение задач, необходимых пользователю, осуществляется с помощью специализированных программ.

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

Зачем нужна автоматизация задач на android ?

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

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

Лучшие приложения для автоматизации задач на android – обзор и какое приложение выбрать

Существует достаточно много приложений, предназначенных для автоматизации работы Android-смартфона. Чтобы выбрать какое-то определенное программное решение из всех возможных вариантов, необходимо понимать под какие именно задачи «заточено» то или иное приложение. Перечисленные ниже программы сэкономят большое количество времени и автоматизируют самые сложные пользовательские задачи.

Tasker

Самая мощная программа, нацеленная на выполнение самых неординарных и сложных задач, как по отдельности, так и в комплексе. Она позволяет:

  • автоматизировать звонки и отправку SMS-сообщений;
  • выполнять настройку смартфона в соответствии с определёнными условиями;
  • блокировать ненужные приложения;
  • зачитывать вслух сообщения и новости;
  • запускать необходимые пользователю приложения с помощью голосовой команды.

Данная программа позволяет управлять и контролировать выполнение команд цифровыми устройствами, установленными в доме. Для этого достаточно прописать специальный плагин для программы. Минус этого приложения один – оно платное.

AutomateIt

Неплохое приложение, аналог рассмотренной выше программы Tasker. Его главное отличие – упрощенный пользовательский дизайн и удобство управления.

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

  • отправлять звонки и сообщения в нужное время;
  • включать и отключать звук;
  • запускать приложения в автоматическом режиме;
  • блокировать нежелательные звонки.

Приложение можно настроить самостоятельно, а можно приобрести пакет готовых настроек, хотя сама программа распространяется бесплатно.

Automate

Бесплатная программа с одной особенностью. Правила можно настраивать в виде диаграммы. Блоки диаграммы можно расширить по веткам, каждая ветка – однотипный триггер, выполняющий похожие задачи, но с различными настройками. Такая визуализация нравится далеко не всем, но после непродолжительного использования, подобный подход покажется наилучшим способом управления приложениями, установленными на смартфоне. Программа полностью бесплатная, и поддерживает плагины от многих аналогичных программ.

MacroDroid

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

Читайте также:  Лучший калькулятор самогонщика для андроид

Кроме того в этом приложении предусмотрена возможность использования готовых шаблонов с необходимыми пользователю настройками. Эти шаблоны можно редактировать, чтобы получить наиболее оптимальный пользовательский вариант. С помощью применения условий «ЕСЛИ», «И», «ТОГДА», «ИЛИ», можно корректировать условия выполнения тех или иных задач. Данное приложение может выполнять целый ряд разнообразных задач:

  • подключить android-устройство к Wi-Fi сети, когда она станет доступна;
  • сообщать о низком заряде аккумулятора мобильного устройства;
  • воспроизводить SMS-сообщения;
  • отправлять электронные письма;
  • снижать громкость звука и яркость экрана по достижении установленного времени.

Пожалуйста, опубликуйте свои мнения по текущей теме статьи. За комментарии, дизлайки, лайки, подписки, отклики огромное вам спасибо!

Дайте знать, что вы думаете по этой теме материала в комментариях. Мы крайне благодарны вам за ваши комментарии, лайки, дизлайки, подписки, отклики!

Источник

Автоматизация Android на POST\GET с помощью Frida-Server+BURPSuite

Всем привет!
Ранее уже писал статью на счет автоматизации приложений на Android, с помощью GETPOST запросов, при использовании ZennoPoster. Однако появилась необходимость разобраться подробнее.

Многим было непонятно то, как оно работает и сам пример в статье был слишком простой, в этот раз мне бы хотелось более детально пройтись по всем моментам. Особенно как на этом заработать
Некоторые даже думали что дальнейшей работы шаблона нужен включенный эмулятор. Это не так, ведь самое большое преимущество в запросах, то, что нам не нужно держать включенными кучу копий эмулятора, потому запускать много потоков можно сравнительно на слабом железе.

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

В основном мы начинаем по примитивному использовать приложение, например добавляем фотку красивой девушки, ссылки в профиль и начинаем фолловить пользователей мужского пола. Этот способ имеет право на жизнь! Так каждый день появляется столько новых разных приложений, на любой цвет и вкус.

Но есть еще много разных способов, как использовать. Есть отличная статья про точки касания, переписывать я не буду, просто пройдитесь глазами.

В прошлой статье, я описал возможность работы с эмулятором Nox, но со временем столкнулся с такой проблемой, что он перестал запускаться и все приложения которые я сохранил на будущее для их изучения, они пропали.
Это была не самая приятная ситуация которая заставила меня перейти на MEMU поскольку он оказался более шустрым и стабильным.

Хочется показать, что есть не только тот способ для вскрытия приложения от SSL сертификата. Но еще с помощью Frida-Server и BURPSuite. Про бурп это вообще отдельная тема, советую всем научится с ним работать.

Так что погнали!

Данный пункт вы можете пропустить, если уже установлен Python и он нормально работает на Win10.

Установка Python в Windows 10

1. Переходим на сайт и качаем свежую версию Python https://www.python.org/downloads/

2. После того как скачали файл, запускаем установочный файл.

3. Ставим галочку на Add Python 3.8 to PATH и дальше на Customize Installation

4. На этом шаге смотрим чтобы галочки везде стояли.

5. Тут тоже самое, обращаем внимание чтобы галочка стояла на Add Python to environment variables и меняем папку по умолчанию например на C:Python

6. Ждем пока установщик сделает свое дело.

7. Снимает ограничения на длину имени файла.

8. Далее для того, чтобы Python нормально заработал, переходим в Параметры->Приложения и возможности->Псевдонимы выполнения приложения и снимаем тумблеры

Приложения и возможности->Псевдонимы выполнения приложения и снимаем тумблеры»/>

9. Далее открываем cmd от имени администратора и вводим эти две команды:
Код:

10. Проверяем в cmd что Python у нас установился и работает:

Устанавливаем Memu

  1. Переходим на сайт https://www.memuplay.com/ и качаем свежую версию.
  2. Устанавливаем себе в удобную папку эмулятор и не забыв нажать Decline когда нам предложат установить антивирус McAfee
  3. Запускает MultiMEmu и создаем новую машину на Android 7.1
  4. В настройках виртуальной машины включаем root

Установка и настройка BURPSuite

  1. Поскольку Burp написан на языке Java, то для запуска нам потребуется виртуальная машина Java, переходим на сайт oracle и скачиваем свежую версию. После этого устанавливаем.
  2. Переходим на TG канал и скачиваем BURPSuite.
  3. Там на канале есть nulled burp, описывать как эго установить не буду, делайте на свой страх и риск, это только в ознакомительных целях. Или используйте Fiddler4, который описывал в прошлой статье. Представим что BURPSuite у вас есть и потому переходим к его самой настройки.

4.Переходим в вкладку Proxy->Options и жмем Add

Options и жмем Add»/>

5.В порт вписывает 8082 и нажимаем галочку на All interfaces

6.Дальше нажимаем Yes.
7.Запускаем эмулятор который мы создали.
8.Устанавливаем приложение, которое мы хотим снять сертификат.
9.В эмуляторе переходим Настройки->wifi->Наша_wifi_сеть->Расширенные настройки и добавляем туда наш прокси 192.168.1.7:8082

Читайте также:  Взломанные игровые автоматы для андроид

wifi->Наша_wifi_сеть->Расширенные настройки и добавляем туда наш прокси 192.168.1.7:8082 «/>

10.Далее в браузере переходим по тому адресу, который мы добавляли 192.168.1.7:8082 и качаем CA Certificate. Скачаются сертификаты на эмулятор.

11.Переходим в файловый менеджер на устройстве и переименовуем с cacert.der на cacert.crt и устанавливаем его.

Устанавливаем Frida

Открываем cmd с правами администратора и вводим:

1. pip install frida

2. pip install objection

3. pip install frida-tools

Пока с этим все

Качаем adbtools и Frida-server+остальное

1.Качаем на сайте свежую версию adbtools тут и распаковываем в удобную папку, в моем случае это C:adb

2.Сохраняем этот скрип под именем fridascript.js в папке adb

3.Переходим в эмулятор Настройки->О планшете и пару раз кликаем на на вкладку «Номер сборки»

О планшете и пару раз кликаем на на вкладку «Номер сборки» «/>

4.Теперь у нас появился пункт в меню настройки «Для разработчиков» переходим туда и включаем тублер «Отладка по USB»

5.Дальше нам нужно подключить устройство к adb, для этого переходим в папку C:Program Files (x86)MicrovirtMEmuMemuHyperv VMsMEmu (у вас путь может отличаться если вы устанавливали не по умолчанию эмулятор, так же если это не первый эмулятор названия похожие, думал принцип потянет)

6.Редактируем блокнотом файл MEmu.memu и находим там строку которая нам нужна, а именно hostip=»127.0.0.1″ hostport=»21503″

7.Открываем cmd в папке с adb (в моем случае это C:adb) и подключаем устройство
adb connect 127.0.0.1:21503

8.После этой команды, мы должны проверить если устройство подключено к adb, вводим еще командую строку adb devices
и видим что наше устройство подключено:

9.Дальше нам надо скачать Frida-server в соответсвии архитектуры нашего устройства, потому для этого впишем в cmd еще одну команду adb shell getprop ro.product.cpu.abi

10.Переходим на сайт https://github.com/frida/frida/releases/ и скачиваем, в моем случае это frida-server-12.9.4-android-x86.xz

11.Распаковываем содержимое архива в папке с adb

12.Внедряем frida-server в наше устройство, для этого запускаем cmd с папки adb и вводим:
adb push C:adbfrida-server-12.9.4-android-x86 /data/local/tmp/

adb shell chmod 777 /data/local/tmp/frida-server-12.9.4-android-x86

13.Теперь нам надо запустить frida-server adb shell /data/local/tmp/frida-server-12.9.4-android-x86 &

14.Никакого вывода этой команды не будет, и не закрывайте это окно cmd, нам нужно поддерживать работу frida-server пока будем перехватывать запросы, теперь попробуем посмотреть все запущенные службы на устройстве, для этого открываем новую командную строку и вводим frida-ps -U

Тут ищем то приложение с которого нам нужно снять сертификат. Отмечено красным.

15.Теперь внедряем код fridascript.js в приложение frida -U -l fridascript.js —no-paus -f com.gametreeapp

16.Получилось Теперь запросы у нас видны, мы сняли сертификат.

Заработок

Теперь нам пора на всем этом добре заработать $$$. Как я уже писал, после того как мы перехватим нужные запросы, нам не нужно держать эмулятор открытым, можно смело закрывать и добавлять проект в ZennoPoster.

Разбираемся с рассылками внутри приложения

Теперь перейдем к тому, как разослать сообщения внутри самого приложения! Случайно наткнулся в PlayMarket’e на VerbApp. Аудитория приложения маленькая, но там для того, чтобы научится, подойдет как-раз. Скачиваем на эмулятор, снимаем любым удобным способом сертификат и делаем шаблон, который будет рассылать по личным сообщением. Как-раз в этом приложении нет никаких ограничений на отправку в ЛС. Но из-за маленькой аудитории, заработать почти не получится. Но нам же главное способ?)

1. Регистрируемся в приложении

2. Заполняем профиль
3. Дальше нам нужно отслеживать запросы, пробуем написать человеку в ЛС и смотрим запросы, нам важны эти два

Делаем GET запрос и тем самым мы получаем id для создания переписки:

Переносим запросы в кубик ProjectMaker:

Пробуем его воспроизвести и видим, что мы получили id

Тоже самое делаем со втором запросом:

Выполняем и видим результат в переменной:

Теперь пишем сообщение человеку и дальше ловим запросы:

Как видим при отправке используется conversation_id который мы парсили первым get кубиком, потому при отправке мы должны это значение подставить:

Опять же переносим это в ProjectMaker и заменяем «Привет» на другое сообщение, подставляем переменную, выполняем и смотрим уже в самом приложении если отправилось:

После выполнения видим, что в эмуляторе оно отправилось.

Теперь нам больше эмулятор не нужен, мы можем обойтись без него с помощью GETPOST запросов.

Конец
Хотел сказать то, что изначально статья должна была быть более полной в плане автоматизации Android приложений, но тут я заболел и еле себя заставил добить ее ( Если заметите какие-то орфографические ошибки, прошу намекнуть! Надеюсь кому-то будет полезно!

Автор статьи — пользователь Fbtwork10 , к сожалению, ссылку на ТГ не нашли.

Не забывайте подписаться на канал и вступить в чат:
Больше годноты на канале — Довольный Арбитражник
Обсудить и задать вопросы в чате — Арбитраж трафика | Довольный

Поделиться ссылкой:

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Источник

Оцените статью