It will help me understand CRC and HShield flow a little bit, so I would have some knowladge when I will try to switch to clientless :). My goal isn't to create bot, but actually fix that expell when all HShield functions are bypassed and SendPacketMain is hooked :D. I know, I didn't chose exactly easiest goal, but let's say: It cannot hurt me if I learn some more.
#EDIT:
For the love of Jesus... how could I been so blind.
Packet order if driver isn't loaded is actually like this:
1. Packet with session keys
2. 0x09 packet (Version?)
3. 0x05 aka ping packet
4. Here - if jump isn't taken, then 0x5B "Ud" will be sent, disconnecting you, doesn't matter what's inside(I guess). If jmp is taken, then build 0x03 "m" packet (This packet will come out of "SendPacketMain"). This one will probably disconnect you too when debugging. I will have to check what's inside this one.
Two exports of HackShield are called just before these packets. Export 10 and Export 16 (called from export 10).
I hope that it will be helpful to someone