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!