• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

ICQ Klasse

Status
Für weitere Antworten geschlossen.

T-sneak

Mitglied
Hi hab im Internet viel nach einer guten bzw funktionierenden gesucht habe aber keine einzige gefunden deswegen wollte ich mal fragen ob ihr vlt. eine habt? bzw informationen wie man vorgehen muss damit es funktioniert dann würde ich mir die auch selbst schreiben..
lg
 
Ich kenn keine Klasse dafür aber vlt. helfen dir diese Informationen.

ICQ baut auf dem OSCAR Protokoll auf
:arrow:OSCAR (Protokoll - Wikipedia)
Das läuft über TCP also kannst du z.b. zum verbinden PHP: fsockopen - Manual benutzen und dann mit PHP: fwrite - Manual und PHP: fgets - Manual zum senden / empfangen benutzen.

Über google und wikipedia müsstest du herausfinden können wie das OSCAR funktioniert. Damit sollte sich dann eigentlich was basteln lassen

greez Frank
 
also verbindung aufbauen also connecten so das ich online bin mit sleep(120) und dann disconnect geht schon mal ^^ nur nachrichten senden haut nicht hin.. naja ich weiß auch iwie net so was ich dem server sozusagen sagen soll xD
 
//EDIT: erst denken dann antworten.

Ps: Wenn du mich in ICQ anschreiben magst (310031830) dann kannst du von mir die oscar.dll bekommen.
 
habs schon geschaft =)
hab mal ne demo für euch online gestellt (der hat nur 6 icq nr im chache) also net so oft reloaden damit die anderen auf mal testen können ;) der geht die zwar nacheinander immer wieder durch aber iwann is da ja auch mal schluß und er schreibt das man zu schnell reconnected mit dem einen account ;)


http://index.jonas-design.net/icq/send.php?uin=

hängt einfach eure ICQ nr hinten dranne ;) wenn ihr hinter Hallo , noch einen namen wollt könnt ihr noch den parameter &name= nutzen :)
 
Zuletzt bearbeitet:
yep hab in google ne seite gefunden die mir genau gesagt hat wie mans macht :D ;heart glaub tutorials.de oder so?!? also halt theorie mässig..
 
Ich bin nicht so der Pro in PHP, sondern eher in den Grundlagen, aber was bringt das? :lol:
 
Was das bringen soll?
Man könnte sowas z.b. schön in seine Homepage einbauen und sich dann benachrichtigen lassen wenn irgendwas passiert ;) :P

In diesem sinne bitte ich auch um den source :)
 
ne den source code geb ich vorrest nicht raus.. geb ich vlt dann raus wenn ich es geschafft habe das ich auch budy list und so auslesen kann und die ganzen funktionen :) dann bastel ich nen ajax client der wird dann open source..
 
Wie währs denn mit nem link zu der Seite auf der du eine erklärung gefunden hast? ich finde nähmlich nix... :P

das würde schon reichen ^.^ ;)
 
ich zitiers dir raus:

Eine kurze Geschichte meiner ICQ-Verbindung:
Erzaehlt in 2 Akten von Ethereal und Maerchen-Onkel reptiler

1. Akt:
Verbindungsaufbau:
Die Verbindung wird mit login.icq.com (Alias fuer login.glogin.messaging.aol.com, IP 64.12.161.185) hergestellt.
Es werden dabei diverse Daten uebertragen, darunter natuerlich UIN, Passwort, Client und Version und andere Geschichten. Das alles mit dem Protokoll AIM. Alles ueber Port 5190.
Am Ende dieser Kommunikation bekomme ich im Feld BOS server string die IP 64.12.25.188 und wieder Port 5190 mitgeteilt.
Ich verbinde mit der erhaltenen IP, auch mittels AIM-Protokoll.
Durch das AIM-Generic-Protokoll wird mir die Liste der Supported Services geschickt. Darunter finden sich unter anderem AIM Buddylist, AIM User Lookup, AIM SSI und AIM ICQ.
Mit Versionsnummern versehen schicke ich die Capabilities meine Clients und erhalte die Capabilities des Servers, auch mit Versionsnummern, zurueck. Diese Capabilities decken sich mit den Supported Services.
Anschliessen sende ich, weiterhin mit AIM Generic und weiterhin an Port 5190, eine Self Info Request.
Der Self Info Reply enthaelt unter anderem meine UIN und meine IP. Auch ein Feld "Member since" ist enthalten.
Gleicher Port, anderes Protokoll, diesmal AIM BOS. Ich schicke einen "Rights Query".
Zurueck bekomme ich die "Max Invisible List Size" und die "Max Visible List Size".
Danach schicke ich einen recht umfangreichen ICQ Request ueber AIM ICQ und erhalte einen ICQ Response.
Ich schicke nun mittels ICQ Buddylist meine komplette Buddylist an den Server und sende danach "Request List" mittels AIM SSI.
Ich schicke einen weiteren ICQ Request, wieder mittels AIM ICQ. Auf diesen kam aber scheinbar nie ein Reply.
Mittlerweile kommt per AIM SSI die Info "No List" und ich sende, auch per AIM SSI, "Activate".

Zwischenspiel:
Die Verbindung ist nun soweit aufgebaut, das war schon ein Haufen Pakete.
Die komplette Kommunikation lief ueber TCP-Port 5190.
Nun will ich mal, ueber den Server, eine Message schicken. Da aufgrund der Zeitverschiebung keiner meiner Buddies online ist schicke ich einfach eine Testmessage an einen der nicht da ist.

2. Akt:
Die Nachricht:
Ich waehle einen meiner Buddies aus um ihm eine Nachricht (Inhalt: test) zukommen zu lassen.
Waehrend ich tippe wird dem Server schon mittels AIM Messaging eine "Mini Typing Notification" gesendet.
Dies wuerde den User, falls wir uns bereits unterhalten wuerden daruber informieren, dass ich gerade tippe und nicht schlafe.
Ein beherzter Druck auf "Send" veranlasst die Nachricht mittels AIM Messaging an den Server zu schicken. Enthalten sind natuerlich die UIN meines Buddies und die Nachricht.
Vom Server erhalte ich darauf ein simples Acknowledge, auch ueber AIM Messaging.

den rest hab ich mir über google zusammen gesucht.. also was übertragen wird und wie und was bei was rauskommt.. oder wie die error cods sind..
also das z.b.
0x00=>'no error',
0x01=>'multiple logins (on same UIN)',
0x05=>'bad password',
0x07=>'non-existant UIN',
usw..
 
als kleinen tipp.

Wenn man wissen will was icq wohin und wie verschickt, macht euch einfahc mal nen sniffer an und verschickt was. ^^
 
ne den source code geb ich vorrest nicht raus.. geb ich vlt dann raus wenn ich es geschafft habe das ich auch budy list und so auslesen kann und die ganzen funktionen :)

das ist ja stumpf, evtl. hat jemand lust mal eben ne funktion dazu zu schreiben oder etc.
dann bastel ich nen ajax client der wird dann open source..

irgendwie wiedersprichst du dir selber :)

ich hätte auch interesse, ggf sogar mit euch da an einem strang zu ziehen....
 
Und wo kriegt man so ein Sniffer her =P
Also ich meine, welchen würdest du empfehlen.

mfG

Richie

Ethereal oder WireShark sind gute...

ich zitiers dir raus:
[...]
Da will ja jemand die Quele nicht preisgeben...
Nachricht an ICQ-Nummer versenden - PHP @ tutorials.de: Forum, Tutorial, Anleitung, Schulung & Hilfe

Eine sehr einfache Möglichkeit ist auch einfach
http://www.icq.com/people/webmsg.php?to=uin

dann bastel ich nen ajax client der wird dann open source..
Aha, ich verstehe aber nicht warum der Code closed ist und nicht open?
 
Zuletzt bearbeitet von einem Moderator:
Wie das aussieht, wird ein bestehender Account benötigt, richtig? Ich denke mal, dass ich mir was ähnliches schreiben werde. Gefällt mir sehr gut. Man müsste nur noch irgendwas machen, damit das ganze nicth als Spam benutzt werden kann.
 
wieso sollte ich es open source machen ^^?
ich weiß schon warums closed source is weil es gibt en paar hacker die interesse hätten um icq spam bomben zu bauen ich wart erst mal an was ich als gegenleistung bekommen kann... wenns os wär würd ich nix mehr bekommen..

@Snoopy jap du brauchst en bestehenden account.. ich hab die in ner liste drinne also so:

ICQNR::PASSWORT
ICQNR2::PASSWORT
usw..

das parst der mir dann je mehr halt drinne sind umso mehr kann versenden werden weil die reconnect time is ja dann länger bis man wieder beim ersten is weil der geht die ja nach der reihe durch..
 
wieso sollte ich es open source machen ^^?
ich weiß schon warums closed source is weil es gibt en paar hacker die interesse hätten um icq spam bomben zu bauen ich wart erst mal an was ich als gegenleistung bekommen kann... wenns os wär würd ich nix mehr bekommen..

Das sind Kiddies und keine Erfahrenen Leute ;)

Ich setz mich auch mal dran. Nur hab ich schon seit mehr als nem Jahr nichts mehr mit Packets gemacht und weiß somit auch fast nichts mehr darüber :D
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben