tworzymy plik .cpp . Dobrze teraz zabierzmy się za prosty kod, który omówimy niżej.
#include <windows.h>
BOOL WINAPI
DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)
{
if(fdwReason==DLL_PROCESS_ATTACH)
{
MessageBox(0,"Działa","CG",0);
}
return TRUE;
}
Mam nadzieję, że się nie przeraziliście. Więc czas na wytłumaczenię.
Na początku pobraliśmy bibliotekę windows.h, niżej tworzymy DllMain,
jest on funkcją main(); dla dll-ki. Czyli jest ona wykonywana gdy dll-ka,
zostanie załadowana.
Mogło nasunąć ci się pytanie "Jak sprawdzić czy dll-ka jest ładowany lub zakańczana ?".
Odpowiedź jest wprost banalna. Takową informację przechowuję parametr funkcji DllMain
"fdwReason".
Poniżej możemy zauwazyć warunek, którego wnętrze zostanie wykonane, jeżeli dll-ka jest
ładowana. Dla nie orientujących się w WinAPI: MessageBox to komunikat systemu windows
z biblioteki windows.h, zaznaczam iż windows.h nie działa na linuksie.
O tworzeniu injectora napiszę w późniejszym czasie,
ponieważ są wakację, a ja chcę korzystać z życia.
Bibliografia :
Tutorial - [TuT] DLL Injection - w praktyce - Coding Gods - Bogowie kodowania
Co to jest - DLL injection - Wikipedia, the free encyclopedia
Proszę o wyrozumiałość
