Tuesday, August 13, 2013

It's no IDA, yet?

Since I didn't have an ST62 disassembler, I started writing something myself. Took the opportunity to get familiar with all the new C++11 constructs. Don't know yet if I'll take this prototype much further. It would be nice to have a free IDA alternative, but that would require quite a bit more work :-)



3 comments:

Unknown said...

Hello
Im writing a custom client for Guild Wars. Your post about portal connection helped me very much. I have everything done: autheticating on server, encrypted game connection and half of portal logging.
The Login packet looks like this:
P56_PortalLogin(){ Header = 56; }
DWORD LoginCount;
BYTE UserId[16];
BYTE PwHash[16];
wchar_t unused[20];
wchar_t SecurityAnswer[20];
I know that email hash is static but i was unable to find the hashing function in gw. I suspect its a md5 since it is 16 byte long. The password hash changes everytime and it must have something in common with the SRP. Is there any way i could contact you via skype? Regards Conrad

Karl Vogel said...

To be brutally honest, if you're unable to resolve that issue, I doubt you will be able to write a custom client since that will require quite a bit more reversing to figure out how everything works.
You're not going to guess it by looking at packet dumps.

Unknown said...

Thank you for your answer. I've been developing bots for 2 years so i know everything about the game connection. Now im trying to get into login connection and since im not very experianced in SRP im asking for little help. Literally calculating password hash is everything i need to know.