PDA

View Full Version : Eqim



chud
02-05-2003, 07:16 PM
I'd like to write an application that can communicate back to in-game (preferrably via tells or channels). EQ Instant Messenger seems like the logical way to do this, but I need to communicate programmatically. So basically I need to figure out the protocols, ports, etc that EQIM uses.

I have programming experience to write the socket level interaction. I could just use some help or pointers in reverse-engineering the EQIM. Obviously my first step is to sniff the network.

I thought I'd check here to see if anyone has done any work on this so I can save a few steps.

Thanks!

Zor
02-06-2003, 10:39 AM
I did some work on it. It took a while to figure out how messages are encrypted, but that turned out to be quite easy. Using a char array, char[x] XOR char[x-4] -> plaintext most of the time.

Theres other problems that stopped my work. Biggest was, who in thier right mind is going to use a program that asks for their user name and password, beside the person that wrote it? :) Next biggest problem was figuring out how to calculate the message checksum. The encrypted messages have a 2 byte checksum at the end, and I couldnt figure it out. Finally, the password is encrypted, but you can sniff that from EQIM, and it never changes. I'm guessing its some sort of DES variant, using CBC from what I can tell. But thats the extent of my encryption knowledge.

So, I was only able to log in, using my sniffed password. If you sniff the EQIM connection, logging in is pretty much laid out for you. Just look at what is sent to/from 64.37.148.142. And make sure your program sends "0x00 0x05 0x00 0x29 0x48 0x23" as the last thing. That seems to be a disconnection notification. If you dont send it, the EQIM servers will try to contact you for hours, and you wont be able to log in... buggy pile of shtuff...

Dedpoet
02-06-2003, 12:54 PM
This is a bit off-topic for the thread, but I quit using EQIM because it is utter junk. It constantly crashes for me on Win2k on a machine that is normally very stable. Every time it crashes, the XML file with all your buddies gets deleted. It got to the point where I actually kept a backup of the XML file, so when it crashed I could just drop a copy back in so I didn't have to add all my buddies again. Junk.

Zor
02-06-2003, 01:09 PM
Yeah, thats why I started trying to write a clone of EQIM. Junk.

l0s3r
02-06-2003, 01:11 PM
hehe make it a plug in for either Gaim or trillian =P

S_B_R
02-06-2003, 01:43 PM
Yes, Make is a Plugin for gAIM! :D

Mr Guy
02-06-2003, 03:35 PM
I'd settle for someone telling me how to wrap it on a window's NT box so I can pipe it through to my home proxy and back out.

I'm sure something can be done with IP Tunnels but I have no idea how.

Synapse
02-15-2003, 04:53 PM
I have plenty of work done on this subject (various parts of the EQIM protocol, encoding messages, the checksum, packet structures, etc). If there is interest from other potential developers (C++) send me a private message or email.

sauron
02-17-2003, 08:09 PM
It constantly crashes for me on Win2k on a machine that is normally very stable. Every time it crashes, the XML file with all your buddies gets deleted.

I've found it always crashes if I run EQIM and then log on to Everquest while EQIM is running. And then, it deletes my contact list.

That would be great to have an alternative app to use -- especially if it could be a plugin for ICQ (or at least some IM app).

Freakyuno
02-18-2003, 12:10 PM
For the most part EQIM has been plenty stable for me under Windows XP Pro, SP 1.

There are a few things that will ALWAYS crash EQIM.
1.) Trying to log into a chat channel with the <name>:<password> syntax. Make sure to just use the name and let it prompt you for the password.
2.) Logging into EQ with it running
3.) Trying to modify your "buddy" list with chat or tell windows open.

If you avoid doing thoes, you can reduce your crashes considerably.

That said, it's still junk. :D

Dedpoet
02-18-2003, 12:14 PM
Wow, thanks, Freakyuno. I knew about 1 and 2, but it's number 3 that was getting me. I never made the connection.

Elyon
02-18-2003, 01:45 PM
I know this Site is NOT a support site for EQ or EQIM, but being that someone started this thread, I will ask. :D

I can't get an Answer from SOE on this, and I started sending them e-mails about it last December, but is anyone here able to use EQIM on the Tarew Marr Server? Mine always say's Server Down.


Thanks

Freakyuno
02-18-2003, 03:41 PM
Normally wouldnt answer this question here, but since I am bored out of my mind waiting for Redhat to do an FTP install, here's the short of it:

Each EQ Server is located on a different subnet in their network.
Each Subnet Routes different to the public IP addys.
The Tarew Marr server is located on a subnet that isnt directly routeable through an general IP session.

Like somebody else mentioned, if EQIM used IP Tunneling like it originally should have, then there probably wouldnt be a problem.

Short Answer: It aint gunna work.

seqmage
02-19-2003, 08:02 AM
Its nice to know that each EQ server is on a diffrent subnet,
But Tarew Marr being on a subnet that is not directly routeable is bull...

SOE fucked up the serverinfo.xml file and wont fix it.
This is a fix i found for this server.. it works..
DISCLAIMER: THIS IS NOT AN OFFICIAL SOE BOARD. IF YOU CANT FIGURE OUT HOW THIS WORKS.. TAKE YOUR QUESTION TO SOE BOARDS. YOU CAN USE THE INFORMATION YOU GAINED HERE, BUT I WOULD SUGGEST THAT YOU DONT MENTION YOU SAW IT ON AN SHOWEQ BOARD.


I've tried this myself, and it works!! If you don't already have a shortcut somewhere for EQIM, make one.

Right-click your EQIM shortcut, click Properties, then make sure the Target box says something like...

"C:\Program Files\Sony\Station\EQIM\EQIM.exe" /nopatch
Exactly like the above, quotes and everything, then click OK
If you dont make the shortcut, the next time you run EQIM, it will patch its self and you will loose the edit your about to do.

Now, open your favorite text editing program(notepad) and open the file named serverinfo.xml in the EQIM directory (C:\Program Files\Sony\Station\EQIM by default).

If you just click on the XML file, It will open in explorer and you cant edit it. Hold down your shift key and right click the file and pick open with.. then choose notepad.
Change this line

<Server namespace="tarew" id="64" name="Tarew Marr"/>

To this line...

<Server namespace="marr" id="64" name="Tarew Marr"/>

and save the file. Then click on that shortcut you made.

As of 19feb2003 this fix still works.

Elyon
02-19-2003, 02:51 PM
EXCELLENT, it DOES Fix the problem with Tarew Marr.

Thanks , really appreciate it.

S_B_R
02-19-2003, 04:11 PM
My EQIM has been surprisingly stable since I got it working at work. Had to tunnel it through SSH but its working! :D

seqmage
02-20-2003, 05:55 AM
did you use socks2http? then sockify EQIM?
or did you change something else..
I have the issue were AIM works but EQIM wont.
I can get out on port 80 but how do you make EQIM use that port?

S_B_R
02-20-2003, 09:12 AM
Well, I setup an SSH VPN between my (linux) workstation at work and my Linux box at home. Then on the EQIM box at work I used static routes to direct the connections over my VPN.

Here's a good howto on SSH-VPN (http://www.tldp.org/HOWTO/mini/ppp-ssh/)

The subnets EQIM wants to connect to are:
199.108.0.0
64.37.0.0

Actually, not only can I use EQIM in this manner I can also PLAY EverQuest at work ;)