Как стать автором
Обновить

Комментарии 81

Капча суровая.
А Хаус уже давно не торт, сезона после 3-4.
И капча несурова, и Хаус — вполне ещё торт, особливо начало восьмого.
имхо, восьмой сезон «давно не торт»
имхо, социалочкой ошиблись.
Могли бы Вы назвать хоть одну причину «столь великого» различия между 4 и последующеми сезонами?
Как попугаи на 3-4 сезон сагрелись
Простите, что? «сагрелись»?
сагрились ( англ. aggro )
Хм, так судя по всему все фигуры имеют разный цвет. И все три имеют в левом нижнем углу пиксели. Сравнивая цвет там можно определить фигуру без всякой порнографии.
Даже у круга?
Кстати, у квадрата скругленные уголки.
У круга будет цвет фона
И я тут присмотрелся — цвета круга и квадрата разные.
Да, у всех четырех(перечитал) фигур будет некоторая часть общая.
Можно сделать так: опускаться с середины верхней границы (width/2, 0) вниз до тех пор, пока не встретится отличный от белого цвет, по нему и определять фигуру.
Фигуры на одном и том же месте, с разными цветами.
Вырезать три квадрата, уменьшить каждый до 1 пикселя, получить его цвет. Все.
Капчу можно вообще не ломать. Выбор всегда первого варианта даст вероятность успеха 33%, более чем достаточно для регистрации любой кучи фейков за приемлемое время.

25%!
И при этом имеем по 21-му варианту картинок на каждое из 4-х возможных значений.

Но даже при таком раскладе, лучше избегать «холостых выстрелов». И будем отрабатывать все наши 100%
ps: habrahabr.ru/blogs/infosecurity/137601/#comment_4586186
Почему 25%? 3 варианта ответа (правый, средний, левый). Всегда 1 правильный. Чистые 33% же.
Черт! Посчитал, что captcha может иметь 4-е значения…
Тогда солидарен. 33%.

Извиняюсь :) Однако замечание про «холостые выстрелы» еще в силе.
А если монитор черно-белый?
На решение обычных пользователей не влияет(нужна только фигура).
На проверку пикселя тоже. Вы не видите цвет, но на изображении он в любом случае есть.
А не проще было в параметре captcha передавать значения по порядку, до выигрышного? По-моему – самый простой и очевидный метод для данной каптчи.
Капча, которая принимает целых четыре значения?! Про брутфорс можно сразу забыть…
На самом деле 3, но при таких подсчётах обычно дают грубую оценку, так что, всё нормально.
$result = [0, 1, 2, 3]

У меня всего получилось четыре разных значения, а у вас?
Первая картинка, вторая картинка, третья картинка. В чём я мыслю не так?
Если картинки не искажаются и не меняются, то наверное можно было просто контрольную сумму подсчитать от куска куртинки?
Там одна картинка дается. login.bogi.ru/captcha.php

На ней имеется 3-и фигуры и одна надпись.

Имеем 3-и ячейки, которые могут принимать одно из 4-х значений (фигур), но при условии, что хотя бы одно из выбранных значений (фигур) будет отличным от остальных двух.
И надпись, так же может принимать одно из 4-х значений, но зависит от «уникальной» ячейки/привязывается, а значит можно не учитывать.

Можем посчитать кол-во возможных вариантов/комбинаций контрольных сумм:
4*3*3 = 36 комбинаций
––––––
поправьте, если не так посчитал :)

Тогда да – сравнивать контрольную сумму хороший вариант, а если контрольная сумма не получена, то долбить 4-е значения captcha для получения оной. Когда получим все контрольные суммы, получим выиигрыш от устранения лишних/ложных запросов.

Мне кажется всё намного проще. У вас есть 3 фигуры (треугольник-квадрат-крестик) и надпись. Положение на картинке каждого из этих объектов не меняется. Лично я бы полез в анализ графики и изображений в последнюю очередь (мне конечно нравится этот раздел науки, но тем не менее не люблю усложнять себе жизнь).

Я бы поступил проще. Если представить картинку в виде набора байт, в адресном пространстве процесса например, то пускай с N1 байта по K1 байт находится первая картинка (пускай мы не сможем точно определить диапазон, нам нужно попасть хотя бы в часть картинки), соответственно, с Ni по Ki находится «итая» картинка, в нашем случае третья. Также и для надписи высчитывается расположение Nt Kt, конечно всё это без учёта шумов и того что что-то может меняться и двигаться.

Далее высчитывается SHA1 CRC32 итд на выбор от наших диапазонов байт и тупо сравнивается с эталоном.

Всё вообщем-то, одно обращение по хттп протоколу и мы распарсили картинку.

Конечно, всё усложниться в случае добавления шумов, ротации предметов итд. В этом случае я бы открыл книги и журналы по анализу графики и разбирался бы с уменьшением шума, работой с яркостью итд.
Как высчитать где находится нужный диапазон в картинке?
Можно попробовать подобавлять всякий трэш и смотреть место появления шума. Тогда, возможно, не придётся разбираться с png форматом.
Или вообще, взять и закрасить в paint-e и посмотреть какая часть картинки поменялась.
Элегантно и просто.
Прошу прощения! Текстовое значение, в вышеописанной формуле, тоже имеет значение!
Итого: (4*3*3) + (3*4*4) = 84 возможных комбинаций

По 21-й контрольной сумме на одно из 4-х значений в параметре captcha.

ps: нет. Мой метод еще проще, т.к. вообще не подключает графическую библиотеку и сверяет только контрольную сумму изображений. По контрольной сумме изображения отдаем нужное значение captcha.
psPs: сперва просматриваю самые простейшие способы реализации задачи… (лень, такая лень :( )

Для примера, смог отловить две одинаковые картинки и сравнить их контрольные суммы: cl.ly/3d3L0n1n2k1b3E2G353C
А каким образом у вас в виндовые свойства файла добавлена панель с контрольными суммами?
HashTab или HashCheck Shell
Очень удобно :)
Так посчитайте контрольную сумму региона с текстовым значением, в чём проблема?
Для решения этой задачи не нужны никакие сторонние библиотеки, тем более графические, кстати.
Если выкинуть реализацию и объявить конкурс на самый изящный и короткий алгоритм, получился бы хороший топик.
С заголовком: «Лучший алгоритм для взлома/обхода каптчи от LostFilm»
А вообще да – было бы спортивно :)
Если картинки в одном и том же месте, то достаточно будет вырезать их из одного и того же места и сравнивать чуть ли не контрольную сумму этих картинок :).
А еще можно отойдя от цвета вычитать из картинки заготовки и оценивать яркость. Там где получится максимальная — наша картинка. На image magick это все в пяток строк уместится.
Именно так, мне кажется это проще, чем составлять матрицы. Да и без циклов.
Наверное, оптимальнее и по памяти, и по сложности.
Для скачивания Хауза есть куда более подходищие ресурсы :) LostFilm — скорее информационный.
Просто лостовские переводы авторы просят некоторое время после релиза е выкладывать нигде за пределы трекера. Так что для торопыжек лост — единственный вариант.
А оригинал на английском смотреть религия не позволяет?
Не позволяет знание языка и отсутствие желания. My little pony я ещё могу посмотреть на языке оригинала, но не Хауса с его не всегда однозначным юмором и обилием медицинских терминов. Да и вам-то какая разница?
При незнании полном согласен, но при знании базы (хотя бы на уровне чтоб смотреть «My little pony») наоборот лучше смотреть в оригинале (по началу с можно с субтитрами) очень быстро набирается скорость усвоения и словарный запас… (очень помогает в пассивном изучении языка, и толком не пытаешься учить, и само как-то запоминается, даже неизвестные слова начинают без субтитров пониматься правильно)
Ну ведь совершенно же не в этом дело. Дело в том, что каждый смотрит именно так, как ему удобно и дело отнюдь не в религии. Моё знание языка позволяет смотреть сериалы с английскими субтитрами и веб-словарём, а знание языка жены не позволяет. Смотреть с русскими субтитрами тяжело из-за отвлекателей в виде малышей. Так что дело совершенно не в религии и не в нежелании учить иностранный. в случае же с amarao, его комментарий звучал грубо и некорректно, тем более в виду того, что его реалии и желания совершенно не совпадают ни с моими, ни с аудиторией лоста. Как-то так. Прежде всего надо уважать друг-друга, а уже потом изучать иностранные. Спасибо за внимание =)
там 5 штоле часов ограничение, очень долго, да.
Внимание! Только единственный вариант правилен.
А такой вариант выпасть там не может, вроде как!
Это еще что -)

image
Легко! Радиобаттон — чем не кружок? ;)
Джекпот
Можно еще давать три фотографии, например Сталлоне, Ван Дамм и Шварценеггер. Подпись — выбери Терминатора :)
И очень хорошая защита от школьников :trollface:
не место на лостфильме тем, кто не может рембо от терминатора отличить. И точка.
Если хотите интересных развлечений — взломайте капчу на отправке СМС с сайта Киевстара…
используя перцептивный хеш (или другой алгоритм нахожления похожести изображений) вполне можно выжать вероятность угадывания 10-25%. ну и брутфорсом около 1%
Проще. Там довольно ограниченное количество изображений, несколько десятков-сотен. Раскидать их человеком по двум категориям займет несколько минут. Дальше просто сравнение с образцом.
около 100-200, но дело в том, что вносятся искажения (меняется угол поворота, степень сжатия и т.п.), поэтому простое сравнение с образцом здесь не покатит
ухтыблин, тогда конечно. Попробовать, что ли…
> Если хотите интересных развлечений — взломайте капчу на отправке СМС с сайта Киевстара
угу
ее человек не всегда проходит.
Не знаю, никогда трудностей не испытывал
а вот recaptcha…
antigate ее берет, точнее обезьянки что там сидят )
зато эту капчу им так просто не перешлешь. будет разрыв шаблона.
А нахрена вообще распознавался с вероятностью 1/3?
Капча для защиты от людей, очевидно же. Хотя до капчи Sony всё равно далеко.
лучше бы так сделали:
image
отойди на метр от монитора
что ты видишь
1. Джигурда
2. Сталлоне
3. Чак Норрис

128. НЛО

:)
Если бы такая капча стала популярной, мои глаза бы такого не вынесли >_<
Сразу видно что ты не Чак Норрис ^_^
Чак конечно!
А как это распознать роботу?
Идея! А давайте делать капчи — на естественном языке? Как только кто-то взломал — замечаем необычную активность — меняем капчу на следующую, чуть-сложнее, а автору пишем спасибо и просим исходники? Таким образом, постепенно, поимеем хороший транслятор естественных языков методом краудсорсинга:)
Какой-то топорный метод. Думал будет чего поинтересней.
плюс такой капчи, что её можно легко усложнить (по мере пробива ботами) добавлением цветов предметов «выберите красный квадрат» и расширение списка оных предметов, как чисто геометрическими (многоугольники, сложные фигуры), так и более сложными объектами и добавлением различных градиентов при генерации этих самых объектов (градиенты уже используются) без потери для обычного пользователя простоты ответа на вопрос.
Эту капчу можно пройти на джойстике от Playstation?
НЛО прилетело и опубликовало эту надпись здесь
Некрасиво. Проще и изящней однослойным персептроном, имхо. Хотя тогда смысл в статье пропал бы, ибо довольно просто.
Вот тут коллега khalitovsv сообщает — «Каждый текст и каждая фигура имеют непересекающиеся точки. Это все очень сильно упрощает»:
<?
     // грузим капчу
     file_put_contents('test.png',file_get_contents('http://login.bogi.ru/captcha.php'));
     // создаем гд объект
     $im = imagecreatefrompng('test.png');
     // узнаем что нужно выбрать
     if(imagecolorat($im,23,78)!=2147483647) {
          $text = 'triangle';
     }
     elseif(imagecolorat($im,58,78)!=2147483647) {
          $text = 'circle';
     }
     elseif(imagecolorat($im,34,78)!=2147483647) {
          $text = 'square';
     }
     elseif(imagecolorat($im,35,79)!=2147483647) {
          $text = 'cross';
     }
     echo $text."
";
     //ищем фигуру
     for($i=0;$i<3;$i++) {
          $x = 14+$i*50;
          $y = 5;
          if(imagecolorat($im,$x+20,$y+20)!=16777215) {
               $figure = 'cross';
          }
          elseif(imagecolorat($im,$x+10,$y+9)!=16777215) {
               $figure = 'square';
          }
          elseif(imagecolorat($im,$x+9,$y+15)!=16777215) {
               $figure = 'circle';
          }
          elseif(imagecolorat($im,$x+20,$y+7)!=16777215) {
               $figure = 'triangle';
          }
          if($text==$figure) { // нашли... брикаемся
               $i++;
               echo "position $i
";
               break;
          }
     }
?>
<img src="test.png" />
Да, действительно, такой вариант будет работать в этом случае. Но если изменить цвет или исказить изображение, нарисовать другую фигуру — он не подойдёт и придётся искать другой способ. Предложенный мною способ можно развить (в т.ч. и до перцептрона). Способ далеко не идеальный, поэтому спасибо всем за советы и критику!
Если будет время — постараюсь доработать этот, рассмотреть другие способы и написать пост в продолжение темы.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории