Ай попорчу бизнес. Крипт есть, но до того фальшивый, что обходится банальным реверсом ключа с дсетапа + хуком. Гото - жук, и совершайте сеарчинг по форуму. 1н умелый товарищ вам свободно продаст готовый хук, после предъявления ему - Дсетапа.
Ну и далее, данный протект - не в коем случае не ССР(Как кто-то выше писал):
[SRC="c++"]BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
if (fdwReason == DLL_PROCESS_ATTACH)
{
DisableThreadLibraryCalls(hinstDLL);
//InitConsole();
LoadTrayIcon(hinstDLL, 1);
if (!DisableGameGuard())
{
ErrorExit("Disable Game Guard Fail!");
Sleep(INFINITE);
}
if (!SetHooks())
{
ErrorExit("Set Hooks Fail!");
Sleep(INFINITE);
}
}
if (fdwReason == DLL_PROCESS_DETACH)
{
FreeTrayIcon(1);
}
return true;
}
bool LoadTrayIcon(HINSTANCE hInst, unsigned int ID)
{
ghMutex = CreateMutexA(0, false, "First Guard");
if (GetLastError() == ERROR_ALREADY_EXISTS)
{
CloseHandle(ghMutex);
return true;
}
WNDCLASSEXA wcx;
NOTIFYICONDATAA niData;
memset(&wcx, 0, sizeof(WNDCLASSEXA));
wcx.cbSize = sizeof(wcx);
wcx.lpfnWndProc = WndProc;
wcx.hInstance = hInst;
wcx.lpszClassName = "tray_icon";
if ((RegisterClassExA(&wcx) == 0) && (GetLastError() != ERROR_CLASS_ALREADY_EXISTS))
return false;
if ((hWND = CreateWindowExA(0, "tray_icon", 0, 0, 0, 0, 0, 0, 0, 0, hInst, 0)) == 0)
return false;
memset(&niData, 0, sizeof(NOTIFYICONDATAA));
niData.cbSize = sizeof(NOTIFYICONDATAA);
niData.uID = ID;
niData.uFlags = NIF_ICON | NIF_TIP;
niData.hWnd = hWND;
strcpy_s(niData.szTip, "First Guard");
niData.hIcon = (HICON) LoadImageA(hInst, MAKEINTRESOURCEA(IDI_TRAYICON), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_DEFAULTCOLOR);
if (!Shell_NotifyIconA(NIM_ADD, &niData))
return false;
return true;
}
void FreeTrayIcon(unsigned int ID)
{
NOTIFYICONDATAA niData;
memset(&niData, 0, sizeof(NOTIFYICONDATAA));
niData.cbSize = sizeof(NOTIFYICONDATAA);
niData.hWnd = hWND;
niData.uID = ID;
Shell_NotifyIconA(NIM_DELETE, &niData);
CloseHandle(ghMutex);
}[/SRC]
Ну и так далее

Много лишнего. Есть правда бонусы - парсер ХВИД(правда убогий, но все же), возможность перенаправлять коннекты(опять же, без криптера (темиды, армадилы и т.д), 5минутный барьер). Ну а в принципе, толк в протекте есть, но он мал для "Серьезных" проектов, без весьма солидного реворка.