ICQ:20年は制限ではありません







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
image












, ICQ: , . Artisto.









, ICQ :





20 . , 20 - .



All Articles