Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> nowe phplibgadu?
fandos
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.05.2009

Ostrzeżenie: (0%)
-----


Czesc,

Jest moze cos takiego jak nowe phplibgadu? W gg 8.0 sie troche protokol zmienil i teraz to wcale nie chodzi...
A moze jest ktos kto by byl w stanie przerobic phplibgadu, uzywajac ponizszych dwoch linkow?

http://toxygen.net/libgadu/protocol/#ch1

http://www.uw-team.org/forum/viewtopic.php?t=7392

Najwazniejsze jest dla mnie logowanie i wysylanie wiadomosci. Prosze mnie nie odsylac do tematu o tym jak zrobic bramke gadu-gadu, gdyz jest on rownie jak phplibgadu przestarzaly.

Nowosci w gg 8.0 (wyciagniete z ekg):

#define GG_LOGIN80 0x0031
#define GG_LOGIN80_OK 0x0035
#define GG_NEW_STATUS80 0x0038
#define GG_NOTIFY_REPLY80 0x37
#define GG_STATUS80 0x0036
#define GG_SEND_MSG80 0x002d
#define GG_RECV_MSG80 0x002e
#define GG_USERLIST_REQUEST80 0x002f
#define GG_USERLIST_REPLY80 0x0030

Probowalem samemu cos kombinowac, lecz bez znajomosci socketow nawet nie udalo mi sie zalogowac..

Ten post edytował fandos 16.05.2009, 15:12:57
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
fandos
post
Post #2





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.05.2009

Ostrzeżenie: (0%)
-----


Niestety odpada, gdyz do kazdego numeru gg bym musial tworzyc nwoe konto (o ile dobrze rozumiem dzialanie tego).

Narazie sam doszedlem do tego, lecz cos jest nie tak z fwrite (prawdopodobnie argument sizeof(0x0031)):

  1. <?php
  2. $numergg = 12345;
  3. $haslo = 'alamakota';
  4. $zomg = fsockopen('91.197.13.73', 8074, &$errorNumber, &$errorString, 5);
  5. if (!$oms = fread($zomg, 12))
  6. {
  7.    return false;
  8. }
  9. else
  10. {
  11.    $aData = unpack('Vtype/Vsize/Vkey', $oms);
  12.    fwrite($zomg, pack('VVVVVVVVVVVVVVVVVv', 0x0031, sizeof(0x0031), $numergg, "pl", 0x01, _loginHash($haslo, (int)$aData['key']),0x0002, 0,0x00000007,0,0,0,0,255, 0x64, "Gadu-Gadu Client build 8.0.0.7669", sizeof("Gadu-Gadu Client build 8.0.0.7669"), 0));
  13.    stream_set_blocking($zomg, 0);
  14.    
  15. }
  16. function _loginHash($password, $seed)
  17. {
  18.        
  19.            $y = $seed;
  20.            $x = 0;
  21.            
  22.            for ($nr = 0, $length = strlen($password); $nr < $length; $nr++) {
  23.                $x = ($x & 0xFFFFFF00) | ord($password[$nr]);
  24.                $y ^= $x;
  25.                $y += $x;
  26.                $x <<= 8;
  27.                $y ^= $x;
  28.                $x <<= 8;
  29.                $y -= $x;
  30.                $x <<= 8;
  31.                $y ^= $x;
  32.                
  33.                $z = $y & 0x1F;
  34.                $y1 = ($y << $z);
  35.                if ($z < 32) {
  36.                  $y2 = $y >> 1;
  37.                  $y2 &= 0x7FFFFFFF;
  38.                  $y2 = $y2 >> (31 - $z);
  39.                }
  40.                $y = $y1 | $y2;
  41.            }
  42.            return $y;
  43. }
  44.  
  45. ?>


Bazowalem to na funkcji connect($uid, $password, $status = GG_STATUS_AVAILABLE) z phplibgadu.
Go to the top of the page
+Quote Post

Posty w temacie


Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 08:39