1. Forum
    1. Unerledigte Themen
  2. Artikel
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  4. Blog
    1. Artikel
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Forum
  • Blog-Artikel
  • Seiten
  • Erweiterte Suche
  1. StageTwo - Deine Wohlfühloase
  2. Mitglieder
  3. nxtxexoxhx

Beiträge von nxtxexoxhx

  • ntdll

    • nxtxexoxhx
    • 20. März 2011 um 11:01

    Ja Twice das meinte ich...Sonst würde ja man immer in Kreis laufen. Nur wie machen ich das er call + 5 macht ohne inline assembly zu benutzen?

  • ntdll

    • nxtxexoxhx
    • 19. März 2011 um 19:08

    Schau dir mal die QueryPerformanceCounter in der kernel32.dll an. Er springt in die dort in die ntdll. Ist das dort nicht die ZwQueryPerformanceCounter Funktion?

    Code
    typedef BOOL ( NTAPI* _ZwQueryPerformanceCounter )( LARGE_INTEGER  PerformanceCount, LARGE_INTEGER  PerformanceFrequency ); 
    
    
    _ZwQueryPerformanceCounter __ZwQueryPerformanceCounter; 
    
    
    
    
    BOOL NTAPI hZwQueryPerformanceCounter( LARGE_INTEGER lpPerformanceCount, LARGE_INTEGER PerformanceFrequency )
    {
    	return ( *__ZwQueryPerformanceCounter )( lpPerformanceCount, PerformanceFrequency ); 
    }
    
    
    
    
    void Hook( )
    {
    	FARPROC addr = GetProcAddress( GetModuleHandle( "ntdll.dll" ), "ZwQueryPerformanceCounter" );
    
    
    	CreateDetour( ( LPVOID )addr, hZwQueryPerformanceCounter, 5 );
    }
    Alles anzeigen


    So mal mit einen Pointer versuchen, aber ich denke, dass wenn die orgianle Funktion aufgerufen wird, dann wie in einen Rad immer rundläuft...

  • ntdll

    • nxtxexoxhx
    • 19. März 2011 um 12:39

    Ja, warum ach nicht :D Ne ich war nur irritiert, da die Funktion QueryPerformanceCounter nur ein Parameter hat und die Funktion ZwQueryPerformanceCounter zwei hat und ich mich seit gestern abend frag ob der eine Parm herkommt. Ich habe die Funktion versucht zu hooken, das das Game crashed, ich weiß nicht warum...Hier ist mein Code:

    Code
    void hQueryPerformanceCounter( LARGE_INTEGER *lpPerformanceCount )
    {
    	__asm
    	{
    		PUSHAD
    	}
    	LPMODULEENTRY32 lpsModule = GetModuleInfo( GetCurrentProcessId( ), "ntdll.dll" );
    	FARPROC addr = GetProcAddress( lpsModule->hModule, "ZwQueryPerformanceCounter" );
    	__asm
    	{
    		POPAD
    	}
    
    
    
    
    	__asm
    	{
    		MOV EDI,EDI
    		PUSH EBP
    		MOV EBP,ESP
    		POP EBP
    		JMP DWORD PTR DS:[ addr ]
    	}
    }
    
    
    
    
    void Hook( )
    {
    	LPMODULEENTRY32 lpsModule = GetModuleInfo( GetCurrentProcessId( ), "kernel32.dll" );
    	FARPROC addr = GetProcAddress( lpsModule->hModule, "QueryPerformanceCounter" );
    
    
    	CreateDetour( ( LPVOID )addr, hQueryPerformanceCounter, 5 );
    }
    Alles anzeigen
  • ntdll

    • nxtxexoxhx
    • 19. März 2011 um 11:20

    Ich habe eine Frage und zwar ob man Funktionen aus der ntdll.dll direkt callen kann?

    MfG

  • windows explorer starten

    • nxtxexoxhx
    • 19. März 2011 um 09:58
    Code
    private static void OpenExplorer( string p )
    {
    	if ( Directory.Exists( p ) )
    		Process.Start( "explorer.exe", p );
    }
  • [LOL] Allgemeiner Diskussionsthread

    • nxtxexoxhx
    • 16. März 2011 um 20:47

    hol die swain...ez und anivia muss man spielen können

  • C# Silkroad Security (by Drew Benton)

    • nxtxexoxhx
    • 16. März 2011 um 15:00

    Aber das er Sachen in .Net macht ist echt neu. O_o

  • DIE ATZEN mit NENA - STROBO POP

    • nxtxexoxhx
    • 15. März 2011 um 18:30

    lol die werden ja immer schlechter...

  • Erdbebenkatastrophe in Japan

    • nxtxexoxhx
    • 15. März 2011 um 18:22

    Joshi...Es gibt aber noch andere alternativer Energien die man nutzen kann. Google mal :thumbup:

  • Breakpoints

    • nxtxexoxhx
    • 12. März 2011 um 17:47

    Nj reversen dauert, da bleibt nur austesten :P

  • Breakpoints

    • nxtxexoxhx
    • 12. März 2011 um 16:59

    Nj dongdong ich weiß net ob die Idee so gut ist. :D
    Ich weiß nicht ob mans mal testen soll auf einem Vac2 sichern Server einfach mal Noflash anzuamchen und sehen obs mit der Methode auffällt oder nicht.

  • Breakpoints

    • nxtxexoxhx
    • 12. März 2011 um 15:00

    Also müsste man VirtualQuery ebenfalls umgehen um unerkannt zu bleiben. Aber gegen einen gezielten Schutz einer Funktion hilft dann nur noch reversen? Zum Beispiel ein andere Thread checkt immer die ersten 5 Bytes der Funktion.

  • Breakpoints

    • nxtxexoxhx
    • 12. März 2011 um 14:38
    Zitat von PowerBot

    man kann alles detecten nur iste es eine frage des aufwandes


    Bitte keine dumme Antworten auf Fragen die man nicht versteht.
    1) Ich habe danach gefragt ob es einfach geht oder nicht.
    2) Ich habe noch nach dem "wie" gefragt.

  • Breakpoints

    • nxtxexoxhx
    • 12. März 2011 um 14:22

    Ahh ok. Wie ist das eigentlich mit der Sicherheit von den beiden Methoden? Die mit den Breakpoint kann man einfach über GetThreadContext abfragen und somit detected. Es sein den man hookt die Funktion... Kann man diesen dann auch immer noch einfach detected?

    MfG

  • Breakpoints

    • nxtxexoxhx
    • 12. März 2011 um 13:40

    Schön gemacht. Haste die Idee selbst gehabt oder von https://www.stagetwo.eu/www.gamedeception.net?

  • Icq Pw Finder

    • nxtxexoxhx
    • 11. März 2011 um 20:21
    Zitat von PowerBot

    Berechnet die cpu die hashes oder geht das über die Grafikkarte
    Ich hab einen auf m pc macht auf ner gts450 ca. 380 mio hashes die sekunde


    380 MILLIONEN Hashecodes die Sekunde? THIS IS A LIE!

  • Breakpoints

    • nxtxexoxhx
    • 11. März 2011 um 14:28

    Nein :D Ich wollte einen BreakPoint auf die MessageBoxA Funktion setzten und wenn dieser ausgelöst wird ein Parameter verändern. Jedoch weiß ich nicht wie ich das mit dem UnhandlerExceptionFilter soll. Wollte versuches MessageBoxA auf diese weiße zu "hooken".

  • Breakpoints

    • nxtxexoxhx
    • 10. März 2011 um 22:02

    Hey, ich war zufällig auf der suche nach dem selben Problem.
    Ich habe eine neue Funktion gemacht und in dieser meinen Breakpoint gesetzt.

    Code
    void SetBreakPoint( )
    {
    	int pid = GetProcessID( "lol.exe" );
    
    
    	LPMODULEENTRY32 ModuleInfo = GetModuleInfo( ( DWORD )pid, "user32.dll" );
    
    
    	__asm
    	{
    		mov addr, offset MessageBoxA
    	}
    
    
    	CONTEXT ctx = { CONTEXT_DEBUG_REGISTERS };
    	ctx.Dr0 = addr;
    	ctx.Dr7 = 0x000001;
    
    
    	SetThreadContext( ( HANDLE )ModuleInfo->szModule, &ctx );
    }
    Alles anzeigen

    So sieht mein UnhandlerExceptionFilter aus:

    Code
    LONG WINAPI __UnhandlerExceptionFilter( struct _EXCEPTION_POINTERS* ExceptionInfo )
    {
    	if ( ExceptionInfo->ExceptionRecord->ExceptionCode == EXCEPTION_SINGLE_STEP )
    	{ 
    		if ( ( DWORD )ExceptionInfo->ExceptionRecord->ExceptionAddress == addr )
    		{ 
    			/*					MessageBoxA
    			769BFEAE U>  8BFF                	MOV EDI,EDI
    			769BFEB0 	55                  	PUSH EBP
    			769BFEB1 	8BEC                	MOV EBP,ESP
    			769BFEB3 	6A 00               	PUSH 0
    			769BFEB5 	FF75 14             	PUSH DWORD PTR SS:[EBP+14]
    			769BFEB8 	FF75 10             	PUSH DWORD PTR SS:[EBP+10]
    			769BFEBB 	FF75 0C             	PUSH DWORD PTR SS:[EBP+C]
    			769BFEBE 	FF75 08             	PUSH DWORD PTR SS:[EBP+8]
    			769BFEC1 	E8 A0FFFFFF         	CALL USER32.MessageBoxExA
    			769BFEC6 	5D                  	POP EBP                                       	; kernel32.750C3677
    			769BFEC7 	C2 1000             	RETN 10
    			*/
    
    
    			DWORD RetAddress = ( DWORD )( ExceptionInfo->ContextRecord->Esp );
    			PDWORD Arguments = ( PDWORD )( ExceptionInfo->ContextRecord->Esp + 0x4 );
    
    
    			DWORD Argument[ 4 ] = { };
    
    
    			memcpy( &Argument, Arguments, 4 * sizeof( DWORD ) );
    
    
    			memcpy( ( char* )Argument[ 1 ], "Testing...", sizeof( DWORD ) );
    
    
    			__asm
    			{
    				mov edi, edi
    			}
    
    
    			ExceptionInfo->ContextRecord->Eip += 0x2;
    
    
    			return EXCEPTION_CONTINUE_EXECUTION;
    		}
    	}
    	return EXCEPTION_CONTINUE_SEARCH;
    }
    Alles anzeigen

    1) Ich bin mir nicht sicher ob Überhaupt UnhandlerExceptionFilter gecallt wird.
    2) Ich weiß nicht ob man die neuen Args die ich gesetzt habe noch mal alle in den Stack pushen muss.

    Könnte mir jemand weiterhelfen?

  1. Datenschutzerklärung
  2. Impressum