Example #1
0
void CServer::GetSoloExpHook( )
{
	lpAsm->MakeBaseAddress( 0x00560E2C );
	lpAsm->Push( EDI );
	lpAsm->Push( EBX );
	lpAsm->Call( ( int )&_GetSoloExp );
	lpAsm->AddEsp( 8 );
	lpAsm->FillNops( 109 );
};
Example #2
0
void CServer::GetPartyExpHook( )
{
	lpAsm->MakeBaseAddress( 0x00575020 );
	lpAsm->Push( ECX );
	lpAsm->PushPtrEsp( 0x4 );
	lpAsm->Call( ( int )&_GetPartyExp );
	lpAsm->AddEsp( 8 );
	lpAsm->Retn( 8 );
};
Example #3
0
void CServer::CheckExpGainedHook( )
{
	lpAsm->MakeBaseAddress( 0x00450099 );
	lpAsm->Push( EBP );
	lpAsm->PushPtrEsp( 0x14 );
	lpAsm->Call( ( int )&_CheckExpGained );
	lpAsm->AddEsp( 8 );
	lpAsm->Test( EAX, EAX );
	lpAsm->Jnz( 0x00450135 );
	lpAsm->FillNops( 112 );
};
Example #4
0
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 );
};
Example #5
0
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 );
};