EOSERV Forum > Programming > Unencrypted Packets on Endless Online
Topic is locked.
Page: << 1 2 >>
Unencrypted Packets on Endless Online
Author Message
Post #190002 Unencrypted Packets on Endless Online

Hello everyone, While working on my bot I found an UNKNOWN packet that was being sent to it by the server, as I did some more investigation on the packet i found that it was an unencrypted packet (or so i believe), so I am currently trying to understand how EO's unencrypted packets work, I am able to see a lot of text or strings in the packet data but there's also a lot of data not readable. I parse the string and store the data but I would like to know what this other unreadable data has.

If anyone has any useful information that can be provided I would be thankful.

13 years, 23 hours ago
Post #190005 Re: Unencrypted Packets on Endless Online

The other data is basically just the other chars/shorts/threes/ints.

They are made up of multiple bytes and in order for you to know what type of byte it is, youll need to know the packet structure of the PID(PacketFamily_PacketAction). Then those will be to be "decrypted"(its not really an encryption, its just how the single value is spread into multiple bytes.

The packet should just be split into this

Length of packet (2 bytes)

Packet Action (1 byte)

Packet Family (1 byte)

Data (x bytes)

 

So just check and see which packet it is. With it being raw, its probably the init packet.

---
Andrewbob - I would be on the fucking copter of rofls

Programmer, Web Developer, and Graphics Designer
13 years, 23 hours ago
Post #190048 Re: Unencrypted Packets on Endless Online

The following data is known to come to the client as unencrypted. Initial packet, contains encryption keys and ids. Map and Pub file downloads. Online List and "Friend List". Am I missing something here guys?

I am currently having a situation with one of my decryption routines that seems to throw off bad Action/Family sequences some times (but it is still being encrypted back the right way), so if you're having the same problem, let me know, a solution would be even more appreciated.


Edit: P.S. The "odd symbols" contained in the Online List packet is the characters' player/party/admin/admin-party icon and their level data (Yes, levels are contained in the Online List)

---
Wish upon a star!
13 years, 17 hours ago
Post #190049 Re: Unencrypted Packets on Endless Online

Thank you for the response. As a disclaimer, I am a beginner in the whole endless online packet world so everything i say is just an assumption.

No its not the Init packet, but its similar. Its the packet received when refreshing the online player list, which I'm guessing is how sites like rakuhana get online player status. I don't really know if it is really an unencrypted packet, but I tried using this method explained by addison, https://eoserv.net/forum/topic/5027#post23739, on the data that is recieved after "Decoding" and "Dickwinding" and I was not able to find any structure of data, but the raw data consists of some random data which im not sure how to read (im guessing it consists of values such as admin status, party status, title?) followed by guild tag (BUD, LL, Etc) a separation character with hex "FF" and the players name...then it repeats. 

What I would like to know is how to turn the unreadable data into byte... Would it be like converting the HEX value into decimal and processing those decimals as addison explain?

EDIT: Wrote this before reading plasmastars post. 

13 years, 17 hours ago
Post #190050 Re: Unencrypted Packets on Endless Online

The structure of the Online List SHOULD be LenByte_LenByte_Chr(255)_Chr(255)_INIT_PLAYERS (INIT_PLAYERS being 8)

The 255_255 signifies that the packet should NOT be encrypted/decrypted at any point.

Here is the full list of Unencrypted packets

Const INIT_OUT_OF_DATE=1
Const INIT_OK=2
Const INIT_BANNED=3
Const INIT_FILE_MAP=4
Const INIT_FILE_EIF=5
Const INIT_FILE_ENF=6
Const INIT_FILE_ESF=7
Const INIT_PLAYERS=8
Const INIT_MAP_MUTATION=9
Const INIT_FRIEND_LIST_PLAYERS=10
Const INIT_FILE_ECF=11

---
Wish upon a star!
13 years, 17 hours ago
Post #190051 Re: Unencrypted Packets on Endless Online
Hdom posted: (16th Apr 2013, 10:32 pm)

Thank you for the response. As a disclaimer, I am a beginner in the whole endless online packet world so everything i say is just an assumption.

No its not the Init packet, but its similar. Its the packet received when refreshing the online player list, which I'm guessing is how sites like rakuhana get online player status. I don't really know if it is really an unencrypted packet, but I tried using this method explained by addison, https://eoserv.net/forum/topic/5027#post23739, on the data that is recieved after "Decoding" and "Dickwinding" and I was not able to find any structure of data, but the raw data consists of some random data which im not sure how to read (im guessing it consists of values such as admin status, party status, title?) followed by guild tag (BUD, LL, Etc) a separation character with hex "FF" and the players name...then it repeats. 

What I would like to know is how to turn the unreadable data into byte... Would it be like converting the HEX value into decimal and processing those decimals as addison explain?

EDIT: Wrote this before reading plasmastars post. 


Strings ending in FF are break strings.

 

You should look at the eoserv source and see how its writing it.

 

PacketBuilder reply(PACKET_F_INIT, PACKET_A_INIT, 4 + client->server()->world->characters.size() * 35);
reply
.AddChar((reader.Action() == PACKET_LIST) ? INIT_FRIEND_LIST_PLAYERS : INIT_PLAYERS);
reply
.AddShort(online);
reply
.AddByte(255);
UTIL_FOREACH
(client->server()->world->characters, character)
{
if (character->hidden)
{
continue;
}

reply
.AddBreakString(character->name);
reply
.AddBreakString(character->title);
reply
.AddChar(0); // ?
if (character->bot && !client->player)
{
reply
.AddChar(ICON_SLN_BOT);
}
else if (character->admin >= ADMIN_HGM)
{
if (character->party)
{
reply
.AddChar(ICON_HGM_PARTY);
}
else
{
reply
.AddChar(ICON_HGM);
}
}
else if (character->admin >= ADMIN_GUIDE)
{
if (character->party)
{
reply
.AddChar(ICON_GM_PARTY);
}
else
{
reply
.AddChar(ICON_GM);
}
}
else
{
if (character->party)
{
reply
.AddChar(ICON_PARTY);
}
else
{
reply
.AddChar(ICON_NORMAL);
}
}
reply
.AddChar(character->clas);
reply
.AddString(character->PaddedGuildTag());
reply
.AddByte(255);
}

---
Andrewbob - I would be on the fucking copter of rofls

Programmer, Web Developer, and Graphics Designer
13 years, 17 hours ago
Post #190074 Re: Unencrypted Packets on Endless Online

Ok i think i get it now, Thank you all for everything. I figured it out, Ill post my findings when I'm done if anyone is interested.

13 years, 15 hours ago
Post #190076 Re: Unencrypted Packets on Endless Online
Plasmastar posted: (16th Apr 2013, 10:27 pm)

The following data is known to come to the client as unencrypted. Initial packet, contains encryption keys and ids. Map and Pub file downloads. Online List and "Friend List". Am I missing something here guys?

I am currently having a situation with one of my decryption routines that seems to throw off bad Action/Family sequences some times (but it is still being encrypted back the right way), so if you're having the same problem, let me know, a solution would be even more appreciated.


Edit: P.S. The "odd symbols" contained in the Online List packet is the characters' player/party/admin/admin-party icon and their level data (Yes, levels are contained in the Online List)


If you want to go more in depth with it ill try to help.
---
Andrewbob - I would be on the fucking copter of rofls

Programmer, Web Developer, and Graphics Designer
13 years, 15 hours ago
Post #190082 Re: Unencrypted Packets on Endless Online

Plasmastar, you mentioned that the online list packet also gave level information? Would you please hint at where in the packet would this be located? Is it in the Char being sent after the title?

13 years, 15 hours ago
Post #190087 Re: Unencrypted Packets on Endless Online
Hdom posted: (17th Apr 2013, 12:45 am)

Plasmastar, you mentioned that the online list packet also gave level information? Would you please hint at where in the packet would this be located? Is it in the Char being sent after the title?



That would most likely be it but no server really supports it.
---
Andrewbob - I would be on the fucking copter of rofls

Programmer, Web Developer, and Graphics Designer
13 years, 14 hours ago
Post #190092 Re: Unencrypted Packets on Endless Online

Yeah EOServ doesn't support it (wondering why) but Endless Online does, and as far as i can see that's the only out of place value in the structure of the packet. Although it makes no sense to me why player level data would get handled by a char, and how exactly this is possible.

13 years, 14 hours ago
Post #190101 Re: Unencrypted Packets on Endless Online
Hdom posted: (17th Apr 2013, 12:58 am)

Yeah EOServ doesn't support it (wondering why) but Endless Online does, and as far as i can see that's the only out of place value in the structure of the packet. Although it makes no sense to me why player level data would get handled by a char, and how exactly this is possible.


Well I don't think anyone expected anyone else to even reach level 100 back then. Being a char, it should cap the level to 252 or something.
---
Wish upon a star!
13 years, 14 hours ago
Post #190118 Re: Unencrypted Packets on Endless Online

I just confirmed that char in fact does supply level data. Now I'm wondering how rakuhana gets Exp data for their player search database, they have players TNL and Exp etc, also why does Eoserv not support level data in the player list packet? Is it just not used by the client at all so there wasn't a point?

13 years, 12 hours ago
Post #190119 Re: Unencrypted Packets on Endless Online
Hdom posted: (17th Apr 2013, 03:25 am)

I just confirmed that char in fact does supply level data. Now I'm wondering how rakuhana gets Exp data for their player search database, they have players TNL and Exp etc, also why does Eoserv not support level data in the player list packet? Is it just not used by the client at all so there wasn't a point?


There's still a lot that Sausage doesn't know about the packet structures. As for the TNL/EXP, I think they grab that when a player walks by or something, or they just plain out get it from the website or something? :\

Also, I found my bug, yay. :D
---
Wish upon a star!
13 years, 12 hours ago
Post #190121 Re: Unencrypted Packets on Endless Online

Thats great, glad u were able to solve it. About the exp/tnl part, what website are you talking about?

13 years, 12 hours ago
Page: << 1 2 >>
Topic is locked.
EOSERV Forum > Programming > Unencrypted Packets on Endless Online