• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Как я решал капчу на коленке с помощью AI

onTAKE

HDD-drive
Пользователь
Регистрация
22.06.2022
Сообщения
41
Реакции
42
Всем привет.
Решил написать для вас статью, как я решал капчу на коленке с помощью ИИ.
В этой статье я покажу процесс решения капчи со своего компа через AI(локально) без регистраций на самом сайте и т.д.
Только техническая часть.
И так, к делу.
Как-то давно мне на форуме Зеннолаба попалась программа Lobe.ai.
В то время(примерно 3 года назад) данная программа была в бета-тесте, имела свой сайт и развивалась, но Microsoft решила забить на нее огромный болт.
В данный момент при заходе на сайт происходит редирект на https://github.com/lobe.
Разработка остановлена.
Exe-шник очень тяжело было найти(потратил час, нашел только новую версию с критическим багом).
Благо помог «Вебархив» и получилось скачать старую стабильную версию.
Lobe Installer 0.10.1130.5 —> скачать
Данная программа умеет распознавать картинки по классификациям, то есть может отличить собаку от кота и так далее.
В планах у разработчиков было определение объектов на картинке, но, к сожалению, не добавили.
UPD: пока писал статью, нашел аналог программы "Lobe" —> называется "EzAI" (https://aifor.study/).
Тоже бесплатная.
И, о чудо, тут есть распознавание объектов на фото(может одновременно распознать собаку и кота на фотографии).
EzAI —> скачать
Приступим к работе👨‍💻.
Первым делом нам нужно скачать Lobe или EzAI к себе на компьютер/рабочий дедик, куда вам удобнее.
Устанавливаем.
Обе программы очень легкие в освоении, разберется даже ребенок.
Чуть ниже прикреплю вам видео с полной работой в программе.
Начнем с Lobe
Видео работы[Загрузил на RuTube]:​
Нажимаем кнопку «New Project».
В открывшемся окне пишем название проекта.
Далее нам необходимо загрузить изображения для обучения.
Существует два варианта:
  1. Можно вручную перетащить изображения и присвоить каждой из них класс.
  2. Либо загрузить папку с картинками.
    В этом случае программа автоматически присвоит класс всем изображениям в этой папке.
Например, в папке «dataset» могут быть две подпапки: «cat» и «dog».
В папке «cat» содержится 50 изображений котов, а в «dog» — 100 изображений собак.
Программа присвоит картинкам с собаками классификацию "dog", котам "cat".
Чтобы загрузить картинки в программу, нажимаем кнопку «Import» — потом «Dataset».
Выбираем папку «dataset» и нажимаем «ОК».
Программа спросит, хотите ли вы автоматически присвоить метки изображениям от названия папок или указать их вручную.
Выбираем опцию «Label using folder name» и нажимаем кнопку «Import».
С котятами и собачками, надеюсь, всё понятно, теперь перейдем к самой капче.
Теперь переходим к главному.
Возьмем для примера сайт www.linkedin.com.
У меня при регистрации появляется капча с животными.
Нужно выбрать оленя, который должен стоять ровно.
1735398027852.png

Первым делом надо собрать базу картинок.
Нам нужно собрать хотя бы 10 правильных картинок и 50+ неправильных.
Не забывайте, чем больше картинок, тем лучше.
Собрать можно через ZENky (ZennoPoster) или BAS.
Пример, как я собирал картинки, вы сможете увидеть в моем шаблоне в конце статьи.
Я собрал 80 неправильных и 17 правильных «оленей».
Запустил 30 раз шаблон, и получилось 30 успешных токенов, а это значит, что капчу всегда правильно отгадывало.
На разных сайтах разная капча.
Эта капча легкая, поэтому ее можно спокойно гадать через ИИ локально на своем пк.
Видео Lobe Олени:
Тоже самое видео, только с другой программой - EzAI:
После того как мы обучили модель, нам нужно перейти во вкладку «Use» (для Lobe) или «Play» (для EzAI) и нажать кнопку Export.
Для Lobe выбираем "Lobe Connect".
Для EzAI выбираем "EzAI Connect".
Там будет ссылка.
Она нам нужна для POST запроса в Зенке.
В POST запрос мы будем подставлять картинку, закодированную в Base64.
Программа нам вернет ответ, соответствует ли картинка данной классификации.
Для разгадывания капчи проект в программе всегда должен быть открыт.
В проджектмейкере нам нужно будет изменить пару переменных:
1) AI_SERVER_PORT_EzAI - сюда вставляем ссылку с программы EzAI
2) AI_SERVER_PORT_LOBE - сюда вставляем ссылку с программы LOBE
3) AI_SERVER_CHOISE - сюда вставляем слово "LOBE" или "EzAI" (смотря какой программой будете пользоваться).
Мой шаблон можно будет скачать в конце статьи.
Шаблон делался по-быстрому поэтому переменные редактируем в самом проджектмейкере.
Видео решение капчи в Zennoposter:

Думаю много вопросов возникло: как я решал капчу в браузере без открытия самого сайта Линкедина.
Не буду сильно вдаваться в подробности...
Почти любую капчу можно открыть у себя в браузере зная всего лишь токен (как это делают сервисы по распознаванию капч).
Токен можно найти на самом сайте линкедина при регистрации.
Переходим на страницу с регистрацией.
Открываем "DevTools" вкладку "Network".
Вводим почту и пароль, потом имя и фамилию аккаунта и после этого должна появится капча.
В "DevTools" мы увидим такой запрос: "https://client-api.arkoselabs.com/fc/gt2/public_key/9E881D9A-F495-4A23-BE4B-16067FF8CC3B".
Нам нужен ключ - "9E881D9A-F495-4A23-BE4B-16067FF8CC3B"
Теперь создаем html файл с таким кодом:
HTML:
<!DOCTYPE html><html>
<head>
    <title>FunCaptcha</title>
    <script src="https://client-api.arkoselabs.com/fc/api/?onload=loadArkoseEnforcement" async="" defer=""></script>
    <style>
      body {
        text-align: center;
        margin-top: 100px;
      }
      #captcha {
        margin: 10px;
      }
      #submit-btn {
        background-color: green;
        color: #fff;
        font-size: large;
      }
      #submit-btn.disabled, #submit-btn:disabled {
        background-color: red;
        color: #fff;
        font-size: large;
      }
    </style>
  </head>
  <body>
    <h1>FunCaptcha</h1>
    <form method="post" action="/check">
      <div id="arkose"><div id="FunCaptcha"><iframe frameborder="0" scrolling="no" id="fc-iframe-wrap" class="fc-iframe-wrap" aria-label=" " style="width: 450px; height: 311px;" src=""></iframe></div>
      <input type="hidden" id="verification-token" name="verification-token" value="">
      <input type="hidden" id="FunCaptcha-Token" name="fc-token" value=""></div>
      <input id="submit-btn" type="submit" value="Submit" disabled="">
    </form>

    <script type="text/javascript">
      var log = (console && console.log) || function() {};
      var fc = null;
      function loadArkoseEnforcement() {
        fc = new ArkoseEnforcement({
          public_key: "9E881D9A-F495-4A23-BE4B-16067FF8CC3B",
          surl: "https://client-api.arkoselabs.com",
          styletheme: "default",
          target_html: "arkose",
          capi_mode: "inline",
          onsuppress: function() {
            log("Suppressed");
          },
          callback: function() {
            log("Played");
            var submitButton = document.getElementById('submit-btn');
            submitButton.disabled = false;
          }
        });
      }
    </script>
</body></html>

В этом коде нужно править только данную строку:
public_key: "9E881D9A-F495-4A23-BE4B-16067FF8CC3B"
Еще бывает нужно править эти 2 строки (от сайта к сайту может меняться сервер у фанкапчи) :



После создания html-файла пробуем его открыть локально через Chrome.
Должна появиться капча.
Теперь всё это можно интегрировать в Зенку.

Если скопируете код, который выше, то у вас должна открыть фанкапча с оленями от Линкедина.
Так же данный html файл находится в папке с проектом под названием "index.html"
Я не смотрел насколько сложные запросы у линкедина, но получается есть 5 способов как решить данную капчу:
1) Регистрируем аккаунт через ВЕБ и тут же решаем кликами фанкапчу через локальный ИИ (Lobe и тд)
2) Регистрируем аккаунт через ЗАПРОСЫ + локально у себя на пк решаем капчу и получаем токен. Потом токен подставляем в запрос и регистрируем аккаунт (Lobe и тд)
3) Регистрируем аккаунт через ЗАПРОСЫ + токен фанкапчи получаем через сервисы по распознаванию капч (рукапча и т.д.)
4) Регистрируем аккаунт через ВЕБ + токен фанкапчи получаем через сервисы по распознаванию капч (рукапча и т.д.)
5) Регистрируем аккаунт через ВЕБ + отправляем картинку с фанкапчой на сервисы по распознаванию капч (рукапча и т.д.)
Как делал я:
Фанкапчу решал в браузере через прокси, подставлял токен в необходимый мне запрос (к примеру, отправка сообщения или регистрация).

С какими проблемами я столкнулся:
1) Если пустить много потоков на распознавание капчи, начинает показывать сложную капчу. Нужно дать проксям таймаут.

Нюансы:
если вы по какому-нибудь параметру не нравитесь фанкапче, то она может вам показать не оленя, а что-нибудь по сложнее.
И попыток будет не одна, а 10+.
Проверяйте на основном устройстве какую капчу вам показывает, а потом уже отталкивайтесь от этого.
Вы можете спросить, почему бы не использовать сервисы для решения капчи?
Я сразу же отвечу, что уже пытался это делать.
Я использовал сервисы, которые решают капчу по токену.
Поначалу у меня получалось, но со временем капча адаптировалась, и сервисы стали выдавать ошибки распознавания.
Можно решать просто по картинкам, но зачем, если у нас есть AI?
Советую присмотреться к программе EzAI, т.к. там есть распознавание объектов.
Можно будет легко решать такую капчу, хотя классификации тоже должны подойти.

В этой статье я хотел поделиться с вами способом, который позволит вам почти бесплатно разгадывать несложные капчи.
Единственные расходы, которые вам потребуются — это покупка прокси.
Эти программы можно использовать не только для фанкапчи, а также и для других капч, которые существуют в нашем мире.
Файлы:
Скачать шаблон —> скачать
Dataset с оленем находится в папке с шаблоном "funcaptcha_images/dataset"
Dataset с собакой и котом находится в папке с шаблоном "funcaptcha_images/dataset_animals"
Видео 15 из 15 успешных выполнений:
 
Your article was good, and the topic was quite interesting. I just think that if you work a bit on the formatting like adding clearer headings, some images, or relevant code it would make it easier to read and look more professional. Also, adding a bit more detail and some practical examples might make it even more impactful. Good Luck
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх