[Release] Base Reader

02/25/2013 02:20 WarmongerR25#16
Quote:
Originally Posted by kingscraft View Post
Und nun? Hat jemand eine Idee wie wir in Zukunft die Basen finden können? Mit CE _pNetwork suchen geht nicht mehr und offsets scannen geht auch nicht mehr. Nachdem "find out what writes to this address" aufgerufen wird gibt es (zumindest beim USA server) ein DC

Wer hat einen Rat für mich?
You have to now result to signature scans as there is no other way to get these addresses. The compiler strips all of the function names when compiled in release mode (before was debug mode). So you need to code your own signature scan engine.

Code:
bool CompareData( const unsigned char* pbData, const unsigned char* pbMask, const char* pszString ) 
{ 
	for ( ; *pszString; ++pszString, ++pbData, ++pbMask ) 
	{
		if ( *pszString == 'x' && *pbData != *pbMask ) 
			return FALSE; 
	}

	return (*pszString) == NULL; 
}

unsigned long FindPattern( unsigned char* pbBuffer, unsigned long dwAddress, unsigned long dwLength, unsigned char* pbMask, char* pszString ) 
{
	unsigned long dwResult = NULL;

	if ( pbBuffer )
	{
		for ( unsigned long i = 0; i < dwLength; i++ ) 
		{
			if ( CompareData( (BYTE*) (pbBuffer + i), pbMask, pszString ) ) 
			{
				dwResult = (unsigned long)(dwAddress + i);
				break;
			}
		}
	}

	return dwResult; 
}
02/27/2013 15:53 kingscraft#17
Erfolg! Kann die Basis mit Pattern finden. Was mich dabei wundert ist das mein Pattern in der Engine.dll immer doppelt vorkommt. Ich hab es an verschiedenen Adressen versucht und auch mit verschiedenen Bereichen. Ich habe überall gelesen das das Pattern einzigartig sein muss aber das hab ich nicht hingekriegtl. Zum Glück ist die Info über den Basispointer an der 2ten Adresse immer gleich. Mal sehn was beim nächsten Update passiert. Besten Dank für Eure Tips!
04/02/2013 10:59 Rotti98#18
Bei mir wird überall 0 angezeigt :(