Ogólny schemat jest prosty - Gadu-Gadu łączy się z serwerem GGRadia, logując się przy użyciu numeru_gg/hasło. W odpowiedzi dostaje niezbędne dane do wyliczenia hasha. Gdy go odeśle, otrzymuje tymczasowe hasło logowania. Następnie wystarczy tylko uruchomić Winampa z odpowiednim parametrem, czyli adresem serwera w postaci:
| KOD | |
| 1 | http://login:haslo@adres_servera:80/nazwa_kanalu |
Przykład:
| KOD | |
| 1 | http://324328:MFFdqJkj6N@213.251.141.32:80/popolsku |
Pora na omówienie procesu szczegółowo, co przyda się bardziej zaawansowanym użytkownikom
Gadu-Gadu loguje się do serwera GGRadia przy użyciu SSL'a (HTTPS), czyli wszystkie przesyłane dane są szyfrowane.
1. Proces logowania:
| KOD | |
| 1 2 3 | GET /auth.gg?u=324328&c=popolsku&p=moje_haslo&v=7.5.354 HTTP/1.0 User-Agent:GaduRadio Host: 213.251.141.32:443 |
Zainteresowani mogą wpisać w przeglądarce:
| KOD | |
| 1 | https://213.251.141.32/auth.gg?u=324328&c=popolsku&p=haslo&v=7.5.354 |
Rzecz jasna, należy wpisać własny numer GG oraz hasło. Jeśli proces logowania nie przeszedł pomyślnie, dostaniemy odpowiedni komunikat z tekstem lub dane potrzebne do wyliczenia hasha.
| KOD | |
| 1 2 3 4 5 6 7 8 | HTTP/1.1 200 OK Date: Thu, 11 May 2006 00:23:26 GMT Server: GRS X-Powered-By: PHP/4.3.10-16 Connection: close Content-Type: text/html 1;9334;3137740;1330794;11 |
Ostatnia linijka to nasze dane.
2. Liczenia hasha:
Przyjmijmy oznaczenia: val1;val2;val3;val4;val5 dla stringu 1;9334;3137740;1330794;11
Zapis symboliczny operacji:
char first[val3] = {gg.exe od val2 i ilosci val3} - pierwszy bufor o zawartości pliku gg.exe od bajtu val2 i ilości val3 (czyli aż do val2+val3)
char second[val5] = {gg.exe od val4 i ilości val5}
char buff[val3*va5+9] = { polacz_buffory(first,second,"%_Martyna")}
char hash[32] = { MD5(buff) } - 128 bit w postaci tekstowej np. wartość "0x1232412....." wysyłana jako "1232412...."
MD5 - funkcja skrótu, algorytm ogólnie dostępny.
Jeśli hash był poprawny, dostajemy dane do logowania, w innym przypadku tekst.
Wysyłamy to przez zapytanie:
| KOD | |
| 1 2 3 | GET /auth.gg/?u=324328&h=743f88428ad098900dd12c7063cc78a8 HTTP/1.0 User-Agent:GaduRadio Host: 213.251.141.32:443 |
W przypadku, gdy wszystko jest poprawnie, otrzymujemy:
| KOD | |
| 1 2 3 4 5 6 7 8 | HTTP/1.1 200 OK Date: Thu, 11 May 2006 00:23:33 GMT Server: GRS X-Powered-By: PHP/4.3.10-16 Connection: close Content-Type: text/html 1;popolsku;MFFdqJkj6N |
Druga wartość to nazwa kanału, trzecia to tymczasowe hasło.
3. Włączamy Winamp'a
http://login:haslo@adres_servera:80/nazwa_kanalu
Dodaj opis
Dodaj pozdrowienie
Spis artykułów



Skomentuj