[Help] Skipping login screen?

Results 1 to 12 of 12
  1. #1
    Developer nevS is offline
    MemberRank
    Aug 2005 Join Date
    GermanyLocation
    531Posts

    Support [Help] Skipping login screen?

    Hello,

    does anyone know if or how it's possible to skip the login screen when starting the game (season 6e3 gmo client)? Sending anything as login credentials would be okay, too...
    Easiest for me would be to send some packets to the client as I'm not an expert in binary (exe) editing xD

    Why do I need this? I would like to build something like "MU Offline" but with a very simple setup (no database etc.), based on my OpenMU project


  2. #2
    cMuServices cMu is offline
    MemberRank
    Jan 2017 Join Date
    462Posts

    re: [Help] Skipping login screen?


  3. #3
    0x4D696E68 myheart is offline
    MemberRank
    Jun 2017 Join Date
    354Posts

    re: [Help] Skipping login screen?

    i think you can do that on server side, check something like ServerListSend,... and change it = LoginSuccessSend packet
    Last edited by myheart; 27-03-18 at 05:26 PM.

  4. #4
    Developer nevS is offline
    MemberRank
    Aug 2005 Join Date
    GermanyLocation
    531Posts

    re: [Help] Skipping login screen?

    @cMu: The "Ultimate Launcher" doesn't seem to work with GMO Main.exe. It does start it with parameters "connect User Password", but the Login Dialog still shows up.
    The original gmo client is a bit different I guess... it was started by a Browser Plugin which set the account id and disabled the textbox, BTW ;)
    @myheart: This doesn't work I guess... the packet which shows the login dialog contains the own player id which the client needs.

  5. #5
    Developer nevS is offline
    MemberRank
    Aug 2005 Join Date
    GermanyLocation
    531Posts

    re: [Help] Skipping login screen?

    Any other ideas?

  6. #6
    Developer nevS is offline
    MemberRank
    Aug 2005 Join Date
    GermanyLocation
    531Posts

    re: [Help] Skipping login screen?

    bump :)

  7. #7
    0x4D696E68 myheart is offline
    MemberRank
    Jun 2017 Join Date
    354Posts

    re: [Help] Skipping login screen?

    the client doesn't required login box,
    like reconnect system.
    i think you can send packet ("login successful" = characters list send) to client .
    and remove username and password recv in server.
    and define one user and pass by default.

  8. #8
    Developer nevS is offline
    MemberRank
    Aug 2005 Join Date
    GermanyLocation
    531Posts

    re: [Help] Skipping login screen?

    well, you can’t compare reconnect system with the normal login screen... Even if you reconnect, the code walked through the login screen before. This sets some stuff (player id, game state) which might be required for the game to work correctly afterwards.

    I watched a short tutorial about ollydbg and x32dbg on youtube and I think it might be possible to skip the screen by modifying the binary code. I already identified some function calls, e.g. sending a login request and the packet handling logic of the first packet which causes the login dialog to appear. I also found the address where the game stores the own player id. I think I could try several things to get it working soon :)

  9. #9
    Developer nevS is offline
    MemberRank
    Aug 2005 Join Date
    GermanyLocation
    531Posts

    Re: [Help] Skipping login screen?

    My findings so far (client 1.04d gmo):
    Addresses:
    - Player ID: 0x87935A8
    - Some state which gets set to 2 before log in dialog appears: 0x87935A4
    - calling login function (see 0x0040B916):
    push account name
    push pw
    call 0x009CF3B0

    So I tried to do the following modifications:







    Unfortunately, it didn't work - the login box still appears and no login packet is sent. I probably missed something :-/

    EDIT: I missed that 0x009CF3B0 actually doesn't cause the login packet to be send... it actually happens somewhere in the calling function after 0x0040B916.
    EDIT2: The packet gets constructed at: 0x0040B928 and following
    and sent at: 0x0040BAA2 -> 0x00404D70

    So, basically it should be possible to put a constructed login packet into memory and then to call 0x00404D70 instead of the code in my first picture.
    Last edited by nevS; 08-01-19 at 08:46 PM.

  10. #10
    Don't be afraid to ask! RevolGaming is offline
    MemberRank
    Jun 2012 Join Date
    1,458Posts

    Re: [Help] Skipping login screen?

    Quote Originally Posted by nevS View Post
    @cMu: The "Ultimate Launcher" doesn't seem to work with GMO Main.exe. It does start it with parameters "connect User Password", but the Login Dialog still shows up.
    The original gmo client is a bit different I guess... it was started by a Browser Plugin which set the account id and disabled the textbox, BTW ;)
    @myheart: This doesn't work I guess... the packet which shows the login dialog contains the own player id which the client needs.
    Ultimate Launcher doesntwork ,because ... you should handle the stuff in the "main dll" source.... Thats how I made it with my project. You give the information with parameteres and than handle it with the dll source.

    There is an auto login script for TT files, thats what I copied.

  11. #11
    Developer nevS is offline
    MemberRank
    Aug 2005 Join Date
    GermanyLocation
    531Posts

    Re: [Help] Skipping login screen?

    I understand... so is there any client dll source available which handles that?

    Trying to do this in the binary cost me a lot of time already :(

  12. #12
    Developer nevS is offline
    MemberRank
    Aug 2005 Join Date
    GermanyLocation
    531Posts

    idea Re: [Help] Skipping login screen?

    Okay, just in case someone is interested, I found a very very simple solution - a one byte change in the main.exe.
    At 0x0063CF12, instead of setting the value 0x02, I set 0x14. When this value gets set, the client is not showing the login box anymore, but is requesting the character list.
    To get this working, the server side has to be adapted as well, because there is no login packet incoming anymore.



Advertisement