Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Капча ВК (https://forum.antichat.xyz/showthread.php?t=181621)

Primat6202 24.02.2010 20:01

Капча ВК
 
Среда:c++ builder
задача:вывести капчу в tbitmap или timage.
подскажите пожалуйста, трое суток голову ломаю :confused:

Chrome~ 24.02.2010 20:50

В чем проблема?

Отправляем какой-нибудь POST запрос. Скажем, тот же POST запрос при авторизации. Сервак может ответить, что требуется ввести капчу. Признаком этого служит значение captcha_sid, которое приходит нам в ответе. Используя это значение, скачиваем капчу, сохраняем либо в памяти, либо на жестком диске, и потом выводим в Image.

Zuldrak 24.02.2010 20:53

Тож интересует этот вопрос, вот например http://vk.com/captcha.php?s=1&sid=310888503411 как его сохранить в timage ?

RedFern.89 25.02.2010 00:37

на тебе пример на Delphi. думаю сможешь перевести

Код:

uses jpeg;

.........

var
  Img : TJpegImage;
  Ms  : TMemoryStream;
begin
  Img := TJpegImage.Create;
  Ms := TMemoryStream.Create;
// Запрашиваем картинку и пишем ее в память
  Http.Get('http://vkontakte.ru/captcha.php?s=1&sid=' + sid, Ms);
  Ms.Position := 0;
// Грузим картинку из памяти
  Jpg.LoadFromStream(ms);
  Image1.Picture.Graphic := jpg; // Отображаем в Image1
// Чистим память
  jpg.Free;
  Ms.free;
end;


Zuldrak 25.02.2010 09:54

Огромное СПАСИБО

Zuldrak 25.02.2010 09:59

Задам прям тут даб темы не плодить. Раньше я где т находил исходник проги на делфи которая по маске разбирает цифры и буквы на данной ей картинки. Брал вроде с хакера а щас чет не найти . У кого есть дайте ссылочку

Dark_Scorpicore 25.02.2010 10:07

Цитата:

Сообщение от Zuldrak
по маске разбирает цифры и буквы на данной ей картинки.

Такое с контактовской каптчей не пройдет, слишком уж сложная она. Неужели ты думаешь, что такой код, разгадывающий каптчу, даже если бы его написали, был бы выкинут в паблик? ИМХО, программно можно разгадать лишь каптчи вроде такой (ну и различные вариации)

Zuldrak 25.02.2010 10:55

Я говорю есть в нете исходник проги.в проги вы выбираете картинку которая идет с ней и она пишет цифры и буквы которые на ней. Про контакт я не слова не говорил

cel 25.02.2010 11:05

Это анти-капча пример на Delphi ,там не прога распазнаёт а Китайцы)

Zuldrak 25.02.2010 11:07

Да нет же,там есть картинки и она сравнивает с ними

RedFern.89 25.02.2010 11:10

в контакте в прринципе не такая уж и сложная капча (с параметром "&s=1") думаю FineReader смог бы опознать))

Fliplab 25.02.2010 12:04

Zuldrak на счес капчи,попробуй для начала ее сделать чернобелой,далее увеличь резкость и сделай символы максимальна тонкими. Потом читай побайтно и определяй что за символ.

Fliplab 25.02.2010 12:09

Блин заинтриговал прям.буду теперь сидеть и разбирать её

Zuldrak 25.02.2010 13:44

Че никто не видел такую прогу

RDL_Rider 25.02.2010 14:00

Цитата:

Сообщение от Zuldrak
Да нет же,там есть картинки и она сравнивает с ними

имхо бесполезно, т.к. капчи генерятся абсолютно случайно, с абсолютно случайными сочетаниями букв и цифр, а также с абсолютно случайными смещениями каждой цифры/буквы относительно 0:0

Для автоматического распознавания символов нужно сначала отделить эти символы друг от друга, что довольно проблематично, если они соединены. Затем необходимо скелетизировать и подавать их на вход обученной нейросети.

RedFern.89 25.02.2010 14:08

незабвайте, что помимо символов, картинка так же содержит кривые линии и т.д. шансы автоматического опознания практически равны 0

Zuldrak 25.02.2010 14:10

Вы мне не объясняте а исходник той программы дайте которую я выше описал в нете она есть

Kaimi 25.02.2010 14:12

Цитата:

Вы мне не объясняте а исходник той программы дайте которую я выше описал в нете она есть
У нас его нет. Гуглить умеешь сам наверное. Тема исчерпана?

RedFern.89 25.02.2010 14:18

я думаю за сутки работы, можно и написать такую прогу. я бы и написал, однако хз, как с графикой работать.. тока основами владею

Fliplab 25.02.2010 15:37

Сорс называется ocr-characters-recognize,есть на сайте delphisources.ru

Zuldrak 25.02.2010 17:28

Нет не тоното уже близко

Zuldrak 25.02.2010 17:43

Image1.Picture.Graphic := jpg; // Отображаем в Image1

как в c++ это сдлеать чет не доходит

Kaimi 25.02.2010 18:24

Цитата:

Image1.Picture.Graphic := jpg; // Отображаем в Image1

как в c++ это сдлеать чет не доходит
И в гугле забанили вдобавок?
Например:
Код:

TJPEGImage *jp = new TJPEGImage();
AnsiString data = IdHTTP1->Get("http://mail.oru.ru/registration.php");
int pos1 = data.Pos("image.php?n=");
int pos2 = data.Pos("\" border=\"1\" width=\"197\" height=\"40");
AnsiString picurl = data.SubString(pos1,pos2-pos1);
TStream *lol = new TMemoryStream();
IdHTTP1->Get("http://mail.oru.ru/"+picurl, lol);
lol->Seek(0,  soFromBeginning);
jp->LoadFromStream(lol);
Image1->Picture->Assign(jp);


RedFern.89 25.02.2010 18:31

кстати да! Assign лучшее присвоение в своем роде))

1n0y 25.02.2010 19:01

чуваки, разгадывающие капчу вк - http://forum.antichat.ru/thread178309-%F0%E0%F1%EF%EE%E7%ED%E0*.html

Go0o$E 25.02.2010 21:26

2 Zuldrak
http://www.rapidshare.ru/1392618

sn0w 26.02.2010 12:25

файнридер может?)) а поповоду детекта капчи - людской фактор имхо, либо фейк)

sn0w 26.02.2010 12:35

Цитата:

Сообщение от Zuldrak
Я говорю есть в нете исходник проги.в проги вы выбираете картинку которая идет с ней и она пишет цифры и буквы которые на ней. Про контакт я не слова не говорил

был отличный и довольно старый пример на codeproject.com, назывался както dmnist , жаль не помню точно. обучаемая нейросеть, распознавание цифирей, обучение сети, ща посмотрел - много наклонировали, и на sourceforge и на том же кодпрожекте

Fliplab 26.02.2010 12:36

Так,кто подскажет как в капче убрать задние линии?по капче заметно,что это градиент такой же как у цифр справа на лево.и второй вопрос как отделить символы?делая их слишком тонкими 9 как q может определиться.и на счет шрифта,она использует таймс.максимум чево я добился,это убрал задний фон и минимально разделил символы

RedFern.89 26.02.2010 15:35

вообще думаю так. Символ - это объект, который больше, чем линия, т.е. надо искать, там где кончается символ, и в конце символа ставить белый фон чтоле. Простите, если сказал бред. Но все же может чем то помогу

1n0y 26.02.2010 20:43

http://forum.antichat.ru/showpost.php?p=1936897&postcount=19

Цитата:

Сообщение от nMonkn
Новый хрумер будет уметь ВК капчу распозновать.
Покупаешь его и спамишь сколько душе угодно.
Рефку дать?)

всё реально, как аказалось..

WanSider 28.02.2010 07:05

Помучался немножко сегодня с этой капчей, получилось лишь слегка расчистить. С линиями еще побьюсь, но вопрос:

Как организовать сравнение с эталоном? Буквы выкручены волнами и совпадать будут на малый процент. А все образцы насколько я понимаю собрать почти нереально.

Может кто-то механизм объяснить?

P.s.: пока у меня получилось вот так очистить. Надеюсь дальше больше.
http://dump.ru/viewer/preview/biggest/4374722.jpg

Скачать файл VkCapcha-Looker.exe

RDL_Rider 28.02.2010 13:20

Изображение справа-внизу лишнее, имхо. Терь нужно отделить символы друг от друга и сравнивать с эталонами.

Fliplab 01.03.2010 11:12

Вобщем заменяй еще в цветной пиксели линий на белый. Только смотри чтоб в букве ево не было.в общем получаца тонкие линии.

W!z@rD 01.03.2010 11:22

довольно интересно, но проблема в том что буквы искажены. Эталоны эталонами, но имхо тут другой путь нужен.

Fliplab 01.03.2010 11:42

Ты не прав если при полной очистке резать на буквы и делать их чуть толще то сравнение получица.вобще надо посмотреть сорс антикапчи для даталайф.там тоже буквы искажает,но они с этим боролись.

W!z@rD 01.03.2010 13:06

> Ты не прав если при полной очистке резать на буквы и делать их чуть толще то сравнение получица.

толще?
как ты будешь определять в какую сторону делать букву "толще"?

Fliplab 01.03.2010 14:30

Зачем тебе делать в сторону?делать на надо полностью всю.мне кажется ты не совсем понимаешь алгоритм сравнения с эталоном.

Fliplab 01.03.2010 14:33

В даном случае погрешность пападания будет всегда,ее надо посчитать и учесть.это не капча летитбита где попадание сто.

RDL_Rider 01.03.2010 21:05

Наоборот, нужно отделять символы друг от друга и делать их ТОНЬШЕ! А потом уже распознавать каждый символ по отдельности.


Время: 04:12