Luigi Auriemma

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

All times are UTC [ DST ]





Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 5 posts ] 
Author Message
 Post subject: Learning the Battlefield 2 and 2142 network protocol
PostPosted: 17 Oct 2007 10:24 

Joined: 13 Aug 2007 21:44
Posts: 4068
Location: http://aluigi.org
In these days, after the request of an user, I have created a hooker/dll injector for the clients and the servers of BF2/2142 of almost any version.

This small tool simply show you how the data, which is sent or received from the network, is read by the game engine.
So you will see all the fields in clear text, the format of the messages, and what means each bits in the packet.

Naturally you can't use this tool with Punkbuster enabled since it modifies the memory of the process, and it's a tool for developers and curious people so the 99% of players and admins don't need it.

http://aluigi.org/papers.htm#others-net


Top
 Profile  
 
 
 Post subject:
PostPosted: 18 Oct 2007 15:18 

Joined: 08 Oct 2007 22:03
Posts: 11
hmmm... interesting

Ill give it a check tonight and see what can i sniff.... lol.

Thaks bud.

Ciao.


Top
 Profile  
 
 Post subject:
PostPosted: 09 Nov 2007 14:39 

Joined: 08 Oct 2007 22:03
Posts: 11
i have managed to sniff the buddies retrival section, and its part of the login / session protocol.

Account / session protocol:
# Client: connects to account server
# Server: sends a challenge message

[code]\lc\1\challenge\SWRJLYCZHN\id\1\final\[/code]

# Client: sends a login message:

[code]\login\\challenge\V21CDSB2vtHFY0GyutWJvNlzOXT9n3tG\authtoken\B2Bc0...(shortened)...CAQTk=\response\09...(shortened)...24\port\9926\productid\10709\gamename\stella\namespaceid\20\sdkrevision\3\id\1\final\[/code]

# Server: sends session information

[code]\lc\2\sesskey\131701165\proof\b0740366d97d647f7632af53611938d2\userid\68781086\profileid\81246737\uniquenick\MadHatter2142\lt\rrPePfqBdPzOAuw0yzwbDR__\id\1\final\[/code]

# Server: sends a list of buddy messages you may have received:

[code]\bm\1\f\82188143\date\1175876059\msg\asdfasdf\final\[/code]

then sends a successive list of your buddies and their status:

[code] \bm\100\f\82533347\msg\|s|0|ss|Offline\final\
\bm\100\f\81437920\msg\|s|0|ss|Offline\final\
\bm\100\f\81306093\msg\|s|0|ss|Offline\final\
\bm\100\f\81168298\msg\|s|0|ss|Offline\final\
\bm\100\f\81242994\msg\|s|0|ss|Offline\final\
\bm\100\f\82260954\msg\|s|0|ss|Offline\final\
\bm\100\f\95467242\msg\|s|0|ss|Offline\final\
\bm\100\f\82188143\msg\|s|0|ss|Offline\final\
\bm\100\f\81465904\msg\|s|0|ss|Offline\final\
[/code]
# it does some other things which aren't related to the buddy system, then
# Client: sends the log off message when it shuts down / when you quit

[code]\logout\\sesskey\131701165\final\[/code]


But, im not that sharp from here on, can someone give me hand here?


Top
 Profile  
 
 Post subject:
PostPosted: 05 Dec 2007 19:56 

Joined: 08 Oct 2007 22:03
Posts: 11
after a little more investigacion i have found out, that when you do a successfull login, the ea server retrives your list of saved buddies, and then returns the stats of each buddy... So there is no way to query this server for user status.


Top
 Profile  
 
 Post subject:
PostPosted: 07 Dec 2007 22:34 

Joined: 13 Aug 2007 21:44
Posts: 4068
Location: http://aluigi.org
I think gsplayers can be useful in what you want to do.
I need to reput the hands on this tool to see if I can optimize it more but probably exists a way to know if someone if online using the query used by gsplayers


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 5 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