Witam nie jest to typowe pytanie ani przypadek
Mam dllke która działa nie mam za to jej kodu
Chcę napisać swoją dllke która umiejscowiona w tym samym miejscu co tamta zostanie załadowana i wykona się DllMain
I teraz następuje ta ciekawsza część
Kod mojej dllki
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <cstdio>
BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)
{
/*if( fdwReason != 1 ){
return true;
}*/
FILE * pointer = fopen( "test.txt" , "wt" );
fputs( "Test" , pointer );
fclose( pointer );
return true;
}
bardzo proste kompiluje się bez problemu ale dllka nie jest ładowana ( a może jest ? ) ale jednak funkcja DllMain się nie wykonuje
Zdekompilowałem obie dllki. Co zauważyłem ?
Działająca dllka nie posiada funkcji DllEntryPoint ( kompletnie nic nie ma ) jest tylko DllMain
BOOL __stdcall DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
Moja dllka posiada funkcje DllEntryPoint , DllMain też jest ale taka
signed int __stdcall sub_63AC13E0(int a1, int a2, int a3)
funkcja jest uruchamiana przez DllEntryPoint
moje pytanie jest jak uzyskać taki efekt jak jest w działąjacej dllce ?
Mój kompilator to MinGW GCC 4.7.2 32-bit ustawiony na tryb Release system 64 bitowy windows 7 SP1