- Регистрация
- 09.07.2015
- Сообщения
- 357
- Благодарностей
- 566
- Баллы
- 93
Привет, друзья.
Я подготовил вам новую порцию информации об Android для того, чтобы вы переварили её и сделали exxxtraCash$$$$$.
Для удобства вторая часть будет содержать несколько пунктов:
- Подмена запросов
- Работа со смартфонами в многопотоке
- Бонус
Подмена запросов
У ZennoPoster есть прекрасный метод для подмены запросов. С помощью него вы можете заменить в запросе те параметры, которые не удалось заменить штатным методом и, например, обойти защиту какого-либо сайта. Также имеется отличный метод для получения запросов в переменную.
Но что делать, если речь идёт об Android? Как подменить и вытащить запросы из эмулятора?
Для этого мы можем использовать библиотеку FiddlerCore.
Наверное кто-то из вас пользовался или активно пользуется Fiddler, так вот у них есть ещё и библиотека, которую вы можете внедрить в свой шаблон и делать с трафиком всё что вам вздумается.
Для вас я написал удобный код для работы с библиотекой. Рассмотрим принцип его работы.
Скачивайте шаблон, устанавливайте adb и софт, закидывайте dll в ExternalAssemblies.
В предыдущей статье есть инструкция и пояснения к шаблону.
В шаблоне вы найдете 2 новых кубика:
Start Fiddler - запускает сервер и асинхронный код для работы с трафиком,
Stop Fiddler - закрывает сервер и останавливает асинхронный код.
В общем коде вы можете найти класс Fid с методами:
Start:
Start:
public void Start(){
FiddlerApplication.BeforeRequest += FiddlerApplication_BeforeRequest; //Выполнение кода до запроса
FiddlerApplication.BeforeResponse += FiddlerApplication_BeforeResponse; //Выполнение кода после запроса
FiddlerApplication.AfterSessionComplete += FiddlerApplication_AfterSessionComplete; //Выполнение по завершению сессии (сессия это когда запрос полностью был получен)
try {
FiddlerApplication.Startup(8888, false, true, true); //запуск Fiddler сервера с настройками (порт, установить сервер в системные настройки, включить дешифровку ssl трафика, принимать удаленные подключения)
} catch (Exception e) {}
}
Stop:
public void Stop(bool server_deactivate){
FiddlerApplication.BeforeRequest -= FiddlerApplication_BeforeRequest; //Отключение асинхронного кода до запроса
FiddlerApplication.BeforeResponse -= FiddlerApplication_BeforeResponse; //Отключение асинхронного кода после запроса
FiddlerApplication.AfterSessionComplete -= FiddlerApplication_AfterSessionComplete; //Отключение асинхронного кода по завершению сессии
if (FiddlerApplication.IsStarted() && server_deactivate == true) // Отключение
FiddlerApplication.Shutdown(); // Fiddler Server
}
Method:
void FiddlerApplication_BeforeRequest(Session oSession){
}
void FiddlerApplication_BeforeResponse(Session oSession){
}
void FiddlerApplication_AfterSessionComplete(Session oSession){
}
}
- замена названия модели (FiddlerApplication_BeforeRequest)
- подмена в теле запроса (FiddlerApplication_BeforeRequest)
- парсинг ссылок картинок (FiddlerApplication_AfterSessionComplete)
Для того чтобы писать код вам потребуется небольшие знания C# и для удобного тестинга можно использовать Fiddler и Fiddler ScriptEditor (см. Видео).
К сожалению, некоторые приложения шифруют тела запросов и вам придется поковыряться в прилке, чтобы удалить шифрование, либо использовать Frida для подмены функций.
Работа со смартфонами в многопотоке
В шаблоне я оставил несколько новых кубиков для работы со смартфонами.
Но чтобы всё нормально работало вам нужно закомментировать и раскомментировать указанные части кода в общем коде.
Смысл работы абсолютно такой же как и в версии для эмуляторов:
- Алгоритм получает список всех девайсов через adb
- По порядку проверяет свободные серийники для взятия в работу. Если их нет в глобальной переменной, то берёт.
- Отправляет значение серийника в переменную, чтобы подключить телефон по adb
Бонус
В прошлой статье многие жаловались, что невозможно работать с русскоязычными прилками.
Я немного подредактировал SharpAdbClient.dll для того, чтобы это работало.
Также добавил блок с установкой Clipper. Он нужен для того, чтобы вытаскивать значения из буфера обмена и вносить в переменную.
В кубике есть пример установки приложения через специальный кубик, если PacketManager не работает на вашем смартфоне.
Видео
Если вам понравилась моя статья, то буду безмерно рад вашим лайкам и голосам!
- Тема статьи
- Другое
- Номер конкурса статей
- Пятнадцатый конкурс статей
Вложения
-
1,6 МБ Просмотры: 918
Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.
Последнее редактирование: