|
|
|
| Autor |
Správa |
final Light Star


Pohlavie:  Stav:  Založený: 04.12.2005 Príspevky: 206 Bydlisko: Prievidza Karma: 
|
Zaslal: 18 Jan 2006, 18:23 Predmet: php+icq |
|
|
Hi all,
ehm, nevie pls niekto, ako poslať cez php-čko message niekomu na icq?
dostal som taký tip, prezreť si icq protokol, trebars v zdrojákoch mirandy, ale nie že by som bol lenivý, čo vlastne som, takže sa mi tam nechce babrať v komplet procedurálne riešenom kode .) gúgla som prešiel snaď celého, ale výsledky boli len programy staré 4 roky, čiže nefunkčné a žiadne source code..
aa.. btw, pls shell_exec() vynechať.. bodlo by iba fsockopen()..
many thx ;P |
|
| Návrat hore |
|
 |
roman3x Medium Star


Stav:  Založený: 02.11.2005 Príspevky: 447
Karma: 
|
Zaslal: 18 Jan 2006, 19:33 Predmet: |
|
|
| niekde(a tusim viac krat) som videl php --> jabber a jabber servery uz maju casto transport na ICQ, tak mozno tak |
|
| Návrat hore |
|
 |
final Light Star


Pohlavie:  Stav:  Založený: 04.12.2005 Príspevky: 206 Bydlisko: Prievidza Karma: 
|
Zaslal: 18 Jan 2006, 23:47 Predmet: |
|
|
HUH.. jabber jabber.. čo to? tuším chatovací program? abo ja neviem, viem, že to tu mám ako plugin v trilliane, ale ešte som nečekol čo to je zač..
skúsim pozrieť na nete, ale pochybujem, že to tak pôjde.. |
|
| Návrat hore |
|
 |
mastermind Moderátor


Pohlavie:  Stav:  Založený: 09.02.2005 Príspevky: 4734
Karma: 
|
Zaslal: 19 Jan 2006, 0:07 Predmet: |
|
|
| jabber nie je chatovaci program ale protokol. |
|
| Návrat hore |
|
 |
roman3x Medium Star


Stav:  Založený: 02.11.2005 Príspevky: 447
Karma: 
|
Zaslal: 19 Jan 2006, 10:52 Predmet: |
|
|
| Finalway napísal: |
HUH.. jabber jabber.. čo to? tuším chatovací program? abo ja neviem, viem, že to tu mám ako plugin v trilliane, ale ešte som nečekol čo to je zač..
skúsim pozrieť na nete, ale pochybujem, že to tak pôjde.. |
hadam si uz nasielhttp://www.jabber.sk/, presnejsie: http://www.jabber.sk/sluzby.php |
|
| Návrat hore |
|
 |
final Light Star


Pohlavie:  Stav:  Založený: 04.12.2005 Príspevky: 206 Bydlisko: Prievidza Karma: 
|
Zaslal: 02 Jún 2006, 15:11 Predmet: |
|
|
mno, po dlhom čase trochu prekonaná lenivosť a trochu naštudovaný icq protokol z http://iserverd1.khstu.ru/oscar/ a výsledok icq trieda na posielanie správ do icq siete cez phpčko... ak by to dakto chcel, tak to tu máte..
| Kód: |
<?
class icq
{
var $soket,$input,$return,$bos_soket;
var $flap_pozicia = 44;
var $xor = "\xF3\x26\x81\xC4\x39\x86\xDB\x92\x71\xA3\xB9\xE6\x53\x7A\x95\x7C";
function flap_poziadavok()
{
$this->flap_pozicia++;
return pack('c',$this->flap_pozicia);
}
function spracuj($cislo,$icq=NULL,$pwd=NULL,$klient=NULL,$obsah=NULL,$cookie=NULL,$pre=NULL,$sprava=NULL)
{
// dlzky n a c pre flap: c=8 bitova, n=16 bitova
$this->return = '';
switch($cislo)
{
case '1' : // vyhotovenie ziadosti o autorizaciu + XORovane heslo - http://iserverd1.khstu.ru/oscar/cli_ident.html
// je tam este jedna moznost pomocou md5 hashu, ale nakolko to je zdlhavejsi proces, vyberam tento
$this->return = "\x00\x00\x00\x01"; // verzia protokolu
$this->return .= "\x00\x01" . pack('n',strlen($icq)) . $icq; // kanal . dlzka . icq_cislo
$this->return .= "\x00\x02" . pack('n',strlen($pwd)) . ($pwd ^ (substr($this->xor,0,strlen($pwd)))); // kanal . dlzka . xornute_heslo
$this->return .= "\x00\x03" . pack('n',strlen($klient)) . $klient; // kanal . dlzka . nazov_klienta
$this->return .= "\x00\x16" . pack('n',2) . pack('n',266); // kanal . dlzka . id_klienta
$this->return .= "\x00\x17" . pack('n',2) . pack('n',4); // kanal . dlzka . verzia_klienta
$this->return .= "\x00\x18" . pack('n',2) . pack('n',65); // kanal . dlzka . vedlajsia_verzia
$this->return .= "\x00\x19" . pack('n',2) . pack('n',1); // kanal . dlzka . najmensia_verzia
$this->return .= "\x00\x1A" . pack('n',2) . pack('n',3281); // kanal . dlzka . vyrobna_verzia
$this->return .= "\x00\x14" . pack('n',4) . pack('N',85); // kanal . dlzka . distribucne_cislo
$this->return .= "\x00\x0F" . pack('n',2) . "sk"; // kanal . dlzka . jazyk_klienta
$this->return .= "\x00\x0E" . pack('n',2) . "sk"; // kanal . dlzka . adresa_klienta
$this->return = "\x2a\x01\x13" . $this->flap_poziadavok() . pack('n', strlen($this->return)) . $this->return; // FLAP . FLAP_id . dlzka . ziadost
break;
case '2' : // spracovanie output-u, kanal: 0x05: xx xx BOS server:port
$this->parsuj = explode("\x00", $obsah);
$this->return = substr($this->parsuj[4],1);
break;
case '3' : // spracovanie output-u, kanal: 0x06: xx xx cookie, cookie moze obsahovat oznacenie kanalu 0x06
// preto sa parsuje od prvej najdenej hodnoty, dlzka cookie je 2048 bitov
$this->parsuj = explode("\x06", $obsah);
$this->return = substr($this->fread, strlen($this->parsuj[0])+3);
break;
case '4' : // poslatie cookie BOS serveru - http://iserverd1.khstu.ru/oscar/cli_cookie.html
$this->return = "\x00\x00\x00\x01"; // verzia protokolu
$this->return .= "\x00\x06" . pack('n', strlen($cookie)) . $cookie; // kanal coookie . dlzka . cookie
$this->return = "\x2a\x01\x13" . $this->flap_poziadavok() . pack('n', strlen($this->return)) . $this->return; // flap . flap_id . dlzka . obsah
break;
case '5' : // vytvorenie ziadosti - http://iserverd1.khstu.ru/oscar/snac_01_17.html
// hodnoty mozu byt default, pokial by vsak neposlal niektoru z horeuvedenych rodin, vtedy server nevyhovie
$this->return = "\x00\x01\x00\x17\x00\x00\x00\x00\x00\x17";
$this->return .= "\x00\x01\x00\x03\x00\x13\x00\x02\x00\x02\x00\x01\x00\x03\x00\x01";
$this->return .= "\x00\x15\x00\x01\x00\x04\x00\x01\x00\x06\x00\x01\x00\x09\x00\x01";
$this->return .= "\x00\x0A\x00\x01\x00\x0B\x00\x01";
$this->return = "\x2a\x02\x13" . $this->flap_poziadavok() . pack('n', strlen($this->return)) . $this->return; // flap/flap_id . dlzka ziadosti . ziadost
break;
case '6' : // ziadost o rate limits - http://iserverd1.khstu.ru/oscar/snac_01_06.html
$this->return = "\x00\x01\x00\x06\x00\x00\x00\x00\x00\x06"; // rodiny
$this->return = "\x2a\x02\x13" . $this->flap_poziadavok() . pack('n', strlen($this->return)) . $this->return; // flap/flap_id . dlzka ziadosti . ziadost
break;
case '7' : // http://iserverd1.khstu.ru/oscar/snac_01_08.html
$this->return = "\x2a\x2\x13" . $this->flap_poziadavok() . "\x0\x12\x0\x1\x0\x1e\x0"; // flap/flap_id, dlzka a default rodiny/SNAC rate-limits
$this->return .= "\x0\x1\x5e\xb4\x5c\x0\x6\x0\x4\x20\x8\x0\x20";
break;
case '8' : // http://iserverd1.khstu.ru/oscar/snac_01_1e.html
// status som nastavil na 0x0000 - online
// - http://iserverd1.khstu.ru/oscar/lists.html#user_status
$this->return = "\x00\x01\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x06\x00\x04\x00\00\x00\x00";
$this->return = "\x2a\x02\x13" . $this->flap_poziadavok() . pack('n', strlen($this->return)) . $this->return; // flap/flap_id . dlzka . obsah
break;
case '9' : // oboznamenie servera o tom, ze sme pripraveni na pouzivanie zakladnych funkcii
// http://iserverd1.khstu.ru/oscar/snac_01_02.html
$this->return = "\x00\x01\x00\x02\x00\x00\x00\x00\x00\x00\x00";
$this->return .= "\x01\x00\x03\x01\x10\x02\x8a\x00\x02\x00\x01\x01\x01\x02\x8a";
$this->return .= "\x00\x03\x00\x01\x01\x10\x02\x8a\x00\x15\x00\x01";
$this->return .= "\x01\x10\x02\x8a\x00\x04\x00\x01\x01\x10\x02\x8a";
$this->return .= "\x00\x06\x00\x01\x01\x10\x02\x8a\x00\x09\x00";
$this->return .= "\x01\x01\x10\x02\x8a\x00\x0a\x00\x01\x01\x10\x02\x8a";
$this->return = "\x2a\x02\x13" . $this->flap_poziadavok() . pack('n', strlen($this->return)) . $this->return;
break;
case '10' : // vypracovanie ziadosti a zaslatie spravy
$pre = str_replace('-', '', $pre);
$this->return = "\x0\x0\x0\x0" . $sprava; // kanal pre spravu . sprava
$this->return = "\x5\x1\x0\x1\x31\x1\x1" . pack('n', strlen($this->return)) . $this->return; // oznacenie spravy . dlzka . kanal+sprava
$this->return = "\x0\x4\x0\x6\x0\x0\x1\x5e\xb8\xe3\x0\x0\x0\x0\x1\x5e\xb8\xe6\x0\x1" . pack('c', strlen($pre)) . $pre . "\x0\x2" . pack('n', strlen($this->return)) . $this->return;
$this->return = "\x2a\x2\x13" . $this->flap_poziadavok() . pack('n', strlen($this->return)) . $this->return;
break;
}
return $this->return;
}
function pripoj($icq_cislo,$icq_heslo)
{
$icq_cislo = str_replace('-', '', $icq_cislo);
$this->soket = fsockopen('login.icq.com','5190'); // zacina spojenie s autorizacnym serverom
$this->fread = fread($this->soket, 10); // precita sa welcome "sprava"
$this->input = $this->spracuj(1,$icq_cislo,$icq_heslo,'ultra vyborny ;)');
fwrite($this->soket, $this->input); // posle sa ziadost o autorizaciu
$this->fread = fread($this->soket, 310);// server vracia icq, BOS server:port, a aut. cookie
@fclose($this->soket); // konci spojenie s autorizacnym serverom
if(strlen($this->fread) < 289)
{
return 0; // odstaveny log-in, alebo zle icq cislo/heslo, http://iserverd1.khstu.ru/oscar/auth_failed.html
}
$this->srv = explode("\x3a", $this->spracuj(2,0,0,0,$this->fread));
$this->bos_server = $this->srv[0];
$this->bos_port = $this->srv[1];
$this->cookie = $this->spracuj(3,0,0,0,$this->fread);
$this->bos_soket = fsockopen($this->bos_server, $this->bos_port); // zacina spojenie s BOS serverom
fread($this->bos_soket, 2048); // cita sa uvitacia sprava
$this->input = $this->spracuj(4,0,0,0,0,$this->cookie);
fwrite($this->bos_soket, $this->input);
fread($this->bos_soket, 2048); // server vracia http://iserverd1.khstu.ru/oscar/snac_01_03.html
$this->input = $this->spracuj(5);
fwrite($this->bos_soket, $this->input);
fread($this->bos_soket, 2048); // server vracia http://iserverd1.khstu.ru/oscar/snac_01_18.html
$this->input = $this->spracuj(6);
fwrite($this->bos_soket, $this->input);
fread($this->bos_soket, 2048); // server vracia http://iserverd1.khstu.ru/oscar/snac_01_07.html
$this->input = $this->spracuj(7);
fwrite($this->bos_soket, $this->input);
fread($this->bos_soket, 2048);
$this->input = $this->spracuj(8);
fwrite($this->bos_soket, $this->input);
fread($this->bos_soket, 2048);
$this->input = $this->spracuj(9);
fwrite($this->bos_soket, $this->input); // po tomto je icq on-line a moze sa poslat sprava
}
function sprava($pre,$sprava)
{
$this->input = $this->spracuj(10,0,0,0,0,0,$pre,$sprava);
@fwrite($this->bos_soket, $this->input); // poslatie spravy
}
function odpoj()
{
@fclose($this->bos_soket); // konci spojenie s BOS serverom
}
}
// -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
$icq = new icq;
$icq->pripoj('icq','heslo');
$icq->sprava('komu','sprava');
$icq->sprava('komu','dalsia sprava');
$icq->odpoj();
?>
|
|
|
| Návrat hore |
|
 |
Nosferatu Medium Expert

Stav:  Založený: 24.05.2005 Príspevky: 129
Karma: 
|
Zaslal: 05 Jún 2006, 21:51 Predmet: |
|
|
Kvalitna prácička, díki moc.. Kde si si preštudoval ICQ protokol plz?  |
|
| Návrat hore |
|
 |
lammer VIP


Pohlavie:  Stav:  Založený: 24.04.2004 Príspevky: 2098
Karma: 
|
Zaslal: 06 Jún 2006, 0:10 Predmet: |
|
|
| nice work veru |
|
| Návrat hore |
|
 |
final Light Star


Pohlavie:  Stav:  Založený: 04.12.2005 Príspevky: 206 Bydlisko: Prievidza Karma: 
|
Zaslal: 07 Jún 2006, 14:29 Predmet: |
|
|
thx ... nosferatu, prečítaj si moju správu ešte raz je tam link |
|
| Návrat hore |
|
 |
Nosferatu Medium Expert

Stav:  Založený: 24.05.2005 Príspevky: 129
Karma: 
|
Zaslal: 08 Jún 2006, 22:18 Predmet: |
|
|
sry , diki moc, mrknem, len kto má ľúštiť tu anglinu .. a čo také skype, sice to funguje trochu inak  |
|
| Návrat hore |
|
 |
mastermind Moderátor


Pohlavie:  Stav:  Založený: 09.02.2005 Príspevky: 4734
Karma: 
|
Zaslal: 09 Jún 2006, 0:10 Predmet: |
|
|
| Nosferatu napísal: |
sry , diki moc, mrknem, len kto má ľúštiť tu anglinu .. a čo také skype, sice to funguje trochu inak  |
ak sa nemylim tak skype pouziva uzavrety protokol. takze tam toho vela nenastudujes... |
|
| Návrat hore |
|
 |
hojko Site Admin


Pohlavie:  Stav:  Založený: 24.04.2004 Príspevky: 14671 Bydlisko: Európa Karma: 
|
Zaslal: 09 Jún 2006, 1:16 Predmet: |
|
|
| Tento script by sa dal dobre pouzit aj na spammovanie icq, ci je to osetrene protokolom tak, ze sa zablokuje icq cislo??? |
|
| Návrat hore |
|
 |
final Light Star


Pohlavie:  Stav:  Založený: 04.12.2005 Príspevky: 206 Bydlisko: Prievidza Karma: 
|
Zaslal: 09 Jún 2006, 19:36 Predmet: |
|
|
mastermind, uzavretý protokol? ehm.. vysvetlíš pls?
každopádne si sosni nejaký soft, prezeraj si pakety ktoré skype posiela, domýšľaj si čo je čo, ako to robili tí odkiaľ som študoval icq protokol.. (aspoň tak tipujem, že robili).. daj to sem a môžem sa pokúsiť o niečo..
hojko, no dá sa.. medzi každú deviatu správu treba dať sleep(1), na jednu sekundu to počká a posiela ďalej.. bo icq server ťa odpojí ak posieláš za sebou veľa správ.. + je to spravené tak, že to zaradenie flap formátu je od 44 do 256, takže max. pošleš cca 210 správ.. mohol by som to prerobiť, aby to bralo do 256^2, (menil by som aj prvú hodnotu zaradenia - \x13).. ak by ste chceli, ale až zajtra bo idem preč teraz.. |
|
| Návrat hore |
|
 |
gwixt Addict


Pohlavie:  Stav:  Založený: 24.09.2005 Príspevky: 3479 Bydlisko: Trash-Can Karma: 
|
Zaslal: 12 Jún 2006, 10:15 Predmet: |
|
|
| Finalway napísal: |
mastermind, uzavretý protokol? ehm.. vysvetlíš pls?
|
uzavrety sa mysli ze ho nikto okrem vyvojarov skype nepozna ....
icq je myslim otvoreny protocol ... keby bol uzavrety asi by nebolo tolko icq klientov (miranda, trilian, licq, gaim atd....) |
|
| Návrat hore |
|
 |
mastermind Moderátor


Pohlavie:  Stav:  Založený: 09.02.2005 Príspevky: 4734
Karma: 
|
Zaslal: 12 Jún 2006, 12:19 Predmet: |
|
|
presne ako napisal gwixt k icq protokolu existuje urcite nejaka dokumentacia. pri skype nie... a keby to mali robit len na zaklade odsnifovanych paketov tak este dodnes nevedia ako to funguje  |
|
| Návrat hore |
|
 |
|
|  |
|
|
Nemôžete odosielať nové témy do tohto fóra Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre Nemôžete hlasovať v tomto fóre Nemôžete pripájať súbory do tohto fóra Môžete sťahovať súbory v tomto fóre
|
Powered by phpBB © 2005 phpBB Group, phpBB SEO, © Hojko 2004-2008
[ Vygenerované za: 0.2s ] :: [ 16 Queries ] :: [ 68,126 stránok za dnes ] :: [ Dnes DB: 1,189,844 ] :: [ Max DB: 2,334,336 Queries ]
|