[GF] Calling internal send function, last byte missing

05/23/2023 20:58 DonAirBerlin#1
Hello together,

after receiving great help last time concerning my problem with the _thiscall function. I was able to do some cool stuff with the client.

Anyway now I started trying to submit packages directly to the server using the internal send function. As a base for that I used the help of @.Verkauf ([Only registered and activated users can see links. Click Here To Register...])

After realizing that his function in the end is not well formatted for the [GF] client (length need to be passed as first argument and the buffer as). I come to some new problems.

Mainly I got a kick after using the function with my own data (simple SendItemUse packet of size "4 BYTE").
Analyzing that I found out that the encrypted and sended package is of Size "5 Byte". That's the case for all packages. There is always one Byte added at the end of sequence before the encryption process.

I was not able to track that byte down. It looks even a bit random to me.

Is there anyone struggled with the same problem and can give some hints what the last byte is/how it is calculated.

Thanks in advance.
05/25/2023 10:56 DonAirBerlin#2
Solved. After hooking and using the send function with your own data, you need to do an additional call to a different function. you can find that second function after the send call was done by the caller function.

It takes no arguments except the Class Pointer.
05/26/2023 17:42 dave_m#3
There is an additional call that adds a random byte at the end of each packet. You need to simulate that one too.

I think I also saw pservers which had that removed so you could try that there for learning purposes too.
05/26/2023 22:05 DonAirBerlin#4
Yeah like you said you can just call the generator function without arguments and it gets added automatically and works. I am still trying to find out how to calculate that byte from scratch, but it's not my main focus for now.

Still thank you for your feedback :)

#closed