Archiwum na kwiecień 14th, 2007

Prezentuję bibliotekę umożliwiającą załadowanie dowolnego kodu (w szczególności całego pliku dll) w ramy dowolnego procesu posiadającego okno.

W archiwum jest również przykładowy program ładujący przygotowaną bibliotekę do procesu systemowego Notatnika.

Przykład działa w polskiej odmianie systemu Windows XP (również SP2). Niestety nie działa w Vista.

Użycie biblioteki:

  1. Podczepiamy funkcję InjectDll to naszego kodu
    #include "injectdll.h"
    HINSTANCE dll = LoadLibraryA("hook.dll");
    InjectDll f = (InjectDll) GetProcAddress(dll, "InjectDll");
  2. Uzyskujemy HWND okna
    HWND hWnd = FindWindow(NULL, "Bez tytułu - Notatnik");
  3. Dll Inject!
    HMODULE hModule = f(hWnd, "insert.dll");


Przykład działania

Plik: Dll Injection