Quote Originally Posted by Ashime View Post
Thank you for responding Zegita.

Explaining the XOR pass and the encryption for the first packet makes sense. Does any of the source code use appendChecksum method inside the CryptEngine? It's called on, but doesn't return anything since the method is set to void. There is no getters for the getting the checksum value. What exactly is used for verifying the checksum? I have the method to verify the checksum, but there is no comments on what it is. Is it custom or is something used as an industry standard?

- - - Updated - - -

On the encXorPass, can you further explain how it works? I am trying to rewrite the code into something easier to read. This function uses an offset, which I'm getting confused on. My server doesn't work the same as the original files found on here, therefore the data passed to encrypt using the encXorPass will not have any offset. The data will start at index 0 of the byte array.

Sorry, I misunderstood the last part. You will need an encryption function to start at a specific index because when encrypting packets the packet data is flipped and sent via little endian so we can specify where encryption starts and for how many blocks to encrypt.

offset is where to start, length is how many bytes to encrypt forward from the offset.

Hopefully this removes some confusion.