Загрузка...

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

Тема в разделе Статьи создана пользователем Финансист 10 июл 2023. (поднята 28 сен 2023) 5357 просмотров

Загрузка...
  1. Финансист
    Финансист Автор темы 10 июл 2023 FUCK **** 1201 30 апр 2023
    Всем привет, в этой статье мы разберем простейший способ разработки своего чекера не имея большого опыта в программировании.
    BAS - универсальная программа, с её помощью мы можем автоматизировать абсолютно любые действия в браузере.
    Для начала нам требуется установить сам BAS, для этого переходим по ссылке: https://bablosoft.com/shop/BrowserAutomationStudio#download и устанавливаем бесплатную версию (кнопка находится в конце страницы)
    [IMG]
    Остается лишь запустить exe файл и мы попадаем на главную страницу BAS


    Теперь нам нужно создать новый проект, создавать его нужно чтобы не потерять нашу разработку.
    На главной странице кликаем по кнопке "Новый"
    [IMG]

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


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

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

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

    [IMG]
    Жмем "Создать новый ресурс"
    [IMG]
    Первое что мы будем загружать в нашу программу - это сами аккаунты. поэтому задаем имя ресурсу "База" (указываем только имя и жмем Вперед)
    [IMG]
    Мы будем загружать наши аккаунты из тхт, поэтому выбираем "Из файла" и жмем "Вперед"
    [IMG]
    Выбираем чтение и удаление строк
    [IMG]
    "Использовать каждую строку один раз"
    Жмем "Вперед" и "Finish"
    Далее нам нужно создать ресурс для записи рабочих аккаунтов, для указания скорости чека и ресурс для подгрузки ******.
    Создаем новый ресурс, задаем имя - Гуды
    [IMG]
    Тип ресурса - из файла
    [IMG]
    Ресурс будем использовать только для записи данных
    [IMG]
    Данные будем записывать только один раз
    [IMG]
    Теперь создаем ресурс Потоки (1 Поток = 1 браузер, количество потоков = количество браузеров которые мы будем запускать одновременно)
    [IMG]
    Тип ресурса - число
    [IMG]

    По умолчанию и минимальное значение выставляем 1, максимум 100
    [IMG]
    Создаем ресурс с именем "******"
    [IMG]
    Тип ресурса - из файла
    Ресурс будет читать строку и удалять после использования
    Каждую строку используем только 1 раз
    Теперь переходим к самому интересному, будем обучать наш скрипт проверять валид ли аккаунт и парсить весь инвентарь + баланс.
    Заходим на главную страницу в BAS и выбираем "Запись"
    Игнорируем табличку ниже, никакие поля не заполняем
    [IMG]
    Просто жмем "ОК" в правом нижнем углу
    [IMG]
    Для начала настроим скорость чека, в левом верхнем углу жмем на "Количество потоков"
    [IMG]
    Жмем прямо на циферку 1
    [IMG]
    По умолчанию стоит 1 поток, мы стираем эту единицу и жмем F7 (чтобы сработало вам нужно нажать на поле ввода)
    [IMG]
    Выбираем тут потоки
    [IMG]
    Теперь скрипт автоматически заместо единички будет подставлять наше значение, которое мы будем вводить при запуске чекера. Жмем "ОК".
    Возвращаемся на главную страницу и меняем тип запуска
    Нам нужно выставить значение "Повторять"
    [IMG]
    Жмем "Ok" и наконец приступаем к разработке!

    [/SPOILER]
    Выбираем браузер
    [IMG]
    Выбираем ******
    [IMG]
    Выбираем поле для ввода
    Жмем F7 и выбираем наш ресурс
    [IMG]
    Теперь меняем под себя тип ******, по умолчанию стоит http
    Жмем "Ок"
    В логике нашего скрипта появилось первое действие. Наводим наш курсор прямо на "******"
    [IMG]
    Жмем на знак предупреждения
    Мы получили отработку ошибок. Если прокся валидная - мы перейдем к проверке аккаунта, если прокся невалидная - мы будем подбирать следующую по списку, пока не найдем валидную. для этого жмем на полоску в самом начале нашего скрипта.
    [IMG]
    После нажатия она загориться красным, это означает что мы будем добавлять действие прямо в это место.
    В BAS'e есть возможность поиска действий, воспользуемся этим: ищем слово "Метку"
    Жмем установить метку
    Даем ей имя "Проверка ******" и жмем ОК
    [IMG]
    В нашей логике появилось новое действие - метка. Если сравнить метку с видеоиграми, то метка это что-то вроде чекпоинта. В случае если что-то пошло не так - мы возращаемся к месту где установлена метка.
    Теперь добавим тот самый переход к метке, жмем на полоску под красным действием "Лог"
    [IMG]
    И в поисковике ищем "Перейти к метке"
    Выбираем нашу метку "Проверка ******"
    Остается лишь удалять проксю из списка, если она не валидная, для этого жмем на ту же полоску под красным логом
    [IMG]
    В поисковике ищем "Удалить текущий элемент"
    Выбираем наш ресурс и жмем ОК
    Переходим к авторизации: достаем логин и пароль из нашего ресурса и вводим их на сайте
    Жмем на самую нижнию полоску в нашем скрипте
    [IMG]
    В поисковик ****аем "Загрузить"
    Указываем URL сайта: starpets.gg и жмем ОК
    [IMG]
    У нас появилась эмуляция нашего браузера
    Теперь нам нужно чтобы наш скрипт нажал на "PROFILE"
    Для этого жмем F1 и нажимаем ПКМ по кнопке PROFILE
    Выбираем действие "Кликнуть по элементу"
    [IMG]
    Жмем Ок
    Мы попали на страницу регистрации, таким же способом переходим к авторизации.
    ПКМ выбираем PROFILE
    [IMG]
    Мы дошли до нужной страницы
    [IMG]
    Теперь достанем наши log:pass, для этого ****аем в поисковик "Парсить CSV"
    Выбираем первое действие
    В поле строка указываем наш ресурс. Все как делали до этого - кликаем по полю для ввода, жмем F7, выбираем ресурс "База"
    [IMG]
    Далее указываем наши разделители, в моем случае это ":".
    Возвращаемся к браузеру, теперь нам нужно ввести наш логин и пароль. Кликаем по окошку для ввода логина и жмем "Ввод текста"
    [IMG]
    Жмем "Текст для ввода" и клацаем F8
    Выбираем USERNAME
    Задержку выставляем 0 и жмем ОК
    [IMG]
    Перед тем, как ввести пароль нам нужно сделать небольшую задержку, нужно это чтобы браузер пропустил наши действия и не посчитал что мы боты.
    Для этого ****аем в поисковик "Спать"
    Спать будем 333 миллисекунды.
    Жмем ОК
    С вводом пароля делаем все также, ниже прикреплю скрин как это выглядит у меня
    [IMG]
    Так как мы в режиме разработчика, то нам нужно зайти на любой рабочий аккаунт. Для этого берем рабочий log:pass и жмем F2 в нашем браузере (эта функция позволит нам вводить данные в реальном времени)
    [IMG]
    Снова жмем F1 и учим наш скрипт кликать SING IN
    [IMG]
    Жмем ОК
    В браузере нам выдало cloudflare капчу, решить её можно одним кликом. Наводим на окошко для клика и жмем "Кликнуть по элементу"

    [IMG]
    В идеале сделать задержку перед решением капчи + сделать проверку есть ли капча на экране, но капча вылазит в 100% случаев, поэтому проверки не обязательны.
    Тут мы видим что в элементе какие-то рандомные символы. Можем предположить что в каждом новом потоке (браузере) будут другие символы, а значит наш браузер не сможет найти капчу. Поэтому кликаем на это поле с текстом и ставим 2-ой элемент
    [IMG]
    Выбираем его и жмем ОК
    Как мы видим в браузере решилась капча и мы попали на сайт.
    Теперь сделаем проверку валидности аккаунта по URL, для этого находим любую страницу, которая доступна только авторизованным пользователям. В нашем случае это Inventory: https://starpets.gg/inventory
    Получаем ссылку, по которой нам нужно перейти чтобы попасть в инвентарь и загружаем её в браузере через действие "Загрузить"
    Указываем полученную ссылку
    [IMG]
    Попадаем на страницу с инвентарем.
    Если перейти по этой ссылку с не авторизованного (в нашем случае с невалидного) аккаунта, то нас перебросит совсем по другой ссылке.
    Это значит, что мы можем проверить где сейчас находится наш скрипт, и если ссылка соответствует нашей, то продолжить проверку, иначе аккаунт не рабочий.
    Для этого ищем в браузере действие "Текущий URL"
    Оставляем все как есть и жмем OK
    Теперь нам нужно проверить, правильный у нас URL или нет, для этого ищем действие в браузере: if
    Кликаем по пустому полю и жмем F8
    [IMG]
    Выбираем CURRENT_URL
    Дописываем "==" ставим две ковычки "" и в них пихаем ссылку
    Итог
    Код
    [[CURRENT_URL]] == "https://starpets.gg/inventory"
    Ставим галочку "Добавить else блок" и жмем ОК
    [IMG]
    Если ссылка равна нашей, то выполняем действия из спойлера ниже, если не равна (else) то помечаем аккаунт как нерабочий, для этого жмем на полоску под else
    [IMG]
    Ищем действие FAIL
    Сообщение об ошибке - указываем логин и пароль от аккаунта и оповещаем об его состоянии
    Указываем наш ресурс БАЗА и пишем что аккаунт невалид
    [IMG]
    Получаем такую логику
    [IMG]
    Жмем на полоску под IF
    Проверить баланс очень просто, загружаем любую страницу где его видно, делаем ПКМ по значению
    [IMG]
    "Получить текст"
    Рекомендуется выбрать второй элемент
    [IMG]
    Где SAVED_TEXT - там нужно указать как мы будем называть нашу переменную. Пишем BALANCE
    Теперь самое сложное - спарсить все вещи которые есть на аккаунте. Многие кодеры делают это через цикл. мы же поступим умнее и 1-им действием получим все вещи на аккаунте.
    Будем парсить все названия игрушек под картинками
    Для этого в обычном браузере (НЕ В BAS!) добираемся до этой же страницы, открываем код элемента и наводим мышку на название игрушки

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

    Само название не имеет элемента, поэтому вручную изучаем код пока не доберемся до названия
    Запоминаем класс и идем в CHATGPT ( chat.openai.com )
    [IMG]
    Переписываем это значение <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, ищем в поисковике
    [IMG]
    Текст для применения: [[SAVED_PAGE_HTML]]
    xpath запрос - то, что нам выдал джпт: //div[@class="pet__info"]/h3/text()
    [IMG]
    Жмем ОК
    Мы получили данные в виде списка, нам нужно преобразовать его в текст для прочтения. Для этого ищем действе в браузере: объединить в строку
    Переменная содержащая список: XPATH_XML_LIST
    И больше ничего не меняем
    [IMG]
    Жмем ОК
    Вот и все! Остается лишь сделать запись аккаунта в файл и вывести в консоль что аккаунт рабочий
    Ищем действие "Запись в файл"
    Сразу ставим галочки как на скрине
    Путь к файлу - наш ресурс "Гуды"
    Данные для записи - наш логпасс + данные которые мы получили: {{База}} | Balance: [[BALANCE]] | Pets: [[JOIN_RESULT_STRING]]
    Жмем OK
    [IMG]
    Ищем действие success и выводим туда тоже самое что и записывали: {{База}} | Balance: [[BALANCE]] | Pets: [[JOIN_RESULT_STRING]]
    Жмем ОК и скрипт завершен! Осталось его затестить.
    [IMG]
    Жмем красную кнопку
    Выбираем здесь "запуск" и вводим все нужные ресурсы.

    Вот и все. Мы научились делать простейшие чекеры на основе BAS, используя xpath что делает парсинг в 99% эффективнее чем это делают обычные трудяги. Ваш полученный навык - возможность создавать чекеры под свои нужды и welcome в топик разработки на лолзе.
     
    Этот материал оказался полезным?
    Вы можете отблагодарить автора темы путем перевода средств на баланс
    Отблагодарить автора
    10 июл 2023 Изменено
  2. ТРАВМА
    ТРАВМА 10 июл 2023 Смотрит раздел Слив фотографий 18+, Только что 6737 18 окт 2019
    Респект, БАСик для наутралов получается
     
  3. Dionis
    Dionis 15 июл 2023 Заблокирован(а) 2566 12 фев 2023
    Максимально полезная статья :+rep: давно хотел такой гайд
     
  4. Melancholy
    Melancholy 15 июл 2023 Заблокирован(а) 3465 31 май 2018
    Ждём статью на запросах, а то это говно будет очень медленным :animeeat:
     
    1. Посмотреть предыдущие комментарии (2)
  5. llimonix
    Называть ресурсы по русски - это смерть :smilesuicide:
     
  6. Moon
    Moon 29 июл 2023 16 251 7 июн 2018
    Спасибо большое за статью и за подробное описание каждого шага! Написала себе простенький чекер, оказывается это всё так просто, даже можно быть конкретным чайником, но сделать себе чекер. :duck_like:
     
  7. Dzongaliei
    Dzongaliei 1 авг 2023 умная цитата 7 11 дек 2021
    Спасибо за статью, наконец то напишу свой первый чекер
     
  8. фейслесс
    Мощь братан, давно не было норм гайдов
     
  9. Miero
    Miero 31 авг 2023 ) 93 10 янв 2020
    годнейшая тема, пишу(или уже написал) себе чекер
     
  10. Taburetkochka
    Отличная статья :+rep:
     
    10 сен 2023 Изменено
  11. Борзый_неактив7608671
    Борзый_неактив7608671 30 сен 2023 Заблокирован(а) 0 19 сен 2023
    Спасибо у тебя самая лучшая статья по заработку с чекера
     
  12. 1DORTA1
    1DORTA1 12 май 2024 0 15 май 2022
    :+rep:, спасибо тебе
     
  13. DeusOff
    DeusOff 13 июн 2024 0 13 июн 2024
  14. Turan4oX
    Turan4oX 29 май 2025 0 12 дек 2024
    Как правильно создать переменные [[USERNAME]] и [[PASSWORD]] ?
     
Top