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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Сотовый фрикинг (https://forum.antichat.xyz/forumdisplay.php?f=59)
-   -   6 рублей в день на мобилу просто так (https://forum.antichat.xyz/showthread.php?t=42480)

je0n 18.06.2007 02:51

6 рублей в день на мобилу просто так
 
Есть такой сервис izobilnik.ru/random11.aspx. Там можно класть себе на мобилу 6 руб. в день. Там нужно угадывать цвет, нажимать на рекламу, и если угадал цвет, тебе прейдет 2 руб. на счет.
Короче я этот процесс весь автоматизировал ) Вот выкладываю программку, которая все делает за вас. Можете поставить ее на запуск раз в сутки и больше не париться :)
Как работает: просто запустите из командной строки phone_money.exe и получите пояснения с какими параметрами запускать и пример.
Еще... Во время работы программы, будут мелькать различные хттп-запросы, заголовки. и время от времени программа будет на минуту (60 сек!!!!) "зависать". Так вот это она не зависает, и просто ждет минуту (Sleep(60000);). Там по правилам сайта, который эту халяву предоставляет так надо. Впадлу рассказывать, если интересно попробуйте через броузер получить деньги и поймете. Короче как программа "зависнет", не беспокойтесь! все нормально!
Код:

//by je0n      je0n@inbox.ru
//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

хек ;)

C!klodoL 18.06.2007 05:54

ne ugadal :( не дали мне 2 рубля, шанс что угадает не велик, интуиция лучше

je0n 18.06.2007 06:55

блин, а подождать не вариант? там в цикле пока не угадает 3 раза!!! то есть пока не даст тебе 6 руб. Не угадал - это один раз, после которого начинает следующий

Isis 18.06.2007 07:40

Я угадал, пока ниче не пришло

je0n 18.06.2007 07:45

да че угадал? Ждите пока программа завершит свое выполнение. Ugadal - это угадал цвет 1 раз! еще 2 можно! А че не пришло хз. жди. че за оператор? мне на теле2 практически сразу приходит

и еще... Если вы на сайте отгадывали вручную и отгадали, то программа зациклится на каком-то из угадываний. Так как она упорно действует пока не получит 6 руб )
А если Вы уже отгадали 1 раз. Она в течении этих суток сможет 4 руб получить )
Вот так короче. Можете цикл там сократить. тот что for(...). Он там вроде один. И номер вводить ОБЯЗАТЕЛЬНО с кодом (10 цифр).

tat1642 18.06.2007 11:59

а былаин где?((

Atack 18.06.2007 11:59

а у меня тоже не че не пришло :(

Eng1nE 18.06.2007 12:31

А 4о билайна нет 4толи?((
Gen1rus, win+r -> cmd.exe -> phone_money.exe

Barsik 18.06.2007 12:32

Деньги дошли )
Респект )

bopoh13 18.06.2007 12:50

je0n, т.е. браузер можно не открывать?
Хорошо бы сделать, чтоб она изменяла значение цвета только после того, как будет названо верное. Тогда шансов будет больше.
ЗЫ: Можешь сделать, чтобы выводил количество угаданных значений (сумму).
ЗЫЫ: Деньги пришли.


Время: 03:51