Xentales
http://xentales.com/

Xenimus Update - 1.253
http://xentales.com/viewtopic.php?f=34&t=95124
Page 1 of 1

Author:  Andy123456 [ 13 Dec 2017 15:06 ]
Post subject:  Xenimus Update - 1.253

Some changes in this update:

encit.dat now has an extra variable in the header, I suspect this is the RBG modifications for each item?

4 bytes unk1
for (i = 0; i <= unk1; ++i) 4 bytes unk
4 bytes unk2
for (i = 0; i <= unk2; ++i) 4 bytes unk
4 bytes unk3
for (i = 0; i <= unk3; ++i) 4 bytes unk
4 bytes num_items
for (i = 0; i <= num_items; ++i) 220 bytes item data

Author:  Andy123456 [ 13 Dec 2017 15:06 ]
Post subject:  Re: Xenimus Update - 1.253

Obfuscated traffic and files has a new lookup key table compared to the old version of Xen. Probably why this update is so large.

New key:

0x00, 0x60, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3F, 0x66, 0x66, 0x66, 0x3F,
0x9A, 0x99, 0xD9, 0x3F, 0x9A, 0x99, 0x19, 0x40, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x60, 0x40,
0x9A, 0x99, 0x79, 0x40, 0x66, 0x66, 0x86, 0x40, 0xCD, 0xCC, 0x8C, 0x40, 0x00, 0x00, 0x90, 0x40,
0x33, 0x33, 0x93, 0x40, 0x66, 0x66, 0x96, 0x40, 0x9A, 0x99, 0x99, 0x40, 0xCD, 0xCC, 0x9C, 0x40,
0x00, 0x00, 0xA0, 0x40, 0x33, 0x33, 0xA3, 0x40, 0x66, 0x66, 0xA6, 0x40, 0x9A, 0x99, 0xA9, 0x40,
0xCD, 0xCC, 0xAC, 0x40, 0x00, 0x00, 0xB0, 0x40, 0x33, 0x33, 0xB3, 0x40, 0x66, 0x66, 0xB6, 0x40,
0x9A, 0x99, 0xB9, 0x40, 0xCD, 0xCC, 0xBC, 0x40, 0x00, 0x00, 0xC0, 0x40, 0x33, 0x33, 0xC3, 0x40,
0x66, 0x66, 0xC6, 0x40, 0x9A, 0x99, 0xC9, 0x40, 0xCD, 0xCC, 0xCC, 0x40, 0x00, 0x00, 0xD0, 0x40,
0x33, 0x33, 0xD3, 0x40, 0x66, 0x66, 0xD6, 0x40, 0x9A, 0x99, 0xD9, 0x40, 0xCD, 0xCC, 0xDC, 0x40,
0x00, 0x00, 0xE0, 0x40, 0x33, 0x33, 0xE3, 0x40, 0x66, 0x66, 0xE6, 0x40, 0x9A, 0x99, 0xE9, 0x40,
0xCD, 0xCC, 0xEC, 0x40, 0x00, 0x00, 0xF0, 0x40, 0x33, 0x33, 0xF3, 0x40, 0x66, 0x66, 0xF6, 0x40,
0x9A, 0x99, 0xF9, 0x40, 0xCD, 0xCC, 0xFC, 0x40, 0x00, 0x00, 0x00, 0x41, 0x9A, 0x99, 0x01, 0x41,
0x33, 0x33, 0x03, 0x41, 0xCD, 0xCC, 0x04, 0x41, 0x66, 0x66, 0x06, 0x41, 0x00, 0x00, 0x08, 0x41,
0x9A, 0x99, 0x09, 0x41, 0x33, 0x33, 0x0B, 0x41, 0xCD, 0xCC, 0x0C, 0x41, 0x66, 0x66, 0x0E, 0x41,
0x00, 0x00, 0x10, 0x41, 0x9A, 0x99, 0x11, 0x41, 0x33, 0x33, 0x13, 0x41, 0xCD, 0xCC, 0x14, 0x41,
0x66, 0x66, 0x16, 0x41, 0x00, 0x00, 0x18, 0x41, 0x9A, 0x99, 0x19, 0x41, 0x33, 0x33, 0x1B, 0x41,

Author:  Andy123456 [ 14 Dec 2017 12:12 ]
Post subject:  Re: Xenimus Update - 1.253

Some changes to packets:

Packet 0x04 (LocalModelUpdate)

Code:
struct LocalModelData
{
   uint8 shield;
   uint8 helmet;
   NEW uint8 unkmodel; //probably boots, cape appears to be part of the selectable texture bits
   NEW uint8 unused; //seems to be some padding, or forgot to implement? Is never referenced in client!
   uint16 charmodel;
   uint16 weapon;
   uint16 serverid;
   uint16 checksum;
};


Packet 0x03 (UpdateAll) - Unit Update Section
Code:
struct UpdatePacketUnitModels
{
   uint16 character;
   uint16 weapon;
   uint8 shield;
   uint8 helmet;
   NEW uint8 unknown; //probably boots
   uint16 extrabits; //bits >> 4, bits & 0x0F, (bits >> 8) & 3. Probably colourtexture1, colourtexture2, capetexture
};

Author:  Andy123456 [ 24 Dec 2017 04:53 ]
Post subject:  Re: Xenimus Update - 1.253

The chat data for units around your character has also changed.

Previously it gave you the chat size as the first byte and you would just read that amount of bytes and add it to your pointer.

You now need to add 1 additional byte for the null terminator. This terminator is now included in the string size.

Code:
         if (updateflag & 0x20)
         {
            uint8* chatsize = &buffer[packetpos];
            uint8* charptr = &buffer[packetpos + 1];

            std::string chatstr = "";
            uint8 chatsz = 0;

            while (*charptr != 0) //null byte
            {
               chatstr += *charptr;
               charptr++;
               chatsz++;
            }
            ++charptr; //increment for the null, we don't loop over it!
            ++chatsz;

            if (chatsz != *chatsize)
               XENLUA_LOG("Warning: Packet corruption, expected equal (chatsize %u chatszcompute %u)\n", *chatsize, chatsz);

            //packetpos += 1; //size byte
            //packetpos += chatsz; //string size
            //packetpos += 1; //null terminator

            packetpos += *chatsize + 1;

#ifdef DEBUG
            XENLUA_LOG("Chat: %s\n", chatstr.c_str());
#endif
         }

Page 1 of 1 All times are UTC - 5 hours [ DST ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/