jeudi 27 mars 2014

[Source] Protocol Dumping topic





Code:


typedef struct {
/*00*/DWORD RefCount;
/*04*/DWORD Length; // inited to strlen
/*08*/CHAR Data[0]; // copy of string
} AString, *PString;

typedef struct {
/*00*/PVOID vFTable;
/*04*/PVOID Data;
/*08*/DWORD Length;
/*0C*/DWORD Limit;
} AutoArray;

// there's 27 base data type handles

// 8 bit values
#define PT_BYTE                0x00
#define PT_BOOL                0x00
// 32 bit values
#define PT_INT                0x01
// 64 bit values
#define PT_LONG                0x02
#define PT_FLOAT                0x03
#define PT_STRING        0x04
#define PT_DATA                0x04
#define PT_VECTOR        0x08
#define PT_OBJECT        0x13

// struct ^ auto array indices point to for packets
typedef struct {
/*00*/PString Name; // Name of this offset in the packet.
/*04*/DWORD Type;
/*08*/DWORD Unknown; // balls if i know, i got lazy...
/*0C*/DWORD Key; // license key encypherment
/*10*/PVOID Data; // buffer for reading and writing
/*14*/DWORD Offset; // offset into packet
} PacketTypeDescriptor;

AutoArray *packets = (AutoArray*) 0xDE3248; // DayZ 0.43.116251


As always, enjoy. Dump the packets or instrument them, it matters not to me... Just figured knowing the protocol might not be enough and some of you may actually want to push invalid data for shits and giggles.

<3!

As always, thanks to me, and yes I work in C.

Have fun and profit.





Aucun commentaire:

Enregistrer un commentaire