|
|
|
| Уважаемые коллеги, в процессе создания программы для автопокупки предметов, я уже не один раз обращался к вам за помощью . Увы, работа не давала закончить сей труд, но вот оказавшись в отпуске, мой детеныш снова меня затеребил :) Посидев пару дней я приблизился к финальной части программы, но столкнулся с неразрешимой для себя задачей.
Итак, есть форма:
<form action="haggle.phtml" name="haggleform" method="post">
Your Offer: <input type="text" name="current_offer" value="0" size="5" maxlength="8">
<input type="image" src="/captcha_show.phtml?_x_pwned=df9d2312ecd966f33f1f87fbf22b65f8">
</form>
| При нажатие на картинку происходит отправка данных:
current_offer – цена предмета
x и y – координаты мыши
Чтобы успешно осуществить сделку требуется кликнуть на зверька (обведен на картинке красным цветом). Каждый раз его положение на картинке генерится заново. Как можно из этих координат "df9d2312ecd966f33f1f87fbf22b" получить значения для вычисления любой находящейся «внутри» зверька координаты по x и y?
Картинка тут:
http://www.neopets.com.ru/other/captcha_show.jpg | |
|
|
|
|
|
|
|
для: Indemion
(08.11.2007 в 12:42)
| | Т.е. узнать на чем жмут, на зверьке или нет? Ну если это и известны координаты самого зверька при наложении его на основное изображение, то не трудно это вычислить. | |
|
|
|
|
|
|
|
для: sim5
(08.11.2007 в 12:51)
| | Так вот мне и нужно послать правильные координаты, но как вычислить их по картинке я не знаю. | |
|
|
|
|
|
|
|
для: Indemion
(08.11.2007 в 13:04)
| | Ну вы же накладываете этого зверька на изображение, значит можете сохранить его левые верхние кординаты и размер, например, в сессии. Получив потом координаты от кнопки, достаточно обычной арифметикой вычислить находятся ли они в области координат зверька. | |
|
|
|
|
|
|
|
для: sim5
(08.11.2007 в 13:07)
| | Не я накладываю. Мне выдается готовое изображение зверька, которое видимо генерится на сайте. Что есть это "_x_pwned=df9d2312ecd966f33f1f87fbf22b65f8" - не знаю, может № картинки в базе данных.
Вообще посетила такая идея. Я могу раздобыть картинку без зверька (№1) и взять эту картинку со зверьком (№2). Но как при наличии эти двух картинок "отнять их друг от друга" и получить только зверька в чистом виде? | |
|
|
|
|
|
|
|
для: Indemion
(08.11.2007 в 13:21)
| | Тогда конечно не узнать. Но тогда лучше добавить картинке маппинг, вот только маппинг на SUBMIT не пробовал, будет ли работать как надо. Но можно попробовать. Или другое продумать, связанное с мапом.
PS. А почему не вы накладываете, кто скрипт пишет, и кто выдает готовое? | |
|
|
|
|
|
|
|
для: sim5
(08.11.2007 в 13:26)
| | Я пишу скрипт автопокупки из магазина в браузерной онлайн-игре. Там все картинки и генерятся. А я уже подлажу через соккет, собираю информацию, фильтрую и вот, дошел до такой заморочки с картинкой. :) | |
|
|
|
|
|
|
|
для: Indemion
(08.11.2007 в 16:21)
| | Ничего не пойму, кто эти координаты проверяет вы или кто-то на стороне (в игре)? | |
|
|
|
|
|
|
|
для: Indemion
(08.11.2007 в 16:21)
| | тут возможно вам поможет что типа распознавания картинки определния цветов и тд, я такое читал в статье по взлому каптчи :) | |
|
|
|
|
|
|
|
для: KPETuH
(08.11.2007 в 16:39)
| | Ну если проверку "горячей области" делает кто-то, то зачем ее узнавать? Тыкать прямо в пупок зверьку, не ошибешься :-)) Или я не врубаюсь в задаче, чтобы автоматом? :) | |
|
|
|
|
|
|
|
для: sim5
(08.11.2007 в 16:42)
| | я так понял пишут бота для онлайн игры :) | |
|
|
|
|
|
|
|
для: KPETuH
(08.11.2007 в 16:49)
| | Ну тогда вырезать из зверька часть изображения 16х16 рх, например, и использовать ее как маску для поиска по изображению. Если палитра изображения не меняется, то по идее должно получиться. | |
|
|
|
|
|
|
|
для: sim5
(08.11.2007 в 16:51)
| | Он полупрозрачный и каждый раз занимает разное место на странице.
Вот и у меня есть идея искать по палитре. Можно как-то сравнить две картинки? Пустая и со зверьком, а найдя точку отличия узнать координаты точки? Если можно, то как? | |
|
|
|
|
|
|
|
для: Indemion
(08.11.2007 в 16:58)
| | Можно конечно, получая индекс цвета пикселя в указанной координате.
PS. Если первый попавшийся цвет индекса не совпадает с индексом исходного (пустого) изображения, то это верхние левые координаты. Добавляем примерную ширину и высоту зверька, находим середину - по идее как раз пупок его будет :-) Можно так попробовать. | |
|
|
|
|
|
|
|
для: sim5
(08.11.2007 в 16:51)
| | Нет, зверек полупрозрачный.. Я бы вот что посоветовал: нужно определить координаты круга (левый край, верхний, правый и низ), и послать среднее между ними. Красный в приведенной картине - это что то ~250 ~100 ~80 (RGB). Проанализировать несколько таких картинок и вперёд :) | |
|
|
|
|
|
|
|
для: kasmanaft
(08.11.2007 в 17:00)
| | - | |
|
|
|
|
|
|
|
для: kasmanaft
(08.11.2007 в 17:31)
| | Дело в том, и это моя вина, что круг нарисовал я - для наглядности (вдруг кто зверька не заметит).
Чистая картинка, без круга, выглядит так: http://www.neopets.com.ru/other/captcha_show2.jpg | |
|
|
|
|
|
|
|
для: Indemion
(09.11.2007 в 10:37)
| | Тьфу блин :))
А я ее вчера-таки "взломал" ... (никогда ничем подобным не занимался, интересно стало)
Минут за 20... Еще удивлялся: что за защита такая, легко так обходится :)
Если интересно, код прикреплю :) | |
|
|
|
|
|
|
|
для: Indemion
(09.11.2007 в 10:37)
| | А почему "зверек" прозрачный? Не видно такого. | |
|
|
|
|
|
|
|
для: sim5
(09.11.2007 в 12:48)
| | Потому и не видно :))
PS он полупрозрачный... Может быть прозрачность 1%, а цвета уже другие...
Если присмотреться, через правое ухо можно куст разглядеть. | |
|
|
|
|
|
|
|
для: kasmanaft
(09.11.2007 в 13:06)
| | Отметьте пожалуйста красным это место - не вижу :)) | |
|
|
|
|
|
|
|
для: sim5
(09.11.2007 в 13:22)
| | Спасибо. Код изучаю - может придет идея.
Вообще не верится, что люди создали абсолютную защиту для магазина. Я потихоньку пролезал сквозь эти дебри и вот в конце такая штука. Буду думать. Ведь уже написал много других программ: паук-собиратель линков для поиска квестов, квестосборщик, рыболов, обходчик ежедневных событий, автопокупка в частных магазинах и т.п. А вот тут такой косяк :) | |
|
|
|