привет, надо собирать длл через g++ но после инжекта бесконечно вызывается функция. что делать ? #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <windows.h> #include <iostream> #include <urlmon.h> #include <tchar.h> #pragma comment (lib, "urlmon.lib") BOOL WINAPI test(HMODULE hModule) { printf("123\n"); return TRUE; } BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { AllocConsole(); freopen("CONOUT$", "w", stdout); CreateThread(0, 0, (LPTHREAD_START_ROUTINE)test, 0, 0, 0); return TRUE; } C #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <windows.h> #include <iostream> #include <urlmon.h> #include <tchar.h> #pragma comment (lib, "urlmon.lib") BOOL WINAPI test(HMODULE hModule) { printf("123\n"); return TRUE; } BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { AllocConsole(); freopen("CONOUT$", "w", stdout); CreateThread(0, 0, (LPTHREAD_START_ROUTINE)test, 0, 0, 0); return TRUE; } g++ -m32 -shared -o example.dll main.cpp -lurlmon
#include <windows.h> #include <iostream> #include <urlmon.h> #include <tchar.h> #pragma comment (lib, "urlmon.lib") DWORD WINAPI test(void* PARAM) { printf("123\n"); return 0; } BOOL APIENTRY DllMain(HINSTANCE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { if (ul_reason_for_call == DLL_PROCESS_ATTACH) { CreateThread( NULL, 0, test, NULL, 0, NULL ); } return TRUE; } C #include <windows.h> #include <iostream> #include <urlmon.h> #include <tchar.h> #pragma comment (lib, "urlmon.lib") DWORD WINAPI test(void* PARAM) { printf("123\n"); return 0; } BOOL APIENTRY DllMain(HINSTANCE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { if (ul_reason_for_call == DLL_PROCESS_ATTACH) { CreateThread( NULL, 0, test, NULL, 0, NULL ); } return TRUE; }