Ĺadny brzuch
Witam
Pytanie jak w temacie co robie źle?
int Hash(unsigned char *password, unsigned int seed) { unsigned int x, y, z; y = seed; for (x = 0; *password; password++) { x = (x & 0xffffff00) | *password; y ^= x; y += x; x <<= 8; y ^= x; x <<= 8; y -= x; x <<= 8; y ^= x; z = y & 0x1f; y = (y << z) | (y >> (32 - z)); } return y; } DWORD WINAPI Read (LPVOID) { struct TWitaj { int pakiet; int klucz; }; struct gg_login60 { int uin; int hash; int status; int version; char unknown1; int local_ip; short local_port; int external_ip; short external_port; char image_size; char unknown2; char description[]; int time; }; TWitaj Witaj; gg_login60 Loguj; recv(soc_klient, (char*)&Witaj, sizeof(Witaj), 0); Form1->Edit3->Text = IntToStr(Witaj.pakiet); Form1->Edit4->Text = IntToStr(Witaj.klucz); Loguj.uin = nrgg; Loguj.hash = Hash(password, Witaj.klucz); //char* password Loguj.status = 0x002; Loguj.version = 0x24; Loguj.unknown1 = 0x00; Loguj.local_ip = 0x00; Loguj.local_port = 8074; Loguj.external_ip = 0x00; Loguj.image_size = 0x00; Loguj.unknown2 = 0xbe; send(soc_klient, (char*)&Loguj, sizeof(Loguj), 0); struct odp { int pakiet; }; odp odpp; recv(soc_klient, (char*)&odpp, sizeof(odpp), 0); Form1->Edit5->Text = odpp.pakiet; // no i serwer zwraca jakąś wielką liczbę :/
Pierwszy raz pisze klienta i nie wiem jak sie zalogować. Pewnie wszystko źle robię, ale pomóżcie mi.
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Pytanie jak w temacie co robie źle?
int Hash(unsigned char *password, unsigned int seed) { unsigned int x, y, z; y = seed; for (x = 0; *password; password++) { x = (x & 0xffffff00) | *password; y ^= x; y += x; x <<= 8; y ^= x; x <<= 8; y -= x; x <<= 8; y ^= x; z = y & 0x1f; y = (y << z) | (y >> (32 - z)); } return y; } DWORD WINAPI Read (LPVOID) { struct TWitaj { int pakiet; int klucz; }; struct gg_login60 { int uin; int hash; int status; int version; char unknown1; int local_ip; short local_port; int external_ip; short external_port; char image_size; char unknown2; char description[]; int time; }; TWitaj Witaj; gg_login60 Loguj; recv(soc_klient, (char*)&Witaj, sizeof(Witaj), 0); Form1->Edit3->Text = IntToStr(Witaj.pakiet); Form1->Edit4->Text = IntToStr(Witaj.klucz); Loguj.uin = nrgg; Loguj.hash = Hash(password, Witaj.klucz); //char* password Loguj.status = 0x002; Loguj.version = 0x24; Loguj.unknown1 = 0x00; Loguj.local_ip = 0x00; Loguj.local_port = 8074; Loguj.external_ip = 0x00; Loguj.image_size = 0x00; Loguj.unknown2 = 0xbe; send(soc_klient, (char*)&Loguj, sizeof(Loguj), 0); struct odp { int pakiet; }; odp odpp; recv(soc_klient, (char*)&odpp, sizeof(odpp), 0); Form1->Edit5->Text = odpp.pakiet; // no i serwer zwraca jakąś wielką liczbę :/
Pierwszy raz pisze klienta i nie wiem jak sie zalogować. Pewnie wszystko źle robię, ale pomóżcie mi.