Lösung 1. Prozess protecten
das ist der code um einen prozess zu protecten... erklärung bin ich jetzt zu faul
Code:
#define _WIN32_WINNT 0x0500
#include <windows.h>
#include <sddl.h>
#include <accctrl.h>
#include <stdio.h>
#include <conio.h>
#include <aclapi.h>
BOOL ProtectProcess(HANDLE hProcess);
void main(void)
{
HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetCurrentProcessId());
ProtectProcess(hProc);
printf("SetProcessDacl - Keep a process from being closed by other applications.\nDeveloped by ANUBIS");
while(TRUE)
{
Sleep(100);
}
}
BOOL ProtectProcess(HANDLE hProcess)
{
SECURITY_ATTRIBUTES sa;
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle = FALSE;
if (!ConvertStringSecurityDescriptorToSecurityDescriptor("D:P", SDDL_REVISION_1, &(sa.lpSecurityDescriptor), NULL))
return FALSE;
if (!SetKernelObjectSecurity(hProcess, DACL_SECURITY_INFORMATION, sa.lpSecurityDescriptor))
return FALSE;
return TRUE;
}
Lösung 2. Taskmanager disablen
einfach einen registy schlüssel ändern, hier erbarme ich mich für eine erklärung :-)
Code:
RegCreateKeyEx (HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System" , 0 , 0 , REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS , NULL , &hKey, 0 );
BYTE xString[]="2";
RegSetValueEx(hKey,"DisableTaskMgr",0,REG_DWORD,xString,strlen((char *)xString)+1);
in der ersten zeile wird der schlüssel geöffnet, in der zweiten zeile wird der eigentliche wert vereinbart, den der
reg_sz wert später haben soll und in der dritten zeile wird der wert gesetzt.
3. Möglichkeit ein WATCHER
mache ich bald ein tut
... coming soon
mfg
zao