DLL (Dynamic Link Libraries) - мощный инструмент модульности в Windows, но их уязвимость к инъекциям и подмене превращает их в "ахиллесову пяту" безопасности. Результат: утечки данных, RCE-атаки, кражи сессий. Ваша миссия - превратить DLL из слабости в крепость! wchar_t fullPath[MAX_PATH]; GetFullPathNameW(L"my_secure.dll", MAX_PATH, fullPath, nullptr); HMODULE hLib = LoadLibraryW(fullPath); // Загрузка по абсолютному пути SetDllDirectory(L""); // Отключает поиск в текущей директории SetDefaultDllDirectories(LOAD_LIBRARY_SEARCH_SYSTEM32); // Разрешает только System32 Атаки через DLL Search Order Hijacking - злоумышленник кладет вредоносную your_dll.dll в C:\temp, и ваше приложение грузит ее вместо системной! // Проверка нелегальных модулей void CheckForSuspiciousModules() { HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, GetCurrentProcessId()); MODULEENTRY32 me = { sizeof(me) }; for (BOOL ok = Module32First(hSnapshot, &me); ok; ok = Module32Next(hSnapsho
Безопасная работа с DLL: Защита от инъекций и цифровые подписи в C++
18 июня18 июн
4
2 мин