void CServer::CheckPlayerLevelHook( ) { lpAsm->MakeBaseAddress( ( int )EditData ); lpAsm->Push( EBX ); lpAsm->Call( ( int )&_CheckPlayerLevel ); lpAsm->AddEsp( 4 ); lpAsm->Test( EAX, EAX ); lpAsm->Je( 0x00571A43 ); lpAsm->Jmp( 0x00571A04 ); lpAsm->SetLastAddress( ); lpAsm->MakeBaseAddress( ( int )0x005719FB ); lpAsm->Jmp( ( int )EditData ); lpAsm->FillNops( 4 ); lpAsm->AtualizeAddress( &EditData, true ); };
void CServer::PacketHook( ) { lpAsm->MakeBaseAddress( ( int )EditData ); lpAsm->Push( EAX ); lpAsm->Push( EBP ); lpAsm->Push( EDI ); lpAsm->Call( ( int )&_ReceivedPacket ); lpAsm->AddEsp( 8 ); lpAsm->Pop( EAX ); lpAsm->Cmp( ESI, 0x48478400 ); lpAsm->Jmp( 0x0056F527 ); lpAsm->SetLastAddress( ); lpAsm->MakeBaseAddress( ( int )0x0056F521 ); lpAsm->Jmp( ( int )EditData ); lpAsm->FillNops( 1 ); lpAsm->AtualizeAddress( &EditData, true ); };