Luigi Auriemma

aluigi.org (ARCHIVE-ONLY FORUM!)
It is currently 19 Jul 2012 13:27

All times are UTC [ DST ]





Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 
Author Message
 Post subject: Gamespy Login Server - Remake
PostPosted: 18 Sep 2010 10:31 

Joined: 27 Dec 2007 09:55
Posts: 8
Hi guys,
I've done a complete remake of the gamespy login emulator the last 2 days. At the moment it has this features:
- MySQL + SQlite3 support
- only Battlefield 2 tested yet
- Create account -> every password possible
- Recieve Account by Mail and Username
- Any password possible now (but you have to register your account first [create new account])
- ONE executable which runs: gpcm.gamespy.com, gpsp.gamespy.com and battlefield2.available.com (the latter is not yet tested - EDIT: v. 1.1a has full support now; see (*))


What i have planned to do:
- PHP admin interface to:
    - kick users (if users are logged in it will just kick them back into the login menu)
    - delete users
- Python script system support
- Makefile for compiling and running the server under OS X and Linux
- Simple PHP script to allow users to creat their accounts via your website


This is especially addressed to aluigi:
Could you tell me how exactly the passwordenc stuff works?
Ive done a bit of research but i haven't found out anything usefull yet.

Download and issue-tracker:
http://gsloginserver.googlecode.com

(*) Some of you guys maybe noticed that BF2 sometimes takes a lot of time to even load the videos. This is due to BF2 sending a request to battelfield2.available.gamespy.com. If it doesn't get an answer it will try it multiple times and then give up (timeout is several seconds), this will take about 30 seconds. My emulator will send an answer and so speed up the BF2 start.


Last edited by Krauzi on 19 Sep 2010 10:42, edited 1 time in total.

Top
 Profile  
 
 
 Post subject: Re: Gamespy Login Server - Remake
PostPosted: 19 Sep 2010 01:59 

Joined: 16 Aug 2007 06:25
Posts: 367
Nice! 8)


Top
 Profile  
 
 Post subject: Re: Gamespy Login Server - Remake
PostPosted: 19 Sep 2010 10:47 

Joined: 13 Aug 2007 21:44
Posts: 4068
Location: http://aluigi.org
do you mean this one?
http://aluigi.org/papers.htm#gspassenc


Top
 Profile  
 
 Post subject: Re: Gamespy Login Server - Remake
PostPosted: 19 Sep 2010 11:20 

Joined: 27 Dec 2007 09:55
Posts: 8
exactly.
I just copied the source from there but i don't understand the system.
Could you tell me how you found out that things with the encryption after base64?


Top
 Profile  
 
 Post subject: Re: Gamespy Login Server - Remake
PostPosted: 19 Sep 2010 14:26 

Joined: 24 Jun 2010 10:04
Posts: 70
Location: aluigi not @ home
if you refer about how to implement the code, well it's just the calling of base64 decoder function and then gspassenc() for the decryption process and base64 encoding plus gspassenc() for the encryption.
gspassenc is used for both encryption and decryption because it's a xor operation (indeed it's even possible to use a fixed xor string)

instead if you are mean how I reversed the code, it was a classical debugger job.
I guess I inserted a breakpoint on the access of the "passwordenc" string or probably directly in the function that performs the base64 decoding, sincerely don't remember.
if you want to find the gspassenc code inside the executable/process of a game search its constants like 0x41a7 and 0x79707367

about base64 remember that Gamespy uses the chars "[]_" instead of "+/="

why are you interested to this?
usually people are interested only to the "implementation" part :)


Top
 Profile  
 
 Post subject: Re: Gamespy Login Server - Remake
PostPosted: 19 Sep 2010 14:49 

Joined: 27 Dec 2007 09:55
Posts: 8
well isn't it kinda hard to code such a function ( i mean gspassenc and gslame )?
It appears to be very complicated with all that bit operations :P


Top
 Profile  
 
 Post subject: Re: Gamespy Login Server - Remake
PostPosted: 19 Sep 2010 15:04 

Joined: 13 Aug 2007 21:44
Posts: 4068
Location: http://aluigi.org
no, it's enough simple.
just an assembly to C conversion


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 

All times are UTC [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
cron