Reversing Client and buiding a server from it

Results 1 to 10 of 10
  1. #1
    Member Vorlian is offline
    MemberRank
    Mar 2012 Join Date
    39Posts

    Reversing Client and buiding a server from it

    Reversing Client and buiding a server from it
    So, how do I start reversing this client to make a server? Do I need to capture the database requests and build a database based on the requests? I think that probably this go way further. Can you help me?

    Can you give some examples?

    Thanks everyone.


  2. #2
    Member AcarX is offline
    MemberRank
    Aug 2015 Join Date
    79Posts

    Re: Reversing Client and buiding a server from it

    I don't think the client would have anything to do with a database. I've asked similar questions before and the answer I got were something along: "Start from where recv/send(or sometimes WSA.. versions) is called and try to find where the packets are serialised/deserialised."

    Obviously depending on the game that can be very difficult. If there's an active server you could gather and reverse packets using that server which is what I ended up doing. IMO, packets aren't the biggest issue while writing an emulator. Writing production quality software(especially when you're aiming to serve thousands of clients) is quite hard.

  3. #3
    Member Vorlian is offline
    MemberRank
    Mar 2012 Join Date
    39Posts

    Re: Reversing Client and buiding a server from it

    problem is that this is very old version of the game (The best one) i think i have found the server address. i seen those send/recv and WSA
    but so far i don't really know what im doing at all...
    Seems there is loginServer then World server something like that ...



    - - - Updated - - -

    Update, i found where client is connecting to Login Server and then Game Server, So once its connected its loading LoginData.Dat file where you write logging details , but i cant find the Game server.
    aslo when connect to login server seems to check for version of the game then start to update if needed.
    Last edited by Vorlian; 16-12-16 at 12:56 PM.

  4. #4
    Member Vorlian is offline
    MemberRank
    Mar 2012 Join Date
    39Posts

    Re: Reversing Client and buiding a server from it

    More updates

  5. #5
    Hardcore Member Keristrasza is offline
    MemberRank
    Jun 2015 Join Date
    128Posts

    Re: Reversing Client and buiding a server from it

    More updates
    I'm guessing you're getting the ffff... stuff in your packet logging because you're printing signed chars, you need to convert them to unsigned char before printing.

    But yeah, you seem to be getting the hang of it otherwise. ^__^

  6. #6
    Member Vorlian is offline
    MemberRank
    Mar 2012 Join Date
    39Posts

    Re: Reversing Client and buiding a server from it

    Welcome to join the project :)

  7. #7
    Member AcarX is offline
    MemberRank
    Aug 2015 Join Date
    79Posts

    Re: Reversing Client and buiding a server from it

    Some games(probably most games) send game server credentials using the login server(in my case, it was when you selected a character). That could be the case for your game as well. If you click on top of 'recv' and press X it'll show you where that function is called. Once you found where recv is called you can keep following that routine and hopefully find out where packets are being parsed. It's also possible that packets are parsed else where which could make things a bit harder.

  8. #8
    Earth is Beautiful. vergil250493 is offline
    True MemberRank
    Jul 2009 Join Date
    brazilLocation
    430Posts

    Re: Reversing Client and buiding a server from it

    Well why not capture the packetz from client and just emu server side ?

  9. #9
    Account Upgraded | Title Enabled! jonnybravo is offline
    True MemberRank
    Sep 2006 Join Date
    764Posts

    Re: Reversing Client and buiding a server from it

    What game is this for?

    To be able to build a emulator without server side packets you would have to debug the packet from the client structure or from the "CASE" they use to grab the packet header and start sending data back base on that. While debugging more you can also find in the client where size and other data is checked. But a lot of trial and error.

  10. #10
    Member Vorlian is offline
    MemberRank
    Mar 2012 Join Date
    39Posts

    Re: Reversing Client and buiding a server from it

    Game is called Dransik. Well there is live server but its very very first version of the game (itle by title graphics.. got few people helping out...Would be nice if some more people join the project... would make this quicker :)



Advertisement