ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

WMCollector - сборщик WM бонусов
  #1  
Старый 27.10.2009, 19:39
Аватар для 0rs
0rs
Познающий
Регистрация: 30.12.2008
Сообщений: 64
Провел на форуме:
647156

Репутация: 76
Отправить сообщение для 0rs с помощью ICQ
По умолчанию WMCollector - сборщик WM бонусов

WMCollector

Сборщик WMR, WMZ, WMB бонусов с различных сайтов, которые их предоставляют.
Не стоит думать что при помощи этого можно разбогатеть, скорее поднять BL, хотя это тоже сомнительно (пока тестировал получил около 50 бонусов, а BL все 0).

Возможности
  1. Поддержка плагинов.
  2. Работа через http или socks прокси (Библиотека для работы с http).
  3. Распознавание капчи через Cap OCR System, antigate.com (библиотека для антикапчи) или вручную.
  4. Возможность работы в автоматическом режиме (с параметром auto) - можно поставить в планировщик на ежедневное выполнение.
Многопоточности нет, и трудно представить как она будет выглядеть при использовании плагинов, но думаю она пока и не нужна.
Скачать можно тут: Бинарники Исходники Плагины

Код самой программы, описывать не надо - он достаточно хорошо комментирован. Более подробно следует остановиться на написании плагинов.

Создание плагинов
Понадобятся:
  1. SharedTypes.pas и исходники плагина wmcasher (в качестве примера)
  2. Delphi или другой компилятор
  3. Браузер (я использовал Opera)
  4. Перехватчик HTTP запросов (HTTPLook или плагин к фаерфоксу)
Запускаем HTTPLook и браузер, переходим по адресу http://wmcasher.ru/. Затем находим форму получения бонуса, кликаем по капче правой кнопкой мыши и в свойствах видим ее адрес:
Код:
http://wmcasher.ru/captcha/?background_color=255,249,188
Посмотрим как же происходит получение капчи. Для этого нажимаем кнопку Start в HTTPLook, предварительно очистив кукисы (в Опере Инструменты\Быстрые настройки\Настройки для сайта\Cookies). Переходим по ссылке с капчей и смотрим что нам показывает HTTPLook.
Запрос браузера:
Код:
GET /captcha/?background_color=255,249,188 HTTP/1.1
...
Ответ сервера:
Код:
HTTP/1.1 200 OK
...
Set-Cookie: PHPSESSID=2ha93qjdiq3n260hcvq4nquor3; path=/
...
Content-Type: image/png


141 bytes skipped. Reason: The content type is not captured.
В ответе сервера видно, что кроме самой картинки мы получаем еще и куки с идентификатором сессии. Именно при помощи него происходит проверка правильности введенной капчи.
Теперь заполняем поля формы и нажимаем кнопку получить бонус. Смотрим что происходит в HTTPLook:
Запрос:
Код:
GET /wmcbonus.js?bonuspurse=R123456789012&keystring=4100 HTTP/1.1
...
Referer: http://wmcasher.ru/
Cookie: PHPSESSID=2ha93qjdiq3n260hcvq4nquor3
...
Ответ:
Код:
HTTP/1.1 200 OK
...
alert('Вы можете получить WMR бонус c этого сайта только один раз в сутки!');
...
Как видно, введенные параметры: кошелек и капча передаются в GET запросе. Кроме того браузер отправляет полученный ранее куки. В качестве Referer передается адрес страницы на которой находится форма. Таким образом алгоритм получения бонуса выглядит следующим образом:
  1. Получаем капчу и куки вместе с ней.
  2. Распознаем капчу.
  3. Посылаем в GET запросе на сервер свой кошелек и код капчи.
Теперь реализуем этот алгоритм в виде плагина
Код:
library wmcasher;
uses
  Windows,
  SharedTypes in '..\SharedTypes.pas';
const
  mname = 'http://wmcasher.ru/ (10 WMR бонусов 1 раз в день)';
var
  ModuleInfo: TModuleInfo;
  MF: TMainFunc;
  stop: Boolean;

// Функция инициализации плагина вызывается при его загрузке основной программой
function Initialize(MainFunc: TMainFunc): TModuleInfo; stdcall;
begin
// В качестве параметра мы получаем адреса функций,
//которые предоставляет основная программа
  MF := MainFunc;
// Возвращаемые значения - описание плагина
  ModuleInfo.Info := mname;
// и тип кошелька для которого он работает
  ModuleInfo.wmType := mtWMR;
  Result := ModuleInfo;
end;

// Вызывается при нажатии кнопки Start
// Здесть нужно реализовывать алгоритм получения бонуса
procedure Run(const wm: PChar); stdcall;
const
// Мы можем получать бонусы не только с самого http://wmcasher.ru/
// но и с других сайтов, на которых установлена их форма (http://wmcasher.ru/bonus)
// я напарсил из поисковой системы около 200 таких сайтов,
// но получение бонусов ограничено только 10-15 в день
  referers: array [0..9] of PChar = (
	'http://xrates.ru/wiki/bonus',
	'http://yamafuji.ucoz.ru/index/fajlobmenniki/0-21',
	'http://yanina.org.ua/2.htm',
	'http://zarabotai-babki.at.ua/index/0-32',
	'http://zarabotajlegko.ucoz.ru/forum/0-0-0-36',
	'http://zarabotat-dengu.narod.ru/bonusu_halyava.html',
	'http://zarabotay777.ucoz.ru/index/0-4',
	'http://zarabotok.dn.ua/bonus-1.php',
	'http://zarabotok-vseti.ucoz.ru/gb',
	'http://zhelezyaka.at.ua/news/4'
    );
var
  http: array[0..MAX_HTTP_SIZE] of Char;
  capsize: Integer;
  cap: array[0..MAX_CAPTCHA_SIZE] of Char;
  cookies: array[0..MAX_COOKIES_SIZE] of Char;
  i:Integer;
begin
  stop := False;
// Получаем бонус для каждого сайта из массива referers
  for i := 0 to Length(referers)-1 do
  begin
// Выходим при нажатии кнопки Stop
    if stop then Exit;
// Предварительно очищаем куки
    ZeroMemory(@cookies, MAX_COOKIES_SIZE);
// Заносим в лог с какого сайта бонус
    MF.AddLog(PChar('wmcasher: ' + referers[i]));
// Получаем капчу
// В HTTPreq передаются полный URL, реферер, буфер для записи куки,
// параметр POST запроса или nil если GET запрос
// адрес для записи результата, необходимость получения куки
// если False, то в параметр cookies будет записан  куки присланный сервером, 
// в противном случае cookies будет использован только при отправке запроса
    capsize := MF.HTTPreq('http://wmcasher.ru/captcha/', referers[i], cookies, nil, @http, False);
    if capsize > 0 then
    begin
// Обнуляем память для приема результата распознования
      ZeroMemory(@cap,MAX_CAPTCHA_SIZE);
// Распознаем капчу
// В качестве параметров передаются указатель на капчу, ее размер,
// формат рисунка, профиль для автоматического распознования cap.exe
// если капча распознается вручную передается nil
// буфер для результата распознавания
      if MF.CapResp(@http, capsize, itPNG, 'wmcasher.ini', cap) then
      begin
// Отправляем запрос с номером кошелька и кодом капчи
        MF.HTTPreq(PChar('http://wmcasher.ru/wmcbonus.js?bonuspurse=R' + wm + '&keystring=' + cap), referers[i], cookies, nil, @http, True);
// Выводим в логе ответ сервера
        MF.AddLog(PChar('wmcasher: ' + http));
      end;
    end else MF.AddLog(PChar('wmcasher: ' + 'Ошибка получения капчи'));
  end;
end;

// Вызывается при нажатии на кнопку Stop
procedure Terminate; stdcall;
begin
  stop := True;
end;

exports
  Initialize name 'Initialize',
  Run name 'Run',
  Terminate name 'Terminate';
begin
end.
Распознавание капчи
В программе предусмотрена возможность распознавания капчи 3 способами: вручную, при помощи китайцев с antigate.com и программой Cap OCR System. Рассмотрим более подробно последний способ. Чтобы им можно было воспользоваться плагин должен в качестве параметра функции CapResp передать имя файла с профилем распознования. В комплекте с программой идет подробно комментированный пример wmcasher.ini. Настроек там куча (можно даже настроить на распознование кошек с рапидшары), но для простой капчи достаточно указать всего 2:
Код:
;Имя каталога с литерами
CatalogLetters=wmcasher_l
;Количество ожидаемых символов
Letters=4
Теперь нужно создать каталог для литер, накачать различых вариантов капч, разрезать на символы (в случае wmcasher.ru цифры от 0 до 10) и сохранить их в формате bmp c именем, соответствующим их значению. Более подробное описание можно посмотреть на официальном сайте или в кэше гугла.

Последний раз редактировалось 0rs; 14.11.2009 в 13:40..
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу скрипт раздачи WM бонусов на сайте heretic1990 PHP, PERL, MySQL, JavaScript 36 01.11.2009 14:09



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ