• Добро пожаловать на сайт - Forumteam.bet !

    Что бы просматривать темы форума необходимо зарегестрироваться или войти в свой аккаунт.

    Группа в телеграме (подпишитесь, что бы не потерять нас) - ForumTeam Chat [Подписатся]
    Связь с администратором - @ftmadmin

BAS [Для новичков] Разрабатываем свой первый чекер на BAS

Benzema

Публикатор
Команда форума
Регистрация
27.01.18
Веб-сайт
netysaita.com
TG
@@qq
Всем привет, в этой статье мы разберем простейший способ разработки своего чекера не имея большого опыта в программировании.

Что такое BAS?
BAS - универсальная программа, с её помощью мы можем автоматизировать абсолютно любые действия в браузере.

Для начала нам требуется установить сам BAS, для этого переходим по ссылке: https://bablosoft.com/shop/BrowserAutomationStudio#download и устанавливаем бесплатную версию (кнопка находится в конце страницы)

1689068501428.png

Остается лишь запустить exe файл и мы попадаем на главную страницу BAS


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

На главной странице кликаем по кнопке "Новый"
1689068549016.png

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

Задаем имя файлу и жмем "Сохранить"

Для примера возьмем любой сайт, где можно авторизоваться по log:pass + разберем обход простейшей капчи.

Первым на глаза попался https://starpets.gg

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


Заходим в BAS.
Начнем с создания ресурсов. Ресурс - способ ввода информации в нашу программу. Через него мы можем подгрузить аккаунты на проверку/токены сервисов по решению капчи/скорость проверки аккаунтов и т.д
1689068634140.png

Жмем "Создать новый ресурс"

1689068656886.png

Первое что мы будем загружать в нашу программу - это сами аккаунты. поэтому задаем имя ресурсу "База" (указываем только имя и жмем Вперед)

1689068688347.png

Мы будем загружать наши аккаунты из тхт, поэтому выбираем "Из файла" и жмем "Вперед"

1689068720858.png

Выбираем чтение и удаление строк

1689068752221.png


Использовать каждую строку один раз"
Жмем "Вперед" и "Finish"

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

Создаем новый ресурс, задаем имя - Гуды

1689068818735.png

Тип ресурса - из файла

1689068850924.png

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

1689068884205.png

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

1689068914791.png

Теперь создаем ресурс Потоки (1 Поток = 1 браузер, количество потоков = количество браузеров которые мы будем запускать одновременно)

1689068970403.png

Тип ресурса - число

1689068997250.png

По умолчанию и минимальное значение выставляем 1, максимум 100

1689069024716.png

Создаем ресурс с именем "Прокси"

1689069060932.png

Тип ресурса - из файла
Ресурс будет читать строку и удалять после использования
Каждую строку используем только 1 раз

Теперь переходим к самому интересному, будем обучать наш скрипт проверять валид ли аккаунт и парсить весь инвентарь + баланс.
Заходим на главную страницу в BAS и выбираем "Запись"
Игнорируем табличку ниже, никакие поля не заполняем

1689069098145.png

Просто жмем "ОК" в правом нижнем углу

1689069115890.png

Для начала настроим скорость чека, в левом верхнем углу жмем на "Количество потоков"

1689069139686.png

Жмем прямо на циферку 1

1689069158946.png

По умолчанию стоит 1 поток, мы стираем эту единицу и жмем F7 (чтобы сработало вам нужно нажать на поле ввода)

1689069176349.png

Выбираем тут потоки

1689069192220.png

Теперь скрипт автоматически заместо единички будет подставлять наше значение, которое мы будем вводить при запуске чекера. Жмем "ОК".
Возвращаемся на главную страницу и меняем тип запуска
Нам нужно выставить значение "Повторять"

1689069211102.png

Жмем "Ok" и наконец приступаем к разработке!

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

1689069300576.png

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

1689069320282.png

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

1689069338239.png

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

1689069355527.png

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

1689069370247.png

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

1689069386395.png

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

1689069403067.png

И в поисковике ищем "Перейти к метке"
Выбираем нашу метку "Проверка прокси"
Остается лишь удалять проксю из списка, если она не валидная, для этого жмем на ту же полоску под красным логом

1689069418453.png

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

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

1689069490820.png

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

1689069518100.png

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

1689069535004.png

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

1689069552175.png

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

1689069565838.png

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

1689069588515.png

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

1689069606378.png

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

1689069627500.png

Перед тем, как ввести пароль нам нужно сделать небольшую задержку, нужно это чтобы браузер пропустил наши действия и не посчитал что мы боты.
Для этого ****аем в поисковик "Спать"
Спать будем 333 миллисекунды.
Жмем ОК
С вводом пароля делаем все также, ниже прикреплю скрин как это выглядит у меня

1689069643957.png

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

1689069660540.png

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

1689070078015.png

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

1689070104121.png

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

1689070119619.png

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

1689070186698.png

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

1689070205401.png

Выбираем CURRENT_URL
Дописываем "==" ставим две ковычки "" и в них пихаем ссылку
Итог
Код:
[[CURRENT_URL]] == "https://starpets.gg/inventory"
Ставим галочку "Добавить else блок" и жмем ОК

1689070246797.png

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

1689070264463.png

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

1689070279073.png

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

1689070293089.png

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

1689070362463.png

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

Wnputbj.png


Где SAVED_TEXT - там нужно указать как мы будем называть нашу переменную. Пишем BALANCE
Теперь самое сложное - спарсить все вещи которые есть на аккаунте. Многие кодеры делают это через цикл. мы же поступим умнее и 1-им действием получим все вещи на аккаунте.
Будем парсить все названия игрушек под картинками
Для этого в обычном браузере (НЕ В BAS!) добираемся до этой же страницы, открываем код элемента и наводим мышку на название игрушки

6WTdKne.png


Не забываем включить режим поиска элемента как на скрине выше

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

KNwpOd9.png


ереписываем это значение <div class="pet___info">
<h3>Bat Face Roller Skates</h3>
И просим у ChatGPT написать нам xpath путь чтобы достать значение Bat Face Roller Skates
Готовая фраза:
Код:
HTML:
<div class="pet___info">
<h3>Bat Face Roller Skates</h3>
напиши xpath путь чтобы достать значение Bat Face Roller Skates

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

Код:
//div[@class="pet__info"]/h3/text()

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

PKu1YRb.png


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

Q1aG05R.png


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

S86eJSN.png


Жмем ОК

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

Ищем действие "Запись в файл"
Сразу ставим галочки как на скрине
Путь к файлу - наш ресурс "Гуды"
Данные для записи - наш логпасс + данные которые мы получили: {{База}} | Balance: [[BALANCE]] | Pets: [[JOIN_RESULT_STRING]]
Жмем OK

yHgHauO.png


Ищем действие success и выводим туда тоже самое что и записывали: {{База}} | Balance: [[BALANCE]] | Pets: [[JOIN_RESULT_STRING]]
Жмем ОК и скрипт завершен! Осталось его затестить.

edmZej7.png


Жмем красную кнопку
Выбираем здесь "запуск" и вводим все нужные ресурсы.

Вот и все. Мы научились делать простейшие чекеры на основе BAS, используя xpath что делает парсинг в 99% эффективнее чем это делают обычные трудяги. Ваш полученный навык - возможность создавать чекеры под свои нужды.
 
Telegram
@qq
Сверху Снизу