Reverse engineering Calypso 2.40.41
by +MaLaTTiA


This is just a little text file to make you understand how much reverse engineering can help you not only to crack programs, but also (and this is the most important thing) to ameliorate them and make them better suit your needs. I've made some little studies on Calypso (a nice mail program which is very useful if you have a "secret identity" and need to keep all your info in different mailboxes) and I've discovered some nice undocumented features that I found really useful.



All started when I saw that Calypso is used to install a little program, called
Csendto.exe, in its directory and copy a link to it in the SendTo directory.
This program should let you select some files you want to send as an attach and
then attach them with just a click. Unfortunately it has a limitation: it sends
the files from the account you set as default... So what's the problem? Easy: you
have a program which lets you configure all the accounts you like and then, when
you want to send an attachment, you cannot easily choose from which account.

So, I've given a look to csendto.exe with LIST (find this program and USE it!
It's a very good program, IMO, if you want to view a text file, and it's perfect
if you want to view a dead listing because it can support VERY BIG files and has
a VERY fast search!). Here's the string I found:


SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Calypso.exe	"  -attach "  -nologo -default


WOA! Undocumented features! Here's a "-attach" switch, a "-nologo" and a
"-default" one! Well, I don't really know if they're undocumented, because I
didn't read manuals and help files, but they seem nice anyway :) I don't think
they deserve a description, they're quite self explaining: just read how I used
them.

FIRST of all, the -nologo switch: when you run Calypso you are prompted to
select one of the mailboxes you configured, but if you just doubleclick on one
of them you automatically start the program with the mailbox you chose, and a
splash screen appears.  As far as I know, there's no documented way to hide
that splash screen: at least, until now :) Yes, if you choose to run your .box
files with the -nologo switch, the splash screen doesn't appear! So I started
Regedit, opened the folder


	HKEY_CLASSES_ROOT\Calypso.Mailbox\Shell\Open\Command


and changed it from


	D:\WIN95\CALYPSO2\CALYPSO.EXE "%1"

to


	D:\WIN95\CALYPSO2\CALYPSO.EXE "%1" -NOLOGO


... et voila', the work is done :)

SECOND trick: I wanted to be able to choose which mailbox to use when I send
a file attach using Csendto program. So I opened Csendto with the hexeditor
and gave a look at the string... well, why don't we just try to cut away that
"-default" switch, which selects the default mailbox? So, I changed all the
bytes of the "-default" string in zeroes (as you know, zero is used as string
terminator) and saved the file (hey, remember to make a backup copy every time
you edit a file!) TA-DA!!! It works! Now when I select one or more files and
send them to Csendto, Calypso starts with the screen that asks which account I
want to use, then creates a new message with the file attached in the mailbox
I selected! :)


Well, this is all: not very much, but enough to show you that you should always
try to make the software you use fit your needs. Don't be fearful, TRY and look
at what happens after you change something! Now here's a little "homework" for
you: Calypso encrypts its mailboxes to make it harder to understand how it saves
them. Disassemble Calypso, try to understand how the encryption works and write
a little decryptor that makes the file easily readable (it's not hard, you can
easily understand and do it in a few hours IMO).

(c) .+MaLaTTiA. 1998.

WARNING: this tutorial is published for EDUCATIONAL PURPOSES only! Nobody except you is responsible for what you do with the things you read here. Also, if you intend to use shareware programs for a period longer than the allowed one remember that you have to BUY them!