DS Packetbot

11/02/2010 12:34 Shadow992#16
Quote:
Originally Posted by bammes View Post
ich weis net genau wie man verlinkt (habe VC++ 2008)
denke des geht rechtsklick auf projekt->eigenschaften->Linker->... weiter weis ich ned
In VC++ hast du auch die Möglichkeit das über #pragma (?) zu machen.
PHP Code:
#pragma wininet.a
#pragma wsock32.a 
Bin mir jetzt nicht sicher ob das so stimmt, benutze VC++ nicht.

Btw. Wenn du nicht einmal weißt wie man linkt, dann solltest du, bevor du dich an Browsergames machst, die Grundlagen nocheinmal vertiefen.

Edit:
Mir fällt gerade auf, wenn du nicht weißt wie man linkt, wie soll dann dein alter Code funktionieren?
Auch in diesem Fall musst du mindestens wsock gelinkt haben.
11/02/2010 12:44 bammes#17
ach das ist verlinken?

aso^^

wusste nur ned wie des heißt
aus meinem code:
Quote:
#pragma comment(lib, "wsock32.lib")
11/02/2010 12:58 Shadow992#18
Quote:
Originally Posted by bammes View Post
ach das ist verlinken?

aso^^

wusste nur ned wie des heißt
aus meinem code:
Ja, das schimpft sich linken. ;)
11/02/2010 13:02 bammes#19
oke habs gemacht

die variable _debug ist nicht deklariert
und2 andere fehler
1>c:\users\dominik\documents\visual studio 2008\projects\dsbot\dsbot\main.cpp(22) : error C3861: "HttpRequest": Bezeichner wurde nicht gefunden.

und

1>c:\users\dominik\documents\visual studio 2008\projects\dsbot\dsbot\main.cpp(66) : error C3861: "SetLog": Bezeichner wurde nicht gefunden.

evtl liegts ja an fehlenden includen. also ich habe:

PHP Code:
#pragma comment(lib, "wsock32.lib")
#pragma comment(lib, "wininet.lib")
#include <iostream>
#include <fstream>
#include <stdexcept>
#include <sstream>
#include <string.h>
#include <winsock2.h>
#include <Windows.h>
#include <iostream>
#include <fstream>
#include <stdexcept>
#include <sstream>
#include <string.h>
#include <Windows.h>
using namespace std
11/02/2010 13:08 Shadow992#20
Quote:
Originally Posted by bammes View Post
oke habs gemacht

die variable _debug ist nicht deklariert
und2 andere fehler
1>c:\users\dominik\documents\visual studio 2008\projects\dsbot\dsbot\main.cpp(22) : error C3861: "HttpRequest": Bezeichner wurde nicht gefunden.

und

1>c:\users\dominik\documents\visual studio 2008\projects\dsbot\dsbot\main.cpp(66) : error C3861: "SetLog": Bezeichner wurde nicht gefunden.

evtl liegts ja an fehlenden includen. also ich habe:

PHP Code:
#pragma comment(lib, "wsock32.lib")
#pragma comment(lib, "wininet.lib")
#include <iostream>
#include <fstream>
#include <stdexcept>
#include <sstream>
#include <string.h>
#include <winsock2.h>
#include <Windows.h>
#include <iostream>
#include <fstream>
#include <stdexcept>
#include <sstream>
#include <string.h>
#include <Windows.h>
using namespace std
So sollte es gehen.
Diese Variable _debug und die Funktion SetLog waren von mir, darum konnte es nicht gehen, jetzt sollte es aber. ;)
PHP Code:
#pragma comment(lib, "wsock32.lib")
#pragma comment(lib, "wininet.lib")
#include <string.h>
#include <winsock2.h>
#include <Windows.h>
#include <iostream>
#include <fstream>
#include <stdexcept>
#include <sstream>
using namespace std

string HTTPRequest(string serverstring sSeite "",string sPost "",string sCookies "",string sReferer "",short modified=0,short WaitForAnswer=1,string StopFound="",bool normal_stop=1,short ContStop=1,string Stop=""); 
unsigned long GetIPstring Host); 

int main() 

  
string user="test",pw="test";
  
string post="user="+user+"&password="+pw+"&clear=true";
  
string source=HTTPRequest("www.die-stämme.de","/index.php?action=login&server_list=1&show_server_selection=1",post);


string HTTPRequest(string serverstring sSeite ,string sPost ,string sCookies ,string sReferer ,short modified,short WaitForAnswer,string StopFound,bool normal_stop,short ContStop,string Stop


    const 
int BUFFER_SIZE 65535
    
int sicherheit=
    
string request 
    
size_t pos
    
WSADATA w
    
int res WSAStartupMAKEWORD2,), &); 
    if( 
res != 
    { 
        
cout<<"fail 1"<< WSAGetLastError()<<"\n"
        return 
"fail 1"
    } 

    if (
sPost == ""
    { 
        
request "GET " +sSeite" HTTP/1.1\r\n" 
    } 
    else 
    { 
        
request "POST " +sSeite" HTTP/1.1\r\n" 
    } 

    
request+="Host: "  
    
request+=server
    
request+= "\r\n"
    
request+="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)\r\n"
    
request+="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"
    
request+="Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n"
    
request+="Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n"
    
request+="Keep-Alive: 300\r\n"
    
request+="Content-Type: application/x-www-form-urlencoded\r\n" 
    
request+="Connection: keep-alive\r\n"
    if (
modified==1request+="X-Requested-With: XMLHttpRequest\r\nX-Prototype-Version: 1.6.1\r\n"
    if (
modified==2request+="If-None-Match: \"740d1-10ea-4890fad4f1b00\""

    if (
sReferer != ""
    { 
        
request+= "Referer: " sReferer +"\r\n" 
    } 
    if (
sCookies != ""
    { 
        while (
pos!=string::npos
        { 
            
sicherheit++ ; 
            if (
sicherheit>1000) break; 
            
pos=sCookies.find(" ") ; 
            if (
pos!=string::npossCookies.replace(pos,1,"") ; 
        } 
        
sicherheit=0
        
request += "Cookie: " sCookies "\r\n"
    } 

    if (
sPost != ""
    { 
        
char num[7] ; 
        
sprintf(num"%d"sPost.length()) ; 

        
request+= "Content-Length: "
        
request+=num
        
request+="\r\n"
    } 
    
request+="\r\n" 

    if (
sPost != ""
    { 
        
request+= sPost
    } 
    
string out

    
unsigned int sSocket socketAF_INETSOCK_STREAM); 
    if( 
sSocket == INVALID_SOCKET
    { 
        
cout<<"fail 2"<< WSAGetLastError()<<"\n"
        
cout<<request<<"\n"
        return 
"fail 2"
    } 
    
unsigned long ip GetIPserver ); 
    
SOCKADDR_IN service
    
service.sin_family AF_INET
    
service.sin_port htons80 ); 
    
service.sin_addr.s_addr ip
    
res connectsSocket, (SOCKADDR *)(&service), sizeofservice ) ); 
    if( 
res == SOCKET_ERROR 
    { 
        
cout<<"fail 3"<< ip<< WSAGetLastError()<<"\n"
        
cout<<request<<"\n"
        return 
"fail 3"
    } 
    
sendsSocketrequest.c_str(), request.size(), ); 
    if (
WaitForAnswer==1
    { 
        
char *buffer = (char *) malloc(BUFFER_SIZE); 
        while (
1
        { 
            
res recvsSocketbufferBUFFER_SIZE-10); 
            
buffer[res] = '\0'
            
out += buffer
            if ((
res<=|| out.find("</html>")!=string::npos || out.find("</HTML>")!=string::npos || out.find("/html>")!=string::npos || out.find("/body>")!=string::npos)&& normal_stop==1) break; 
            if (
out.find(StopFound)!=string::npos && StopFound != "") break; 
            if (
out.find("Content-Length: 0")!=string::npos && ContStop==1) break; 
            if (
out.find(Stop)!=string::npos and Stop!="") break; 
            if (
sicherheit>100) break; 
            
sicherheit++ ; 
        } 
        
delete [] buffer
    } 


    
//closesocket(sSocket); 
    //shutdown(sSocket, SD_SEND); 
    
WSACleanup(); 


    return 
out
// ==> HTTPRequest(string server, string sSeite ,string sPost ,string sCookies ,string sReferer ,short modified,short WaitForAnswer,string StopFound,short ContStop,string Stop) 

unsigned long GetIPstring Host

    
struct hostentHomeP
    
unsigned long HostIp

    
HostIp inet_addrHost.c_str() ); 
    if( 
HostIp == INADDR_NONE 
    { 
        
HomeP gethostbynameHost.c_str() ); 
        if( !
HomeP 
        { 
            return 
0
        } 
        else 
HostIp = *(unsigned long *)HomeP->h_addr
    } 
    return 
HostIp
// ==> GetIP( string host) 
11/02/2010 13:19 bammes#21
nedde ganz

Code:
1>c:\users\dominik\documents\visual studio 2008\projects\dsbot\dsbot\main.cpp(79) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdio.h(366): Siehe Deklaration von 'sprintf'
1>c:\users\dominik\documents\visual studio 2008\projects\dsbot\dsbot\main.cpp(65) : warning C4700: Die nicht initialisierte lokale Variable "pos" wurde verwendet.
1>Verknüpfen...
1>nebenan.obj : error LNK2005: _main ist bereits in main.obj definiert.
1>C:\Users\Dominik\Documents\Visual Studio 2008\Projects\dsbot\Debug\dsbot.exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.
11/02/2010 16:45 Shadow992#22
Quote:
Originally Posted by bammes View Post
nedde ganz

Code:
1>c:\users\dominik\documents\visual studio 2008\projects\dsbot\dsbot\main.cpp(79) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdio.h(366): Siehe Deklaration von 'sprintf'
1>c:\users\dominik\documents\visual studio 2008\projects\dsbot\dsbot\main.cpp(65) : warning C4700: Die nicht initialisierte lokale Variable "pos" wurde verwendet.
1>Verknüpfen...
1>nebenan.obj : error LNK2005: _main ist bereits in main.obj definiert.
1>C:\Users\Dominik\Documents\Visual Studio 2008\Projects\dsbot\Debug\dsbot.exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.
Der obere Code funktioniert mit dem GNU GCC Compiler vollkommen problemlos.
11/02/2010 17:00 bammes#23
jop sry mein fehler hatte ne .h datei mit main() drin

deswegen der fehler

edit:

folgender fehler kommt herauf:

[Only registered and activated users can see links. Click Here To Register...]
11/02/2010 17:38 Shadow992#24
Quote:
Originally Posted by bammes View Post
jop sry mein fehler hatte ne .h datei mit main() drin

deswegen der fehler

edit:

folgender fehler kommt herauf:

[Only registered and activated users can see links. Click Here To Register...]
Schau dir den Code doch einfach mal an:
PHP Code:
    res connectsSocket, (SOCKADDR *)(&service), sizeofservice ) );
    if( 
res == SOCKET_ERROR )
    {
        
cout<<"fail 3"<< ip<< WSAGetLastError()<<"\n";
        
cout<<request<<"\n";
        return 
"fail 3";
    } 
Du siehst also, der Fehler liegt ganz klar an deiner Connect-Funktion, irgendwo kommt da ein Error.
Teste mal etwas, denn wie gesagt bei mir gehts ohne Probleme.
11/02/2010 17:45 bammes#25
jop hab fehler gefunden statt die-stämme die-staemme

lieg ich recht mit der annahme dass wenn alles klappt nichts erscheint?
11/02/2010 19:59 Shadow992#26
Quote:
Originally Posted by bammes View Post
jop hab fehler gefunden statt die-stämme die-staemme

lieg ich recht mit der annahme dass wenn alles klappt nichts erscheint?
Wenn das Connecten auf den Server erfolgreich war, dann erscheint nichts und der zurückgegebene String ist der Quelltext der Internetseite.
11/02/2010 20:52 bammes#27
<3
thx für die hilfe werde ab jetzt deinen code versuchen :-)
11/02/2010 22:13 bammes#28
wenn ich den teil erweitere:
PHP Code:
//Login
string user="AmnesysUltimate",pw="Baum1994";
string post="user="+user+"&password="+pw+"&clear=true";
string source=HTTPRequest("www.die-staemme.de","/index.php?action=login&server_list=1&show_server_selection=66",post);
save("login.txt"source);
//Weltauswahl
pw "52bfee8994f2dd07eebd5abd2217128a146eefb6";
post="user="+user+"&password="+pw+"";

source=HTTPRequest("www.die-staemme.de","/login.php?sid=0e126b34e6f6&secret=0&ppmg_sso=0&mobile_no_force=0",post);
save("welt.txt"source); 
dann erscheint bei welt.txt folgendes
Quote:
HTTP/1.1 200 OK

Transfer-Encoding: chunked

X-Powered-By: PHP/5.2.0-8+etch16

Content-type: text/html; charset=utf-8

Date: Tue, 02 Nov 2010 21:10:29 GMT

Server: lighttpd/1.4.19



42

Es konnte keine Verbindung zum Datenbankserver hergestellt werden.

0


woran könnts liegen?

edit:
request für weltauswahl ist das hier:

Quote:
Parameter
application/x-www-form-urlencoded
password 52bfee8994f2dd07eebd5abd2217128a146eefb6
user AmnesysUltimate



Antwort-HeaderQuelltext anzeigen
Transfer-Encoding chunked
X-Powered-By PHP/5.2.0-8+etch16
Location [Only registered and activated users can see links. Click Here To Register...]
Content-Encoding gzip
Vary Accept-Encoding
Content-Type text/html; charset=utf-8
Date Tue, 02 Nov 2010 20:50:05 GMT
Server lighttpd/1.4.19
Anfrage-HeaderQuelltext anzeigen
Host [Only registered and activated users can see links. Click Here To Register...]
User-Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Referer [Only registered and activated users can see links. Click Here To Register...]
Cookie portal_tid=1269459166839-17730; __utma=139010342.349433081.1269459167.1288728406.1 288730546.120; __utmz=139010342.1288730546.120.81.utmcsr=die-staemme.myvideo.de|utmccn=(referral)|utmcmd=referr al|utmcct=/; __utmc=139010342; ref_url=http%3A%2F%2Fdie-staemme.myvideo.de%2F; __utmb=139010342.2.10.1288730546; user=AmnesysUltimate; password=52bfee8994f2dd07eebd5abd2217128a146eefb6
noch ein edit:

kann es ein, dass keine cookies gesetzt werden?
11/02/2010 23:47 Shadow992#29
Quote:
Originally Posted by bammes View Post
wenn ich den teil erweitere:
PHP Code:
//Login
string user="AmnesysUltimate",pw="Baum1994";
string post="user="+user+"&password="+pw+"&clear=true";
string source=HTTPRequest("www.die-staemme.de","/index.php?action=login&server_list=1&show_server_selection=66",post);
save("login.txt"source);
//Weltauswahl
pw "52bfee8994f2dd07eebd5abd2217128a146eefb6";
post="user="+user+"&password="+pw+"";

source=HTTPRequest("www.die-staemme.de","/login.php?sid=0e126b34e6f6&secret=0&ppmg_sso=0&mobile_no_force=0",post);
save("welt.txt"source); 
dann erscheint bei welt.txt folgendes


woran könnts liegen?

edit:
request für weltauswahl ist das hier:



noch ein edit:

kann es ein, dass keine cookies gesetzt werden?
Natürlich werden keine Cookies gesetzt, du musst sie zuerst per GetCookies auslesen und dann später bei deinem HttpRequest wieder einfügen.
PHP Code:
string cookies=GetCookies(source)
HttpRequest("server","seite","post",cookies
11/03/2010 00:15 bammes#30
bei mir kommt, dass getcookies nicht bekannt ist.

:-?

edit hab den code jetzt so gemacht:

string cookies=GetCookies(source);
HTTPRequest("www.die-staemme.de","/index.php?action=login&server_list=1&show_server_s election=66",post,cookies);


und warnung ist

1>c:\users\dominik\documents\visual studio 2008\projects\ds bot by d.s\ds bot by d.s\Form1.h(168) : error C3861: "GETCookies": Bezeichner wurde nicht gefunden.

edit:

hat das irgendwas mit WatiN.Core zu tun?
habe kp wie man das benutzt oder so

[Only registered and activated users can see links. Click Here To Register...]