Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

MSNBot

phaas
4 antwoorden
  • Hoi,

    Ik ben bezig om voor iemand een MSNBot te maken, dat gaat goed als ik het eerste request stuur, en daar krijg ik ook antwoord op, maar mijn tweede request blijft hoe dan ook onbeantwoord

    Ik gebruiken onder unix c++ met low-level io calls
    Dit is mijn code
    [code:1:6a31ac5eb0]
    #include "msnbot.h"

    /*MSNBot::MSNBot()
    {
    }

    MSNBot::~MSNBot()
    {
    }*/

    void MSNBot::mkconn()
    {

    int len;
    int result;
    fd = socket(AF_INET, SOCK_STREAM, 0);

    hostaddr = gethostbyname(HOST);
    if(!hostaddr){
    cout << "No route to host!!!";
    exit(1);
    }

    address.sin_family = AF_INET;
    //address.sin_addr = *(struct in_addr *)hostaddr -> h_addr_list;
    address.sin_addr.s_addr = inet_addr(HOST);
    address.sin_port = htons(PORT);
    len = sizeof(address);
    result = connect( fd, (struct sockaddr *)&address, len);
    if(result == -1){
    perror("oops: msnbot");
    exit(1);
    }


    msnwrite("VER 0 MSNP2");
    char buffer4[2048];
    msnread((char *)&buffer4, 2048);;

    char buffer2[2048];
    msnwrite("INF 1");
    msnread((char *)&buffer2, 2048);


    char buffer3[2048];
    msnwrite("USR 2 MD5 I ", true);
    msnwrite(USER);
    len = msnread((char *)&buffer3, 2048);
    buffer3;

    struct splitarray mysplit;
    mysplit = split(buffer3, ' ', len);
    MD5 context;

    char *array2 = new char();
    array2 = mysplit.array[4];
    array2 = strcat(array2, " " PASSWD);
    context.update((unsigned char *)&mysplit.array[4], strlen((unsigned char *)&mysplit.array[4]) );
    context.finalize();

    char buffer[2048];
    msnwrite("USR 3 MD5 S ", true);
    msnwrite(context.hex_digest() );
    if (wait(0) == true){
    len = msnread((char *)&buffer, 2048);
    }

    close(fd);
    }

    int MSNBot::msnwrite(char *buffer, bool raw)
    {
    int len =0;
    len = write(fd, buffer, strlen(buffer));
    if(len == -1)
    return -1;
    if(!raw)
    len =+ write(fd, "
    ", 4);
    cout << "Sent: " << buffer;
    if(!raw)
    cout << " -CRLF";
    cout << " " << endl;
    return len;
    }

    int MSNBot::msnread(char *buffer, int length)
    {
    int len;
    len = read(fd, buffer, length);
    buffer[len +1] = '\0';
    cout << "Received: " << buffer << endl;
    return len;
    }

    struct splitarray MSNBot::split(char string[1024], char sep, int len)
    {
    int i;
    int e=0;
    int n;
    struct splitarray retval;
    char array[1024][1024];
    cout << array[1];
    // cout << "boe";
    for(i = 0; i < len; i++){
    if(string[i] == sep){
    e++;
    n = 0;
    }
    else{
    array[e][n] = string[i];
    n++;
    }
    }
    retval.count = e;
    retval.array = array;
    return retval;
    }

    bool MSNBot::wait(int timeout) // Wait for the filediscriptor to become ready
    {
    fd_set waitfd;
    FD_ZERO(&waitfd);
    FD_SET(fd, &waitfd);
    int result;
    struct timeval waittimeout;
    waittimeout.tv_sec = 0;
    waittimeout.tv_usec = timeout * 1000;
    result = select(FD_SETSIZE, &waitfd, NULL, NULL, &waittimeout);

    switch(result){
    case 0: // timeout
    return false;
    case -1: // error
    cerr << "Plib::pStream::wait::Select error!
    ";
    return false;
    default: // fd ready
    return true;
    }
    return false;
    [/code:1:6a31ac5eb0]

    Dit is de output:
    Sent: VER 0 MSNP2 -CRLF
    Received: VER 0 MSNP2

    Sent: INF 1 -CRLF
    Received:
    Sent: USR 2 MD5 I
    Sent: Robbert_van_den_Berg@hotmail.com -CRLF
    Received:
    Sent: USR 3 MD5 S
    Sent: 752b34f7a0474ed17a1a7065a9174883 -CRLF
    Received:

    Help!

    Barry
  • uhm waarom moeilijk doen als het makkelijk kan?
    er is een speciale site waar je een botje kan downloaden en bewerken
    zo maak je je eigen bot met tekst zonder moeilijke scripts of codes enige is downloaden en installeren.
    kijk eens op
    http://botje.tnhteam.com
  • :roll: dit is een wel errug oude thread heh!
    Het probleem is allang opgelost.

    En btw, ik houd van moeilijk doen :D
  • niemand die het had beantwoord wilde alleen maar helpen
    sorry hoor

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.