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

Dodaj do:
  • del.icio.us
  • Digg
  • StumbleUpon
  • LinuxNewsPL
  • Gwar
  • Wykop

Pozostaw odpowiedź

Musisz być zalogowany, by móc komentować. Zaloguj się »