Перейти к публикации

Geninvenst

Разрабатываем свой первый чекер на BAS ч.2

Рекомендованные сообщения

Выбираем браузер:

54324d16a7b7cb7dc2be41fddf5edb356abccea54135b583c3ee94505065650d.webp54324d16a7b7cb7dc2be41fddf5edb356abccea54135b583c3ee94505065650d.webp

Выбираем Прокси:

febafd189475ca35c2f3f7a6271583ee7a65646b8e35a401a12f8121eefb2404.webpfebafd189475ca35c2f3f7a6271583ee7a65646b8e35a401a12f8121eefb2404.webp

Выбираем поле для ввода. Жмем F7 и выбираем наш ресурс:

5bb748688f6bfabf8344d621c2432b1fd092371af80a8481e898eaf8c329d160.webp5bb748688f6bfabf8344d621c2432b1fd092371af80a8481e898eaf8c329d160.webp

Теперь меняем под себя тип прокси, по умолчанию стоит http. Жмем "Ок".

В логике нашего скрипта появилось первое действие. Наводим наш курсор прямо на "прокси".

6aeeed8838c511249641683a2605b51dbb367742b903c9a21334c38cc713a73f.webp6aeeed8838c511249641683a2605b51dbb367742b903c9a21334c38cc713a73f.webp

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

58a9ab091141aa90aefb473b9f2e82c1f345c3fc85336960b675c9b2de5622ee.webp58a9ab091141aa90aefb473b9f2e82c1f345c3fc85336960b675c9b2de5622ee.webp

После нажатия она загориться красным, это означает что мы будем добавлять действие прямо в это место. В BAS'e есть возможность поиска действий, воспользуемся этим: ищем слово "Метку". Жмем установить метку. Даем ей имя "Проверка прокси" и жмем ОК.

a1c39017e696102b51d169976978b192dbba9d7c615d8d36eacc93e32fdb4b6d.webpa1c39017e696102b51d169976978b192dbba9d7c615d8d36eacc93e32fdb4b6d.webp

В нашей логике появилось новое действие - метка. Если сравнить метку с видеоиграми, то метка это что-то вроде чекпоинта. В случае если что-то пошло не так - мы возращаемся к месту где установлена метка.

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

f21892068fd72190f3a1ca7a9ed5b775b01ef28ee183dcfb98dc1cb541835cdf.webpf21892068fd72190f3a1ca7a9ed5b775b01ef28ee183dcfb98dc1cb541835cdf.webp

И в поисковике ищем "Перейти к метке". Выбираем нашу метку "Проверка прокси".

Остается лишь удалять проксю из списка, если она не валидная, для этого жмем на ту же полоску под красным логом.

415c627081677895d6367564a5c94ec6196a69d1095cf183e7cd2de32bf0600e.webp415c627081677895d6367564a5c94ec6196a69d1095cf183e7cd2de32bf0600e.webp

В поисковике ищем "Удалить текущий элемент". Выбираем наш ресурс и жмем ОК.

Переходим к авторизации: достаем логин и пароль из нашего ресурса и вводим их на сайте.

Авторизация на сайте

Жмем на самую нижнию полоску в нашем скрипте:

884ff03237db340e7d5a1d1006d22f438d96b36aaafcd9ad63c60d5af0b593b0.webp884ff03237db340e7d5a1d1006d22f438d96b36aaafcd9ad63c60d5af0b593b0.webp

В поисковик вбиваем "Загрузить". Указываем URL сайта: starpets.gg и жмем ОК.

4422a59522df8be3646eea147a88cc61db8533bedcb247770b5b32670f55e84a.webp4422a59522df8be3646eea147a88cc61db8533bedcb247770b5b32670f55e84a.webp

У нас появилась эмуляция нашего браузера. Теперь нам нужно чтобы наш скрипт нажал на "PROFILE". Для этого жмем F1 и нажимаем ПКМ по кнопке PROFILE. Выбираем действие "Кликнуть по элементу".

c819881dab7e26e1c12b3bca4767bfa74fb4bb5161d772f2802ec0651382978a.webpc819881dab7e26e1c12b3bca4767bfa74fb4bb5161d772f2802ec0651382978a.webp

Жмем Ок. Мы попали на страницу регистрации, таким же способом переходим к авторизации. ПКМ выбираем PROFILE.

52e873eb3833489b1cfdb7f2369d98db28f21f65d8fafaa3eb28e8f34a08f9be.webp52e873eb3833489b1cfdb7f2369d98db28f21f65d8fafaa3eb28e8f34a08f9be.webp

Мы дошли до нужной страницы.

71add89318f0b60ba41733f715cca0a7d05fcaa9924829b2e1548f7efc6fec59.webp71add89318f0b60ba41733f715cca0a7d05fcaa9924829b2e1548f7efc6fec59.webp

Теперь достанем наши log:pass, для этого вбиваем в поисковик "Парсить CSV". Выбираем первое действие.

В поле строка указываем наш ресурс. Все как делали до этого - кликаем по полю для ввода, жмем F7, выбираем ресурс "База".

2bd1088f32350909fc8bf6bb8823949ea471d0981ebfa8bb61019ca6492bbcf1.webp2bd1088f32350909fc8bf6bb8823949ea471d0981ebfa8bb61019ca6492bbcf1.webp

Далее указываем наши разделители, в моем случае это ":".

Возвращаемся к браузеру, теперь нам нужно ввести наш логин и пароль. Кликаем по окошку для ввода логина и жмем "Ввод текста".

7a6870cfacf770e64facd549db80dc50ef0fb9891652abdac0fcd4d3ab739e6a.webp7a6870cfacf770e64facd549db80dc50ef0fb9891652abdac0fcd4d3ab739e6a.webp

Жмем "Текст для ввода" и клацаем F8. Выбираем USERNAME. Задержку выставляем 0 и жмем ОК.

1ea5c0e8bcbafe943f13afc6faddc2acf2059e59ce81f659fab8d6ade5e9c5da.webp1ea5c0e8bcbafe943f13afc6faddc2acf2059e59ce81f659fab8d6ade5e9c5da.webp

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

Для этого вбиваем в поисковик "Спать". Спать будем 333 миллисекунды. Жмем ОК.

С вводом пароля делаем все также, ниже прикреплю скрин как это выглядит у меня

64a362235f8fcaa19faf5973bace2f61f1a51feef7c55a26273e0754173bff48.webp64a362235f8fcaa19faf5973bace2f61f1a51feef7c55a26273e0754173bff48.webp

Так как мы в режиме разработчика, то нам нужно зайти на любой рабочий аккаунт. Для этого берем рабочий log:pass и жмем F2 в нашем браузере (эта функция позволит нам вводить данные в реальном времени).

96611faa359da0d7633fb9b0424650599042557373f5cb6e7431abe45633f716.webp96611faa359da0d7633fb9b0424650599042557373f5cb6e7431abe45633f716.webp

Снова жмем F1 и учим наш скрипт кликать SING IN.

721433029530ff54b1fa3737728c6ffb8bf058f6356417c916f1057f891ae4df.webp721433029530ff54b1fa3737728c6ffb8bf058f6356417c916f1057f891ae4df.webp

Жмем ОК. В браузере нам выдало cloudflare капчу, решить её можно одним кликом. Наводим на окошко для клика и жмем "Кликнуть по элементу".

2465c7d59e124dba677479d56ffd2cc7f73097f12f47eb0f3607e1cde1074d11.webp2465c7d59e124dba677479d56ffd2cc7f73097f12f47eb0f3607e1cde1074d11.webp

В идеале сделать задержку перед решением капчи + сделать проверку есть ли капча на экране, но капча вылазит в 100% случаев, поэтому проверки не обязательны.

Тут мы видим что в элементе какие-то рандомные символы. Можем предположить что в каждом новом потоке (браузере) будут другие символы, а значит наш браузер не сможет найти капчу. Поэтому кликаем на это поле с текстом и ставим 2-ой элемент.

09d5e442581517714064affc41d63d7a22e5a63035dc8313b156da78c9500bf1.webp09d5e442581517714064affc41d63d7a22e5a63035dc8313b156da78c9500bf1.webp

Выбираем его и жмем ОК. Как мы видим в браузере решилась капча и мы попали на сайт.

Теперь сделаем проверку валидности аккаунта по URL, для этого находим любую страницу, которая доступна только авторизованным пользователям. В нашем случае это Inventory: https://starpets.gg/inventory.

Получаем ссылку, по которой нам нужно перейти чтобы попасть в инвентарь и загружаем её в браузере через действие "Загрузить". Указываем полученную ссылку.

c744432dafc591989a69f16cbd1933c253d40c375147588812cb674ea54c5b3a.webpc744432dafc591989a69f16cbd1933c253d40c375147588812cb674ea54c5b3a.webp

Попадаем на страницу с инвентарем. Если перейти по этой ссылку с не авторизованного (в нашем случае с невалидного) аккаунта, то нас перебросит совсем по другой ссылке.

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

Для этого ищем в браузере действие "Текущий URL". Оставляем все как есть и жмем OK. Теперь нам нужно проверить, правильный у нас URL или нет, для этого ищем действие в браузере: if. Кликаем по пустому полю и жмем F8.

9ae3e333047b1b2269bfc2b1b98fd364151a048813452497d7fe5d6e31c948be.webp9ae3e333047b1b2269bfc2b1b98fd364151a048813452497d7fe5d6e31c948be.webp

Выбираем CURRENT_URL

Дописываем "==" ставим две ковычки "" и в них пихаем ссылку.

[[CURRENT_URL]] == "https://starpets.gg/inventory"

Ставим галочку "Добавить else блок" и жмем ОК.

4602587ac453644ace3d358f92278498169156be6a055da428f2e425497662e4.webp4602587ac453644ace3d358f92278498169156be6a055da428f2e425497662e4.webp

Если ссылка равна нашей, то выполняем действия из спойлера ниже, если не равна (else) то помечаем аккаунт как нерабочий, для этого жмем на полоску под else.

2f318238c7fd68207630f2b7767000203101b1f3d4fb2c36fd1e23880706b37d.webp2f318238c7fd68207630f2b7767000203101b1f3d4fb2c36fd1e23880706b37d.webp

Ищем действие FAIL. Сообщение об ошибке - указываем логин и пароль от аккаунта и оповещаем об его состоянии.

Указываем наш ресурс БАЗА и пишем что аккаунт невалид.

82602c8f10408466fb1e6fbb8043c4ca17db25bba33ab8ea345e0295b6d3ff6f.webp82602c8f10408466fb1e6fbb8043c4ca17db25bba33ab8ea345e0295b6d3ff6f.webp

Получаем такую логику.

f86a6fe0a2946a55e2159c8cbe8a33f168d2ea91013439fea59aa5379c99854c.webpf86a6fe0a2946a55e2159c8cbe8a33f168d2ea91013439fea59aa5379c99854c.webp

Проверка баланса + парс вещей с инвентаря

Жмем на полоску под IF. Проверить баланс очень просто, загружаем любую страницу где его видно, делаем ПКМ по значению.

d00ebdde368926dd06f0e3566d84f0fea8d1a9f65fb2ac56394b698c9a6435ee.webpd00ebdde368926dd06f0e3566d84f0fea8d1a9f65fb2ac56394b698c9a6435ee.webp

"Получить текст". Рекомендуется выбрать второй элемент.

c811b8c4cbdb5d5cab9bd6f700fbb2c009fd5d6d3ac00980c9b8a695e09d8e7c.webpc811b8c4cbdb5d5cab9bd6f700fbb2c009fd5d6d3ac00980c9b8a695e09d8e7c.webp

Где SAVED_TEXT - там нужно указать как мы будем называть нашу переменную. Пишем BALANCE.

Теперь самое сложное - спарсить все вещи которые есть на аккаунте. Многие кодеры делают это через цикл. мы же поступим умнее и 1-им действием получим все вещи на аккаунте.

Будем парсить все названия игрушек под картинками.

Для этого в обычном браузере (НЕ В BAS!) добираемся до этой же страницы, открываем код элемента и наводим мышку на название игрушки.

d9e76bbe5a8e6b49e055966be61f06af210dc40b9023bcb485343b41e2140728.webpd9e76bbe5a8e6b49e055966be61f06af210dc40b9023bcb485343b41e2140728.webp

Не забываем включить режим поиска элемента как на скрине выше. Само название не имеет элемента, поэтому вручную изучаем код пока не доберемся до названия. Запоминаем класс и идем в CHATGPT ( chat.openai.com )

4dd2576bf1fe77581142f520f5ea9c433aa0627b703e0f2413aa60341b0350d5.webp4dd2576bf1fe77581142f520f5ea9c433aa0627b703e0f2413aa60341b0350d5.webp

Переписываем это значение <div class="pet___info">

<h3>Bat Face Roller Skates</h3>

И просим у ChatGPT написать нам xpath путь чтобы достать значение Bat Face Roller Skates

Готовая фраза:

<div class="pet___info">
<h3>Bat Face Roller Skates</h3>
напиши xpath путь чтобы достать значение Bat Face Roller Skates

Получаем ответ:

//div[@class="pet__info"]/h3/text()

Далее возвращаемся к нашему скрипту. Забиваем в поисковик: Код страницы. Ничего не меняя, жмем ОК. Теперь перейдем к xpath, ищем в поисковике

a2ef3ec7ce9404aefadf9046a21579b3360519e496e0a88fe2ddee435502d528.webpa2ef3ec7ce9404aefadf9046a21579b3360519e496e0a88fe2ddee435502d528.webp

Текст для применения: [[SAVED_PAGE_HTML]]

xpath запрос - то, что нам выдал джпт: //div[@class="pet__info"]/h3/text()

03b1264ba31db63d1a88c898f7b9c2e46ad81c5894a401dd366c2aaa337b9496.webp03b1264ba31db63d1a88c898f7b9c2e46ad81c5894a401dd366c2aaa337b9496.webp

ЖмемОК. Мы получили данные в виде списка, нам нужно преобразовать его в текст для прочтения. Для этого ищем действе в браузере: объединить в строку.

Переменная содержащая список: XPATH_XML_LIST. И больше ничего не меняем.

c2b88053ef65c75b189e2b553c9e101d38d9b5bcdb252788491806e4540a9e24.webpc2b88053ef65c75b189e2b553c9e101d38d9b5bcdb252788491806e4540a9e24.webp

Жмем ОК

Вот и все! Остается лишь сделать запись аккаунта в файл и вывести в консоль что аккаунт рабочий

Запись и логгирование

Ищем действие "Запись в файл". Сразу ставим галочки как на скрине

Путь к файлу - наш ресурс "Гуды".

Данные для записи - наш логпасс + данные которые мы получили: {{База}} | Balance: [[BALANCE]] | Pets: [[JOIN_RESULT_STRING]]. Жмем OK.

d852c53f7ee433b1b5d92c377b23a3e88c3f02358954807b487282d38688e9d6.webpd852c53f7ee433b1b5d92c377b23a3e88c3f02358954807b487282d38688e9d6.webp

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...