Adding More Privacy to Users of Existing Messengers | CodeGuru

Adding More Privacy to Users of Existing Messengers

Environment: VC6, SP4, NT4, Win2K, Win9x Introduction SQLProxy is a program created for adding more privacy to users of existing messengers (first, Yahoo Messenger and later MSN, ICQ…). In the first versions, only Yahoo! messenger protocol is supported. Updates will be found at squrelayerproxy.sourceforge.net. How It Works SQLProxy will run on your computer and a […]

Written By
CodeGuru Staff
CodeGuru Staff
May 22, 2002
2 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

Environment: VC6, SP4, NT4, Win2K, Win9x

Introduction

SQLProxy is a program created for adding more privacy to users of existing messengers (first, Yahoo Messenger and later MSN, ICQ…). In the first versions, only Yahoo! messenger protocol is supported.

Updates will be found at squrelayerproxy.sourceforge.net.

How It Works

SQLProxy will run on your computer and a friend’s computer. Acting as an HTTP proxy, it will intercept the messages before they are sent on the network and will encrypt them. At their destination, SQLProxy will decrypt them. SQLProxy is acting as an HTTP proxy, but it knows just enough Yahoo! messenger protocol to encrypt/decrypt the message’s content. The transfer of files is not encrypted in any other way.

You need only to set a secret key with your friend (by phone or mail, not by messenger). Encryption is done with DES provided by the Crypt++ library. I have plans to add RSA (and key exchange protocol) later.

Crypt++ library is not provided here.

The sources exemplify an HTTP proxy, a simple connection forwarding to other host and port techniques and basics of Yahoo! messenger protocols. I heavily used CAsyncSocket because of its integration with MFC. Also, the sources exemplify use of Crypt++ library, a free C++ library with support for many cryptographic algorithms.

To add support for other messengers, I should get this code to a new level of generalization and I should add an improved structure, but the code is a good lesson about how to interact with an existing communication protocol without a perfect knowledge of it.

Please give me feedback if is working for you (or not) at my e-mail address.

Advertisement

Downloads

Download demo project — 132 KB

Download source — 33 KB

CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.