Jump to content
Moopler
  • 1
Minseok

Question Maplestory Character Selection Packet

Question

006B "XXXXXX" 000CFBAB 00 "" "000000000000_00000000"

Anyone know what the bolded area is and how it's created?

Share this post


Link to post

4 answers to this question

Recommended Posts

  • 1

it's your character id innit

double click your own char in game and see if same value is in packet to confirm (should be towards the end of the pkt)

 

i confirmed it for you (idc about my pic):
 

→ | 013BBF2A | 6B 00 06 00 39 38 39 37 39 39 1A 44 44 00 ....
→ | 025DDA40 | 47 01 90 F9 AF 29 1A 44 44 00 FF 00 01 00 00

 

to answer the second part, how it is created, it is sent to the client upon entering character select.

Edited by Erotica
  • Like 1
  • Thanks 1

Share this post


Link to post
  • 1
3 minutes ago, Minseok said:

Thanks. It's the CWvsContext__dwCharacterID.


0312658C + 222C

 

or this call alternatively if you're more into that, which ends up just reading that pointer:

7a40aee87c.png

Share this post


Link to post
  • 0
        public static void SendSelectCharacter<T>(this LoginStageBase<T> s) where T : LoginContextModel
        {
            PacketWriter writer = new PacketWriter(LoginHeaders.S_SendSelectCharacter);
            writer.WriteMapleString(s.Context.Profile.PIC);
            writer.WriteUInt32(s.Context.CharacterId);
            writer.WriteBool(false);
            writer.WriteMapleString($"{s.Hwid.MACAddress[0]}-{s.Hwid.MACAddress[1]}-{s.Hwid.MACAddress[2]}-{s.Hwid.MACAddress[3]}-{s.Hwid.MACAddress[4]}-{s.Hwid.MACAddress[5]}");
            writer.WriteMapleString(s.Hwid.ToString());

            if (s.Client != null & s.Client.Connected)
                s.Client.SendPacket(writer, false);
        }

This is the complete structure. The last Hwid string is structured as follows:

public override string ToString()
        {
            return $"{BitConverter.ToString(MACAddress).Replace("-", string.Empty)}{HDDSerial.ToString()}{BitConverter.ToString(LocalIP).Replace("-", string.Empty)}{Checksum.ToString()}";

        }

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×