Just shut up, I'll post it you baby. Stop pretending and stop posting.
Make a sendto hook, read packet with this:
for ( int i = 0; i < len; ++i ) {
if ( i != 0 && i % 16 == 0 ) {
int line = ( i / 16 ) - 1;
for ( int j = 0; j < 16; ++j ) {
char c = buf[line * 16 + j];
if ( c >= 32 && c <= 126 ) {
Example bypass for wheeled2.pbo, just finding the right byte sequence and then replacing the last 20 bytes as usual. This is the same as a usual packet hook only in C++.
if(buf[l * 16 + j] == 'X' && buf[l * 16 + j+2] == '(' && buf[l * 16 + j+10] == 'I' && buf[l * 16 + j+13] == 'E' && buf[l * 16 + j+14] == 'c' && xCVARS.Value("EnablePBOBypass"))
{
if(buf[l * 16 + j+52] == 0x2) // v2
{
int Offset = 32;
buf[l * 16 + j + Offset] = 0x11;
buf[l * 16 + j + (Offset+1)] = 0x50;
buf[l * 16 + j + (Offset+2)] = 0xCD;
buf[l * 16 + j + (Offset+3)] = 0xF9;
buf[l * 16 + j + (Offset+4)] = 0x4E;
buf[l * 16 + j + (Offset+5)] = 0x8D;
buf[l * 16 + j + (Offset+6)] = 0x18;
buf[l * 16 + j + (Offset+7)] = 0xD5;
buf[l * 16 + j + (Offset+8)] = 0xB1;
buf[l * 16 + j + (Offset+9)] = 0x42;
buf[l * 16 + j + (Offset+10)] = 0x7F;
buf[l * 16 + j + (Offset+11)] = 0x07;
buf[l * 16 + j + (Offset+12)] = 0x1D;
buf[l * 16 + j + (Offset+13)] = 0x8E;
buf[l * 16 + j + (Offset+14)] = 0x25;
buf[l * 16 + j + (Offset+15)] = 0x8B;
buf[l * 16 + j + (Offset+16)] = 0x56;
buf[l * 16 + j + (Offset+17)] = 0xDA;
buf[l * 16 + j + (Offset+18)] = 0x71;
buf[l * 16 + j + (Offset+19)] = 0xD2;
buf[l * 16 + j + (Offset+20)] = 0x02;
buf[l * 16 + j + (Offset+21)] = 0x00;
static int Tier = 1;
add_log("BI2 sign bypassed (Tier %i)", Tier);
Tier++;
if(Tier>4) Tier = 1;
}
else // v1
{
int Offset = 32;
buf[l * 16 + j + Offset] = 0x19;
buf[l * 16 + j + (Offset+1)] = 0x6D;
buf[l * 16 + j + (Offset+2)] = 0xB5;
buf[l * 16 + j + (Offset+3)] = 0x44;
buf[l * 16 + j + (Offset+4)] = 0x85;
buf[l * 16 + j + (Offset+5)] = 0x6E;
buf[l * 16 + j + (Offset+6)] = 0x8D;
buf[l * 16 + j + (Offset+7)] = 0x88;
buf[l * 16 + j + (Offset+8)] = 0xD9;
buf[l * 16 + j + (Offset+9)] = 0x42;
buf[l * 16 + j + (Offset+10)] = 0x5D;
buf[l * 16 + j + (Offset+11)] = 0x46;
buf[l * 16 + j + (Offset+12)] = 0x36;
buf[l * 16 + j + (Offset+13)] = 0x50;
buf[l * 16 + j + (Offset+14)] = 0xB0;
buf[l * 16 + j + (Offset+15)] = 0xCE;
buf[l * 16 + j + (Offset+16)] = 0xB7;
buf[l * 16 + j + (Offset+17)] = 0x13;
buf[l * 16 + j + (Offset+18)] = 0xD8;
buf[l * 16 + j + (Offset+19)] = 0xCC;
buf[l * 16 + j + (Offset+20)] = 0x01;
buf[l * 16 + j + (Offset+21)] = 0x00;
}
}
Now just shut up and accept your shame.
I would be ashamed for posting Gerk's scripts as your own over at the UC-forums.
And for one saying that it is 'poor' code, you sure haven't got a clue.