CreateRemoteThread



  • Hallo,

    Ich habe per CreateRemoteThread eine DLL in einen Prozess injiziert und will jetzt während die DLL_PROCESS_ATTACH Nachricht verarbeitet wird, einen lokalen Keyboard Hook auf einen Thread von diesem Prozess installieren, aber die KeyboardHookProc wird nie aufgerufen. Die ThreadId ist richtig, das hab ich in Spy++ nachgeschaut..hab ich irgendwas falsch verstanden oder wieso geht das nicht?

    HHOOK hhkHook;
    
    //
    // KeyboardHookProc
    //
    
    LRESULT CALLBACK KeyboardHookProc( int nCode, WPARAM wParam, LPARAM lParam )
    {
    	MessageBox( NULL, "KeyboardHookProc", "", 0 );
    	return CallNextHookEx( hhkHook, nCode, wParam, lParam );
    }
    
    BOOL APIENTRY DllMain( HANDLE hModule, 
                           DWORD  ul_reason_for_call, 
                           LPVOID lpReserved
    					 )
    {
    	HWND	hWndEDIT;
    	DWORD	dwThreadId;
    	char szMsg[64];
    
    	switch(ul_reason_for_call)
    	{
    		case DLL_PROCESS_ATTACH:
    			hWndEDIT = FindWindow( NULL, "MainEditWnd" );
    			if( !hWndEDIT )
    				break;
    
    			dwThreadId = GetWindowThreadProcessId( hWndEDIT, NULL );
    			hhkHook = SetWindowsHookEx( WH_KEYBOARD, KeyboardHookProc, NULL, dwThreadId );
    			if( hhkHook == NULL )
    			{
    				MessageBox( NULL, "SetWindowsHookEx failed", "Error", 0 );
    				return FALSE;
    			}
    
    			sprintf( szMsg, "Keyboard Hook attached to Thread 0x%x", dwThreadId );
    			MessageBox( NULL, szMsg, "DLL_PROCESS_ATTACH", 0 );
    			break;
    
    		case DLL_PROCESS_DETACH:
    			UnhookWindowsHookEx( hhkHook );
    			sprintf( szMsg, "Keyboard Hook detached" );
    			MessageBox( NULL, szMsg, "DLL_PROCESS_DETACH", 0 );
    			break;
    	}
        return TRUE;
    }
    


  • Prüfe zuerst einmal ob deine DLL in einem Testprogram von dir funktioniert.
    Dort kanst du debuggen. Danach prüfe einmal ob die DLL geladen wird.

    😉 Mit Visual-Studio an einen Prozess attachen
    😉 Unter Debug-Module nach sehen ob die DLL geladen wurde

    Meine Home-Page
    [url]
    http://members.inode.at/anton.zechner/az/index.html
    [/url]


Anmelden zum Antworten