Today tAmMo sent me over his latest code which I uploaded to our git repository. The code should match the state of the binary used to capture the packets earlier, but fails to compile right now due to incompatibilities with the Helper.dll (even the one from the server does not work).
If you want to use the code the problems right now are:
Helper.HelperMethods.Instance does not exist.
Helper.BEBinaryWriter.WriteUInt16BEX does not exist.
Other than that the code import seems to have worked flawless :-)
Right. I had to add one more write method to helper library, slowly i understand the logic behind the packet generation. Example: If an value(string length, multi packets count, ...) is greater than 0x7F (0x80) it takes two fields, so value 0x0149 will become 0x8149. value 0x88 will become 0x8088. why they do it in this way, i don't know...? Maybe something with unicode encoding or the big endian use.
AntwortenLöschen-T-
Sorry haven't had time to send you the helper.dll source, because i'm rewriting the whole thing. Here is the method you need:
AntwortenLöschenpublic void WriteUInt16BEX(UInt16 value)
{
if (value < 128)
{
Write(value);
}
else
{
value += 0x8000;
Write(value);
}
}
http://www.bilder-upload.eu/show.php?file=8fd517-1365088758.jpg
LOL ;-)