Как обойти Ascii Капчу?

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63
Пример капчи __formdesigner.ru/form/view/163865
Как подобную аски можно обойти? В прошлых версиях зенно она легко обходилась через исследование элементов- а потом нажимаешь "это капча". Но теперь он определяет только пустоту. Подскажите как лечить.
83016



И может есть идеи как это на пост-гет обходить?


По более широким параметрам удалось захватить со строчкой "Решите задачу". Но тогда вопрос как ее обрезать перед отправкой на распознавание?
 

Вложения

Последнее редактирование:

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 804
Баллы
113
Через дерево элементов успешно смог добавить в экшен распознавания капчи.

Но эту капчу можно и без сервисов распознавать: каждая цифра или знак - это таблица из пяти строк (<tr>), каждая строка состоит из 2-3 ячеек (<td>). У ячейки либо есть класс (ячейка заполнена) либо его нет (пустая ячейка).
Можно (даже стандартными экшенами) прочитать каждую таблицу и составить строку из нулей и единиц (1 - есть класс у ячейки, 0 - нету). Для каждого символа капчи будет своя, уникальная строка.
В проекте добавить таблицу, в которой в одном столбце строка из нулей и единиц, а во втором соответствующая ей цифра (таблицу нужно будет вручную составить).
Логика такая: шаблон заходит на страницу, составляет строку из нулей и единиц для каждого символа из капчи, потом из таблицы получаем нормальные цифры и с помощью экшена Javascript код решаем выражение.
 
  • Спасибо
Реакции: Dexio и trecho

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63
Через дерево элементов успешно смог добавить в экшен распознавания капчи.

Но эту капчу можно и без сервисов распознавать: каждая цифра или знак - это таблица из пяти строк (<tr>), каждая строка состоит из 2-3 ячеек (<td>). У ячейки либо есть класс (ячейка заполнена) либо его нет (пустая ячейка).
Можно (даже стандартными экшенами) прочитать каждую таблицу и составить строку из нулей и единиц (1 - есть класс у ячейки, 0 - нету). Для каждого символа капчи будет своя, уникальная строка.
В проекте добавить таблицу, в которой в одном столбце строка из нулей и единиц, а во втором соответствующая ей цифра (таблицу нужно будет вручную составить).
Логика такая: шаблон заходит на страницу, составляет строку из нулей и единиц для каждого символа из капчи, потом из таблицы получаем нормальные цифры и с помощью экшена Javascript код решаем выражение.
Не затруднит приложить ваш шаб с успешным добавлением из дерева элементов? У меня как на скрине получается
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 804
Баллы
113

Вложения

  • Спасибо
Реакции: Dexio

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63
Через дерево элементов успешно смог добавить в экшен распознавания капчи.

Но эту капчу можно и без сервисов распознавать: каждая цифра или знак - это таблица из пяти строк (<tr>), каждая строка состоит из 2-3 ячеек (<td>). У ячейки либо есть класс (ячейка заполнена) либо его нет (пустая ячейка).
Можно (даже стандартными экшенами) прочитать каждую таблицу и составить строку из нулей и единиц (1 - есть класс у ячейки, 0 - нету). Для каждого символа капчи будет своя, уникальная строка.
В проекте добавить таблицу, в которой в одном столбце строка из нулей и единиц, а во втором соответствующая ей цифра (таблицу нужно будет вручную составить).
Логика такая: шаблон заходит на страницу, составляет строку из нулей и единиц для каждого символа из капчи, потом из таблицы получаем нормальные цифры и с помощью экшена Javascript код решаем выражение.
Спасибо за шаблон!! Шикарно
Спасибо за альтернативное развернутое решение. К сожалению не до конца понимаю итоговую реализацию. А как вы видите реализацию считывания таблиц? С зенкой давно, а тут чет торможу(
 

DeMoH

Client
Регистрация
25.03.2018
Сообщения
307
Благодарностей
37
Баллы
28
Спасибо за шаблон!! Шикарно
Спасибо за альтернативное развернутое решение. К сожалению не до конца понимаю итоговую реализацию. А как вы видите реализацию считывания таблиц? С зенкой давно, а тут чет торможу(
HTML:
<table class="chr"><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td class="fld"/><td/><td class="fld"/></tr><tr><td class="fld"/><td/><td class="fld"/></tr><tr><td class="fld"/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
Это цифра = 0
<table class="chr"><tr><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/></tr><tr><td/><td class="fld"/></tr><tr><td/><td class="fld"/></tr><tr><td/><td class="fld"/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
Это цифра = 1
<table class="chr"><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td class="fld"/><td/><td/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
это цифра = 2
<table class="chr"><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
Это цифра = 3
<table class="chr"><tr><td class="fld"/><td/><td class="fld"/></tr><tr><td class="fld"/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td/><td/><td class="fld"/></tr><tr><td/><td/><td class="fld"/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
Это цифра = 4
<table class="chr"><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td class="fld"/><td/><td/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
Это цифра = 5
<table class="chr"><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td class="fld"/><td/><td/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td class="fld"/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
это цифра = 6
<table class="chr"><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td/><td/><td class="fld"/></tr><tr><td/><td class="fld"/><td/></tr><tr><td class="fld"/><td/><td/></tr><tr><td class="fld"/><td/><td/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
это цифра = 7
<table class="chr"><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td class="fld"/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td class="fld"/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
это цифра = 8
<table class="chr"><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td class="fld"/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
это цифра = 9

<table class="chr"><tr><td/><td/><td/></tr><tr><td/>
<td class="fld"/><td/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td/><td class="fld"/><td/></tr><tr><td/><td/><td/></tr></table>
это = +

<table class="chr"><tr><td/><td/><td/></tr><tr><td/><td/><td/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td/><td/><td/></tr><tr><td/><td/><td/></tr></table>
это = -
держи составил тебе по шурику)
что бы проще было определить первую цифру перед тем как вставить выше код подставляем ({html: '
а что бы определить вторую цифру поставляем перед кодом > вот и все)
 
Последнее редактирование:

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 804
Баллы
113
Каждый символ состоит из точек, в HTML это реализовано в виде таблицы (каждая точка - ячейка таблицы). Если точка заполнена, то у ячейки есть класс (<td class="fld"><td/>), если точка пустая, то класса нет (<td><td/>).
83023
Для каждого символа нужно считать каждую ячейку, при этом проверяя есть у неё класс или нет. Если у ячейки есть класс - то это 1, если нету - то 0. Значение сохраняем в строку. В итоге получим строку из 0 и 1, для каждой цифры это буде уникальная строка.
 
  • Спасибо
Реакции: Dexio

DeMoH

Client
Регистрация
25.03.2018
Сообщения
307
Благодарностей
37
Баллы
28
Каждый символ состоит из точек, в HTML это реализовано в виде таблицы (каждая точка - ячейка таблицы). Если точка заполнена, то у ячейки есть класс (<td class="fld"><td/>), если точка пустая, то класса нет (<td><td/>).
Для каждого символа нужно считать каждую ячейку, при этом проверяя есть у неё класс или нет. Если у ячейки есть класс - то это 1, если нету - то 0. Значение сохраняем в строку. В итоге получим строку из 0 и 1, для каждой цифры это буде уникальная строка.
да я ему выше дал тело цифр итд - ему проще будет понять))) скинул целую цифру как идет ответ от капчи
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 598
Баллы
113
HTML:
<table class="chr"><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td class="fld"/><td/><td class="fld"/></tr><tr><td class="fld"/><td/><td class="fld"/></tr><tr><td class="fld"/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
Это цифра = 0
<table class="chr"><tr><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/></tr><tr><td/><td class="fld"/></tr><tr><td/><td class="fld"/></tr><tr><td/><td class="fld"/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
Это цифра = 1
<table class="chr"><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td class="fld"/><td/><td/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
это цифра = 2
<table class="chr"><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
Это цифра = 3
<table class="chr"><tr><td class="fld"/><td/><td class="fld"/></tr><tr><td class="fld"/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td/><td/><td class="fld"/></tr><tr><td/><td/><td class="fld"/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
Это цифра = 4
<table class="chr"><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td class="fld"/><td/><td/></tr><tr>
Это цифра = 5
<table class="chr"><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td class="fld"/><td/><td/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td class="fld"/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
это цифра = 6
<table class="chr"><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td/><td/><td class="fld"/></tr><tr><td/><td class="fld"/><td/></tr><tr><td class="fld"/><td/><td/></tr><tr><td class="fld"/><td/><td/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
это цифра = 7
<table class="chr"><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td class="fld"/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td class="fld"/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
это цифра = 8
<table class="chr"><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td class="fld"/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td/><td/><td class="fld"/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr></table><table class="chr"><tr><td/><td/><td/></tr><tr>
это цифра = 9

<table class="chr"><tr><td/><td/><td/></tr><tr><td/>
<td class="fld"/><td/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td/><td class="fld"/><td/></tr><tr><td/><td/><td/></tr></table>
это = +

<table class="chr"><tr><td/><td/><td/></tr><tr><td/><td/><td/></tr><tr><td class="fld"/><td class="fld"/><td class="fld"/></tr><tr><td/><td/><td/></tr><tr><td/><td/><td/></tr></table>
это = -
держи составил тебе по шурику)
что бы проще было определить первую цифру перед тем как вставить выше код подставляем ({html: '
а что бы определить вторую цифру поставляем перед кодом > вот и все)
половину пятерки сперли)
 

DeMoH

Client
Регистрация
25.03.2018
Сообщения
307
Благодарностей
37
Баллы
28

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63
Логика такая: шаблон заходит на страницу, составляет строку из нулей и единиц для каждого символа из капчи, потом из таблицы получаем нормальные цифры и с помощью экшена Javascript код решаем выражение.
Ребят, спасибо большое всем за участие в этой проблеме с капчей. Но я специально на следующий день это перечитываю и не догоняю))
КАК БЛИН ШАБЛОНОМ.. перевести эти html таблички в нули и единички или просто сопоставить с цифрами решениями.
Я разве могу регексом это сделать? То каким образом примерно?
Понимаю, что для вас это само-собой разумеется... Поясните еще немного пожалуйста. По пикселю разбираю <td class="fld"/> или без <td/><td/>. Но как потом это все соединять и сравнивать?
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 804
Баллы
113
Приложил шаблон.
Чё-то я усложнил изначально всё, тут можно проще сделать.

Каждый символ в капче имеет статичный HTML код. Нужно собрать базу для всех символов - HTML код=символ.

Затем в рабочем шаблоне сохраняем HTML код символа и в базе ищем какая цифра соответствует этому коду.
Потом в экшене JavaScript вычисляем результат.

В общем, во вложении готовый шаблон :-)
 

Вложения

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63
Приложил шаблон.
Чё-то я усложнил изначально всё, тут можно проще сделать.

Каждый символ в капче имеет статичный HTML код. Нужно собрать базу для всех символов - HTML код=символ.

Затем в рабочем шаблоне сохраняем HTML код символа и в базе ищем какая цифра соответствует этому коду.
Потом в экшене JavaScript вычисляем результат.

В общем, во вложении готовый шаблон :-)
Обоги какое изящное и красивое решение, спасибо большое, что так участно обьяснили и приложили даже шаб! Для общего развития и понимания подхода и для главной задачи-просто ахриненно)
 
  • Спасибо
Реакции: nicanil

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)