Есть такой сервис izobilnik.ru/random11.aspx. Там можно класть себе на мобилу 6 руб. в день. Там нужно угадывать цвет, нажимать на рекламу, и если угадал цвет, тебе прейдет 2 руб. на счет. Короче я этот процесс весь автоматизировал ) Вот выкладываю программку, которая все делает за вас. Можете поставить ее на запуск раз в сутки и больше не париться Как работает: просто запустите из командной строки phone_money.exe и получите пояснения с какими параметрами запускать и пример. Еще... Во время работы программы, будут мелькать различные хттп-запросы, заголовки. и время от времени программа будет на минуту (60 сек!!!!) "зависать". Так вот это она не зависает, и просто ждет минуту (Sleep(60000). Там по правилам сайта, который эту халяву предоставляет так надо. Впадлу рассказывать, если интересно попробуйте через броузер получить деньги и поймете. Короче как программа "зависнет", не беспокойтесь! все нормально! Code: //by je0n [email protected] //Greetz: Great,groundhog,el' спасибо Вам большое, очень сильно помогли в коде. хотя, 100 пудов, и не знали для чего помогали ) #include <iostream> #include <stdio.h> #include <winsock2.h> #include <string.h> #include <time.h> char* GETRequest(char*,char*); char* POSTRequest(char*,char*,char*,char*); char* str_replace(char*,char*,char*); int main(int argc, char* argv[]) { if(argc>2) { char hidden[1000]; char phone[15]; bool b; char opsos[10]; char cookie[200]; char location[200]; char post[1000]; char p[50000]; int i; int n,start,finish; for(i=0;i<3;i++) { b=true; while(b) { lstrcpy(p,GETRequest("izobilnik.ru","/random11.aspx")); n=(int)(strstr(p,"Cookie: ")-(DWORD)p); //получаем куки start=n+8; finish=(int)(strstr(p+start,"\r\n")-(DWORD)(p+start))+1; lstrcpyn(cookie,p+start,finish); printf("\r\n"); printf(cookie); n=(int)(strstr(p,"__")-(DWORD)p); start=n+20; finish=(int)(strstr(p+start,"\"")-(DWORD)(p+start))+1; lstrcpyn(hidden,p+start,finish); //в хиден ебошим скрытое поле с именем __VIEWSTATE str_replace(hidden,"+","%2B"); // printf(hidden); //Составляем POST-запрос для random11.aspx lstrcpy(phone,argv[1]); lstrcpy(opsos,argv[2]); lstrcpy(post,"TextBox2="); lstrcat(post,phone); lstrcat(post,"&ddl="); lstrcat(post,opsos); lstrcat(post,"&rbl1=1&"); lstrcat(post,"__VIEWSTATE="); lstrcat(post,str_replace(hidden,"=","%3D")); lstrcat(post,"&ImageButton1.x=50&ImageButton1.y=30"); printf("\r\n"); printf(post); printf("\r\n"); lstrcpy(p,POSTRequest("izobilnik.ru","/random11.aspx",post,cookie)); printf(p); //СОСТАВЛЯЕМ ЗАПРОС ДЛЯ ПРОВЕРКИ НОМЕРА в random12.aspx Sleep(60000); //спим, чтобы прошла минута, по правилам сайта lstrcpy(p,GETRequest("izobilnik.ru","/random12.aspx")); n=(int)(strstr(p,"Cookie: ")-(DWORD)p); //получаем куки start=n+8; finish=(int)(strstr(p+start,"\r\n")-(DWORD)(p+start))+1; lstrcpyn(cookie,p+start,finish); printf("\r\n"); printf(cookie); //Вот эти кукисы нужно подставить в POST-запрос в /random13.aspx n=(int)(strstr(p,"__")-(DWORD)p); start=n+20; finish=(int)(strstr(p+start,"\"")-(DWORD)(p+start))+1; lstrcpyn(hidden,p+start,finish); //в хиден ебошим скрытое поле с именем __VIEWSTATE str_replace(hidden,"+","%2B"); //Составляем POST-запрос для random12.aspx lstrcpy(post,"TextBox2="); lstrcat(post,phone); lstrcat(post,"&__VIEWSTATE="); lstrcat(post,str_replace(hidden,"=","%3D")); lstrcat(post,"&ImageButton1.x=55&ImageButton1.y=34"); printf("\r\n"); printf(post); printf("\r\n"); lstrcpy(p,POSTRequest("izobilnik.ru","/random12.aspx",post,cookie)); printf(p); //Из переменной p выстаскиваем заголовок Location: Если Location=random13.aspx, то делаем POST-запрос к random13.aspx с ранее полученными куками, иначе болты и начинаем все сначала n=(int)(strstr(p,"Location: ")-(DWORD)p); //получаем Location: start=n+10; finish=(int)(strstr(p+start,"\r\n")-(DWORD)(p+start))+1; lstrcpyn(location,p+start,finish); if(lstrcmp(location,"/random13.aspx")==0) //если в условии, то все заебато, и составляем последний post-запрос { lstrcpy(p,GETRequest("izobilnik.ru","/random13.aspx")); n=(int)(strstr(p,"__")-(DWORD)p); start=n+20; finish=(int)(strstr(p+start,"\"")-(DWORD)(p+start))+1; lstrcpyn(hidden,p+start,finish); //в хиден ебошим скрытое поле с именем __VIEWSTATE str_replace(hidden,"+","%2B"); lstrcpy(post,"__VIEWSTATE="); lstrcat(post,str_replace(hidden,"=","%3D")); lstrcat(post,"&ImageButton1.x=91&ImageButton1.y=20"); printf("\r\n"); printf(post); lstrcpy(p,POSTRequest("izobilnik.ru","/random13.aspx",post,cookie)); printf(p); b=false; printf("\r\nUGADAL\r\n"); } else { printf("\r\nne ugadal\r\n"); Sleep(3000); } } } } else { printf("\r\nfirst argument is your phone;\r\nsecond argument is number of operator:\r\n11-MTS\r\n12-Megafon-Moskva;\r\n14-Megafon-Centr;\r\n15-Megafon Dal'nii Vostok\r\n16-Megafon-Kavkaz\r\n17-Megafon-Povolgie\r\n18-Megafon Severo-Zapad\r\n19-Megafon-Sibir'\r\n20-Megafon Ural\r\n21-BashCell\r\n22-NSS\r\n23-Sotel-SSB\r\n24-TatinCom\r\n25-Tele2\r\n26-Utel\r\n====Example:====\r\nphone_money.exe 9081856542 25\r\n"); } return 0; } char* GETRequest(char* server,char* page) { WSADATA sock_info; int err=WSAStartup(MAKEWORD(2,0),&sock_info); if(err==SOCKET_ERROR) { printf("WSAStartup error"); return 0; } int sock; struct sockaddr_in sa; struct hostent* h; char page_text[50000]; char buf_in[10]; char buf_out[500]; int x; sa.sin_family=AF_INET; sa.sin_port=htons(80); h=gethostbyname(server); memcpy(&sa.sin_addr,h->h_addr_list[0],h->h_length); sock=socket(AF_INET,SOCK_STREAM,0); if(connect(sock,(sockaddr*)&sa,sizeof(sa))<0) { printf("connect() error"); return 0; } lstrcpy(buf_out,"GET "); //Составляем GET-запрос lstrcat(buf_out,page); lstrcat(buf_out," HTTP/1.0\r\n"); send(sock,buf_out,lstrlen(buf_out),0); lstrcpy(buf_out,"Host: izobilnik.ru\r\n"); send(sock,buf_out,lstrlen(buf_out),0); lstrcpy(buf_out,"Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, */*\r\n"); //заголовок Accept: send(sock,buf_out,lstrlen(buf_out),0); lstrcpy(buf_out,"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)\r\n\r\n"); //заголовок User-Agent: send(sock,buf_out,lstrlen(buf_out),0); lstrcpy(page_text,""); x=recv(sock,buf_in,sizeof(buf_in)-1,0); //в buf_in должен быть заголовок Content-length,его надо прочитать и превратить в цифру, чтобы потом знать, когда я получу последний символ страницы, чтобы не вызвать левый вызов recv() while(x>0) //Хотя я как посмотрю, сейчас оно НАХУЙ НЕ НАДО!!! { buf_in[x]=0; lstrcat(page_text,buf_in); // printf(buf_in); x=recv(sock,buf_in,sizeof(buf_in)-1,0); } closesocket(sock); return page_text; } char* POSTRequest(char* server,char* page,char * request,char* cookie) { WSADATA sock_info; int err=WSAStartup(MAKEWORD(2,0),&sock_info); if(err==SOCKET_ERROR) { printf("WSAStartup error"); return 0; } int sock; struct sockaddr_in sa; struct hostent* h; char page_text[50000]; char buf_in[10]; char buf_out[1000]; int x; sa.sin_family=AF_INET; sa.sin_port=htons(80); h=gethostbyname(server); memcpy(&sa.sin_addr,h->h_addr_list[0],h->h_length); sock=socket(AF_INET,SOCK_STREAM,0); if(connect(sock,(sockaddr*)&sa,sizeof(sa))<0) { printf("connect() error"); return 0; } lstrcpy(buf_out,"POST "); //Составляем POST-запрос lstrcat(buf_out,page); lstrcat(buf_out," HTTP/1.0\r\n"); send(sock,buf_out,lstrlen(buf_out),0); lstrcpy(buf_out,"Host: izobilnik.ru\r\n"); //Заголовок HOST send(sock,buf_out,lstrlen(buf_out),0); lstrcpy(buf_out,"Content-Type: application/x-www-form-urlencoded\r\n"); //заголовок Content-Type send(sock,buf_out,lstrlen(buf_out),0); // lstrcpy(buf_out,"Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, */*\r\n"); //заголовок Accept: // printf(buf_out); // send(sock,buf_out,lstrlen(buf_out),0); // lstrcpy(buf_out,"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)\r\n"); //заголовок User-Agent: // printf(buf_out); // send(sock,buf_out,lstrlen(buf_out),0); x=lstrlen(request); lstrcpy(buf_out,"Content-Length: "); //Загловок Content-Length lstrcat(buf_out,itoa(x,buf_in,10)); lstrcat(buf_out,"\r\n"); send(sock,buf_out,lstrlen(buf_out),0); lstrcpy(buf_out,"Cookie: "); //заголовок Cookie: lstrcat(buf_out,cookie); lstrcat(buf_out,"\r\n\r\n"); send(sock,buf_out,lstrlen(buf_out),0); lstrcpy(buf_out,request); //POST-запрос lstrcat(buf_out,"\r\n"); send(sock,buf_out,lstrlen(buf_out),0); lstrcpy(page_text,""); x=recv(sock,buf_in,sizeof(buf_in)-1,0); //в buf_in должен быть заголовок Content-length,его надо прочитать и превратить в цифру, чтобы потом знать, когда я получу последний символ страницы, чтобы не вызвать левый вызов recv() while(x>0) //Хотя я как посмотрю, сейчас оно НАХУЙ НЕ НАДО!!! { buf_in[x]=0; lstrcat(page_text,buf_in); // printf(buf_in); x=recv(sock,buf_in,sizeof(buf_in)-1,0); } closesocket(sock); FILE* f=fopen("c:\\1.txt","w"); fputs(page_text,f); fclose(f); return page_text; } char* str_replace(char* source,char* from,char* to) { int size=strlen(source)+strlen(from)+strlen(to); char* str=new char[size]; char left[10000]; char right[10000]; int n=0; memset(str,0,size); while(str=strstr(source+n,from)) { lstrcpyn(left,source,str-source+1); lstrcpy(right,str+lstrlen(from)); lstrcpy(source,left); lstrcat(source,to); lstrcat(source,right); n=(DWORD)(str)-(DWORD)(source)+lstrlen(to); } return source; } канпилируейте ))) а кому впадлу канпелировать, вот с исходниками: http://www.viptest.msk.ru/other/phone_money.rar хек
блин, а подождать не вариант? там в цикле пока не угадает 3 раза!!! то есть пока не даст тебе 6 руб. Не угадал - это один раз, после которого начинает следующий
да че угадал? Ждите пока программа завершит свое выполнение. Ugadal - это угадал цвет 1 раз! еще 2 можно! А че не пришло хз. жди. че за оператор? мне на теле2 практически сразу приходит и еще... Если вы на сайте отгадывали вручную и отгадали, то программа зациклится на каком-то из угадываний. Так как она упорно действует пока не получит 6 руб ) А если Вы уже отгадали 1 раз. Она в течении этих суток сможет 4 руб получить ) Вот так короче. Можете цикл там сократить. тот что for(...). Он там вроде один. И номер вводить ОБЯЗАТЕЛЬНО с кодом (10 цифр).
je0n, т.е. браузер можно не открывать? Хорошо бы сделать, чтоб она изменяла значение цвета только после того, как будет названо верное. Тогда шансов будет больше. ЗЫ: Можешь сделать, чтобы выводил количество угаданных значений (сумму). ЗЫЫ: Деньги пришли.
1 http://www.viptest.msk.ru/other/phone_money.rar Скачать 2 Разархивировать 3 Зайти в папку Phone_money > Debug и найти там phone_money.exe 4 Пуск > Выполнить > Вписать "cmd" без ковычек 5 Перетащить в окно файл phone_money.exe 6 Дописать [Номер] [Код Оператора] 7 Нажать Enter и ждать=) Сделал так и все дошло PS Номер телефона писать так 9261234567
Запустил на нескольких серверах. и положил на несколько телефонов... афтору респект, держи плюсег ... З.Ы. кстати... неплохо бы поддержку прокси добавить (по шлюзу скорость плохая) и Gui интерфейс
http://dump.ru/files/g/g4652713638/ Вот я батник накатаk для удобства. Афтар стукни мне плииз в 361316611
На месте [код оператора] что ставить для МТС?( яставил "7") Прокси оч кстати было бы чтоб каждые 5 мин менялся проксик и заново поехали бабло набивать =) В смд.ехе пишет все время не угадал. ана сайте смотрю пишет зачислено 4 руб.Ещ б статистику впихнуть ващ супер было бы ! =)