Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Работаем с anti-captcha.com на ассемблере |

10.05.2009, 15:24
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме: 4137635
Репутация:
2407
|
|
Работаем с anti-captcha.com на ассемблере
По просьбе некоторых участников форума написал на ассемблере несколько процедур для работы с сервисом anti-captcha.com, спроектировал процедуры так, чтобы они могли в несколько потоков одновременно работать.
Для теста написал программу, которая может распознавать капчи в несколько потоков:
Скачать исходники + exe
Подробное описание кода
|
|
|

10.05.2009, 15:35
|
|
Постоянный
Регистрация: 29.04.2007
Сообщений: 496
Провел на форуме: 2715445
Репутация:
588
|
|
мне кажется, лучше бы было сделать dll, в экспорт вывести пару функций и приложить подробное описание, чтобы можно было бы заюзать в любом софте. было бы полезнее 
|
|
|

10.05.2009, 17:21
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме: 4137635
Репутация:
2407
|
|
мне кажется, лучше бы было сделать dll, в экспорт вывести пару функций и приложить подробное описание, чтобы можно было бы заюзать в любом софте. было бы полезнее
Собрал dll и дополнительную версию проги для тестирования, которая работает с этой dll. Немного оптимизировал функции по размеру, dll получилась всего 4кб.
Описание функций, экспортируемых dll:
AntiCaptchaInit - вызывается для инициализации работы с антикапчей, ей не надо передавать параметры, вернет 0 в случае успеха.
AntiCaptcha - вызывается для отправки изображения на сервер. Вернет 0 в случае успеха или код ошибки.
Параметры:
Код:
AntiCaptcha PROC,
[указатель на память, куда записывать ID капчи - буфер не менее 30 байт, туда будет записана строка],
[указатель на строку с ключом антикапчи],
[1 или 0 - состоит ли капча из нескольких слов],
[1 или 0 - регистрозависима ли капча],
[1 или 0 - состоит ли капча только из цифр],
[минимальная длина капчи],
[максимальная длина капчи],
[указатель на строку с расширением, например, "jpg"],
[указатель на строку с типом, например "image/jpeg"],
[размер картинки в байтах],
[указатель на память, где загружена картинка]
Все параметры - DWORD.
AntiCaptchaAnswer - вызывается для получения распознанного варианта или статуса распознавания. Вернет 0 в случае успеха или код ошибки.
Параметры:
Код:
AntiCaptchaAnswer PROC,
[указатель на память, куда записать ответ],
[указатель на память с ID капчи, полученный с помощью предыдущей функции],
[указатель на строку с ключом антикапчи]
Все параметры - DWORD.
Коды возвращаемых функциями ошибок:
Код:
1 - ошибка при создании сокета
2 - ошибка при подключении
4 - ошибка при создании запроса
5 - ошибка при отправке данных
6 - ошибка при получении данных
7 - слишком большой ответ сервера
10 - капча пока не распознана
11 - неверный ключ
12 - все работники пока заняты
13 - нулевой баланс на аккаунте
14 - несуществующий ID капчи
20 - неопределенная ошибка
Еще две функции - SocketInit и SocketCleanup (им не надо передавать параметры) - это простые переходники для функций Win32api WSAStartup и WSACleanup, на всякий случай.
Скачать можно по той же ссылке в первом посте.
Последний раз редактировалось d_x; 11.05.2009 в 12:24..
|
|
|

10.05.2009, 17:45
|
|
Познающий
Регистрация: 28.09.2008
Сообщений: 43
Провел на форуме: 1136649
Репутация:
25
|
|
извините за оффтоп но можно сделать автособиратель на http://rublik.ru ?
|
|
|

11.05.2009, 01:28
|
|
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме: 991929
Репутация:
395
|
|
опиши что вообще делает эта программа? для чего она?
|
|
|

11.05.2009, 01:35
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме: 4137635
Репутация:
2407
|
|
Есть ресурс такой, anti-captcha.com, достаточно известный, для распознавания капч. У них есть свое api, и я написал несколько процедур для работы с ним. Программа - просто для теста их работы, зато прилагается еще dll, которая может работать с любым языком.
Для чего нужно распознавать капчи - догадайся сам-)
Вообще, код с описанием в образовательных целях хорошо пойдет - там мьютексы, потоки, сокеты...
Последний раз редактировалось d_x; 11.05.2009 в 01:38..
|
|
|

11.05.2009, 10:05
|
|
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме: 991929
Репутация:
395
|
|
перечитал стаью в поисках ошибок... вроде ничего кроме непонятного мне цикла с virtualAlloc в самом начале. дааа d_x ты маньяк!!!  у меня конечно тоже есть программы в ~1000 строк кода на winAPI (помню делал собственную прорисовку всего интерфейса - скин, кнопочки цвет меняют все в общем крута
exe )
но чтобы такое да на асме вай верх ппц 
теперь научись делать UNICODE версии прог, потомучто все операции со строкам выше win9X ядро венды производит в UNICODE,а функции с дополнением *A (MessageBoxA...) затрачивают время на выделение памяти и конвертирование строк в UNICODE
я вот думаю если извращатся то уж по полной ! не юзать invoke, констант, описывать все нужные экспортируемые функции и тд  изучаю fasm хех
разницы между размером exe миимальной winAPI проги в masm32 и VS2008 я не заметил (ну конечно надо с бубном танцевать там долго чтобы получить результат)... дело вкуса! 
|
|
|

13.05.2009, 00:04
|
|
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме: 991929
Репутация:
395
|
|
2 d_x : я тебя сделаю!  я накатал ща на masm-е пакетный сниффер в 3,5 кило хехе (правда функциональности в нем пока ноль, но уже уммет скидывать дамп входящего - исходнящего траффика на диск)
вопрос в асме есть указатели? или придется вот таким тупым макаром структуры разбирать
mov eax,offset buf
mov eax,[eax+2]
??? а то я как бе не знаю ) хех
|
|
|

13.05.2009, 00:24
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме: 4137635
Репутация:
2407
|
|
Ну я как бы ни с кем не соревнуюсь, я просто ради интереса и практики софт писал, недавно изучив асм.
вопрос в асме есть указатели? или придется вот таким тупым макаром структуры разбирать
mov eax,offset buf
mov eax,[eax+2]
Что ты здесь подразумеваешь под указателями? Они там конечно есть, они постоянно используются, offset buf - это указатель.
Насчет структур - можно так (привожу кусок своего кода):
Код:
.data?
AC_SocketAddress sockaddr_in <>
;...
.code
MOV AC_SocketAddress.sin_addr,EAX
invoke htons,80
mov AC_SocketAddress.sin_port,AX
MOV AC_SocketAddress.sin_family,AF_INET
|
|
|

13.05.2009, 00:51
|
|
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме: 991929
Репутация:
395
|
|
ну я имею ввиду нечто вроде
Код:
typedef struct gg
{
unsigned long a;
unsigned long b;
unsigned char c[16];
}
gg;
gg *ukaz;
ukaz=(gg *)(buffer);
printf("%d",ukaz->a);
чтобы как бы удобненько пользоватся. для снифака это особено актуально структуры пакетов, заголовки и тд
такое можно реализовать на асме?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|