1年前、リリースからリリースまで、ICQがどのように整形手術とリフティングを行ったかを思い出しました 。 しかし、今日は記念日です-ICQは20歳です、これはくしゃみ猫ではありません! メッセンジャーの先祖と共に世代全体が成長しました。 そして、このようなイベントを記念して、20年にわたってICQで使用されているテクノロジーを振り返ってみることにしました。
何年も前に、ICQの最初の開発年については、ネットワーク上にあまり情報が残っていません。 1996年11月15日にイスラエルの高校生4人によってリリースされた最初のバージョンは、3ルーブルと同じくらい簡単でした。 実際、彼女はメッセージを交換することしかできませんでした。 そして、クライアントはicq.mirabilis.comサーバー、UDPポート4000に接続しました。
1年後の1997年12月までに、Windows 3.1x、95、NT、およびMacintosh用のクライアントアプリケーションがありました。 ユーザーの総数は500万人を超え、1日の視聴者は130万人に達し、同時に30万人のユーザーがオンラインでした。 今日、あらゆる携帯電話のソーシャルネットワークとインスタントメッセンジャーの背景に対してばかげているようです。 しかし、1997年、ダイアルアップインターネット、ブロードバンドアクセスなし、モバイルガジェットからこれまでの幅広い視聴者まで、ほとんどの場合ポケットベルが利用可能です。
1998年、ICQユーザーベースは3週間ごとに100万人増加しました。 オーディエンスの爆発的な成長により、開発者はクライアントとICQプロトコルを迅速に開発する必要がありました。 マイクロブログ機能は、98SEで配信されなかったメッセージを再送信するICQ 98バージョンで登場しました。
1998年半ば、ミラビリスはAOL(America Online)に4億700万ドルで買収されました。
登場からわずか2.5年で、ICQ 99aは、通信の履歴の保存、ユーザーの検索、メールの送信、連絡先リストでのグループの作成など、最小限の紳士的な機能をようやく獲得しました。
ICQプロトコルは、p2pおよびクライアントサーバーアーキテクチャの機能を組み合わせました。 最初は、暗号化はまったく使用されませんでした。つまり、データはオープンに転送されました。 とにかく、プロトコルの最初のいくつかのバージョンは、 ふるいのような穴でいっぱいでした 。
ICQ 99bがリリースされるまでに、プロトコルの5番目のバージョンはすでに使用されていました。 最初のバージョンは公開リリースで使用されなかったこと、つまり、正式にはICQがプロトコルの2番目のバージョンで公開されたことを明確にする必要があります。 3番目のバージョンでは、パケットヘッダーの例であるチェックサムチェックが登場しました。
2 Bytes - This is the Version of the protocol = 03 00 (Major, Minor)
2 Bytes - This is the Function code. The ones I know are listed below.
2 Bytes - First Sequence Code \ These are usually the same
2 Bytes - Second Sequence Code /
4 Bytes - This is the user ID of the client user
4 Bytes - These four bytes are ICQ's weak attempt at security:
to get these do the following:
check1 = ( data[8] << 24) | ( data[4] << 16 ) | ( data[2] << 8 ) | ( data[6] );
offs1 = Random % length; // offset into packet
offs2 = Random % 256; // offset into magic data
check2 = ( offs1 << 24 ) | !( data[offs1] << 16 ) | ( offs2 << 8) | !( magic[offs2] );
check = check1 ^ check2; // XOR the two checks
:
2 Bytes - Version Number (not Encrypted) = 04 00 (Major, Minor) 2 Bytes - Random number (Not Encrypted) ***** Everything from this point to the 1/4 mark is encrypted ***** 2 Bytes - Always 00 00 un-encrypted - Since the key is xored to encrypt - whatever numbers are here are the first 2 bytes of the encryption Key. 2 Bytes - Command Code. 2 Bytes - First Sequence Code 2 Bytes - Second Sequence Code 4 Bytes - User ID Number 4 Bytes - This is a Checksum. It is calculated the same as above - The packet is encrypted by XORing 1/4 of the packet with a key - The Key is calculated by multiplying the length * 0x66756B65 and adding the check value. 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 4 | 0 | RANDOM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Everything below this point is encrypted +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ZEROS | COMMAND | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SEQUENCE | SECOND SEQUENCE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UIN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHECK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
, IP, TCP-, . - . UDP.
, , TCP- -. IP .
, ICQ 2000b, , . , SMS . .
2002 AOL OSCAR. FLAP, , . , WIM.
2004 ICQ, Symbian S60. , , 1998 - Palm OS. — — ?
. , . 5.1 Global IP Solutions.
2007 ICQ 6, «» AOL' XML/CSS- Boxely.
2009 ICQ Windows Mobile. .
C 2007 2010 ICQ , AOL . 2010 Mail.Ru Group, 2011 7- , Facebook, Twitter, Gmail, Youtube, Flickr Mail.Ru.
. 7.7 UIN, . , , - ! . Facebook.
2012 . .
2012 ICQ 8, . , ICQ , VoIP: GIPS WebRTC, , . — . , .
2014 ICQ: , , , . ICQ . ZRTP, ICQ, .
2016 — «». , 24 . , .
2016 , , , . , , .
, , ICQ , . API Vinci.
- . . VisionLabs.
gif
, ICQ: , . Artisto.
, ICQ :
- : , ;
- : , ;
- : - , , , Siri.
20 . , 20 - .