Instructing the client



The WorldsAway2.4 client, which is the only one we're really interested in, was born in the days of Windows 3. Back then, Windows wasn't your computer's operating system, it was just one of several graphical program managers that would run on top of the real operating system, DOS, be it MS-DOS, PC-DOS or others. As such, the mechanisms for launching programmes were limited.  The facility to "run" a document, but have Windows automatically launch the relevant application, and load your document into it was pretty new:  Previously, under DOS, you fired up your copy of WordPerfect or Lotus 1-2-3 or whatever, and then used its options to open your file. Most applications were beginning to accept an initial data file to open as a parameter on the command line, but it wasn't always a given: You couldn't just run a data file; DOS didn't know what to do with it. This was, however, the mechanism this new-fangled Microsoft Windows leveraged to run documents.  By introducing a file-association table, linking files ending, say, ". TXT" to Notepad, it could turn clicking on the document into instead firing up notepad with the file you actually clicked on as a passed parameter. Notepad would then go open the file and show it to you.

This became a useful means to specify options to any program. The file passed might never be shown to the user, but would instead configure the associated application based on its contents. 

And this is how the WorldsAway client works. When you selected, within the CompuServe service, that you wanted to enter WorldsAway, what it did was actually send you a file called somethingiforgot.iv - the iv standing for InterVerse, the name of the technology Fujitsu created. Windows tried to run this, found a file association linked to wa32.exe, which had been added when you installed the client, and ran that instead, passing the iv file as a parameter. The client then connected to Fujitsu's servers and in the world you were. 

So what's in the iv, InterVerse, file? Very little, it turns out. Here's one-

[Message]
messagetype=Connect
[Connect Info]
worldname=dreamscape
serveraddr=wa4.worldsaway.com
loginport=54228
rpcport=14000
acctname=123456.7890@compuserve.com
username=123456.7890
needpassword=false
onetimepass=KUAAJJFZMSFDQKV
loginregion=4294967295

This is an original file, apart from changing the CompuServe ID. As you can see, it mostly consists of the server address and ports that the client needs to connect to, and the username and password it should use when it does. 

How did we find this out? By changing the file association for iv files to instead run notepad! Try and connect to the dreamscape, and instead up popped notepad with the parameter file nice and visible. I was so glad this was one file they did choose to send in plain text, not in a binary protocol. 

The upshot is, all we need to have to make the WorldsAway client connect to our own server is a modified iv file. Adjust the server address and ports, save it somewhere, write-protect it, (because the client tries to delete it after reading it,) and double click to run. Job done. 

One of the reasons, incidentally, it worked like this was because CompuServe handled your access to their network and generated the iv file. Once passed to the client on your PC, it made a connection over the Internet to Fujitsu. It seemed that neither could talk to the other directly. CIS just handed the client the username and password it should forward on, but didn't validate it still worked in the world. Similarly, Fujitsu's world server accepted the CompuServe account details and never checked they were still valid there. There was many a worldsaway user still accessing the service long after their CompuServe free trial had ended.... 

Next time.. your first server ..

Comments

Popular Posts