The sixth version of the protocol, which appeared in ICQ 2000b, was completely redesigned, encryption was strengthened. Clients received IP and ports of each other from the server. To exchange messages with other people, send files, and the like, a client-to-client TCP connection was established. All data exchange with the server was carried out through UDP. Then the client confirmed the online status and requested the status of all users from the list. When establishing a connection with the server, the client sent him his IP, TCP port, user password and contact list. The packet is encrypted by XORing 1/4 of the packet with a key Since the key is xored to encrypt - whatever numbers are hereĪre the first 2 bytes of the encryption Key.Ĥ Bytes - This is a Checksum. ***** Everything from this point to the 1/4 mark is encrypted ***** In the fourth version, data encryption was implemented:Ģ Bytes - Version Number (not Encrypted) = 04 00 (Major, Minor) Offs2 = Random % 256 // offset into magic dataĬheck2 = ( offs1 << 24 ) | !( data << 16 ) | ( offs2 << 8) | !( magic ) Ĭheck = check1 ^ check2 // XOR the two checks Offs1 = Random % length // offset into packet The ones I know are listed below.Ģ Bytes - First Sequence Code \ These are usually the sameĤ Bytes - This is the user ID of the client userĤ Bytes - These four bytes are ICQ's weak attempt at security:Ĭheck1 = ( data << 24) | ( data << 16 ) | ( data << 8 ) | ( data ) In the third version, a checksum check appeared, an example of a packet header:Ģ Bytes - This is the Version of the protocol = 03 00 (Major, Minor)Ģ Bytes - This is the Function code. It should be clarified that the very first version was not used in public releases, that is, formally, ICQ was published with the second version of the protocol. īy the time ICQ 99b was released, the fifth version of the protocol was already in use. Anyway, the first few versions of the protocol were full of holes, like a sieve. Initially, encryption was not used at all, that is, data was transferred openly. The ICQ protocol combined the features of p2p and client-server architectures. Only 2.5 years after its appearance, Aska version 99a finally acquired a minimal gentlemanly set of functions: saving the history of correspondence, searching for users, sending emails, creating groups in your contact list and so on. In mid-1998, Mirabilis was acquired by AOL Corporation (America Online) for $ 407 million. The microblogging function has appeared in the ICQ 98 version, the re-sending of undelivered messages in the 98SE. The almost explosive growth of the audience forced developers to quickly develop the client and the ICQ protocol. In 1998, the ICQ user base increased by 1 million people every three weeks. But for a minute - 1997, the dial-up Internet, no broadband access for you, from mobile gadgets to a wide audience so far, mostly pagers are available. Today it seems ridiculous against the background of social networks and instant messengers in every mobile phone. The total number of users exceeded 5 million, the daily audience reached 1.3 million people, 300,000 users were online at the same time. And the client connected to the server, to the UDP port 4000.Ī year later, by December 1997, there were client applications for Windows 3.1x, 95, NT, and Macintosh. In fact, she could only exchange messages. The first version, released on Novemby four Israeli high school students, was as simple as three rubles. Over the past years, the network has not much information on the first years of development of ICQ. And in honor of such an event, we decided to look in retrospect what technologies have been used in ICQ for two decades. But today is the anniversary - ICQ is 20 years old, this is not a cat sneezed! For a whole generation has grown along with the progenitor of messengers. A year ago, we recalled how, from release to release, ICQ was undergoing plastic surgery and face lifting.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |