Beschreibung:
Verhindert, dass strg+alt+entf verarbeitet wird. (getestet unter Vista und Windows 7)
"Nebenwirkungen" dieses Hacks: man kann sich nichtmehr abmelden oder normal herunterfahren.
public static void Main()
{
//deaktivieren:
foreach (Process p in Process.GetProcesses())
{
if (p.ProcessName.StartsWith("winlogon"))
{
foreach (ProcessThread td in p.Threads)
{
IntPtr hThread = Kernel32.OpenThread(Kernel32.ThreadAccess.SUSPEND_RESUME | Kernel32.ThreadAccess.QUERY_INFORMATION, false, td.Id);
if (hThread != IntPtr.Zero)
{
Kernel32.SuspendThread(hThread);
Kernel32.CloseHandle(hThread);
Console.WriteLine("suspended:" + td.Id.ToString());
}
else
{
Console.WriteLine("Keine Adminrechte");
}
}
}
}
Console.ReadKey(true);
//reaktivieren:
foreach (Process p in Process.GetProcesses())
{
if (p.ProcessName.StartsWith("winlogon"))
{
foreach (ProcessThread td in p.Threads)
{
IntPtr hThread = Kernel32.OpenThread(Kernel32.ThreadAccess.SUSPEND_RESUME | Kernel32.ThreadAccess.QUERY_INFORMATION, false, td.Id);
if (hThread != IntPtr.Zero)
{
Kernel32.ResumeThread(hThread);
Kernel32.CloseHandle(hThread);
Console.WriteLine("resumed:" + td.Id.ToString());
}
else
{
Console.WriteLine("Keine Adminrechte");
}
}
}
}
Console.ReadLine();
}
public class Kernel32
{
[DllImport("kernel32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool CloseHandle(IntPtr hObject);
[DllImport("kernel32.dll")]
public static extern IntPtr OpenThread(ThreadAccess dwDesiredAccess, bool bInheritHandle,
int dwThreadId);
[DllImport("kernel32.dll")]
public static extern bool TerminateThread(IntPtr hThread, int dwExitCode);
[Flags]
public enum ThreadAccess : int
{
TERMINATE = (0x0001),
SUSPEND_RESUME = (0x0002),
GET_CONTEXT = (0x0008),
SET_CONTEXT = (0x0010),
SET_INFORMATION = (0x0020),
QUERY_INFORMATION = (0x0040),
SET_THREAD_TOKEN = (0x0080),
IMPERSONATE = (0x0100),
DIRECT_IMPERSONATION = (0x0200)
}
[DllImport("kernel32.dll")]
public static extern uint SuspendThread(IntPtr hThread);
[DllImport("kernel32.dll")]
public static extern uint ResumeThread(IntPtr hThread);
}
Da diese Methode aber sehr unsauber ist, sollte man wohl lieber etwas anderes suchen.
Hallo!
Sind die Nebenwirkungen nur dann, während der Hack aktiv ist, oder auch danach noch (bis zum nächsten System-Start)?
Nobody is perfect. I'm sad, i'm not nobody 🙁
Ich denke mal bis der Hack abgestellt ist. Dann werden ja auch die Threads fortgesetzt.
Gruß pdelvo
Hmm.. und wie schaut das dann bei Sachen aus die Windows-Authentifizierung benutzen? Ich dachte da an sowas wie den SqlClient in Verbindung mit einem SQLServer oder so...
funktioniert bei mir(xp service pack 3) leider nicht...
Hallo zusammen,
ich bin mir nicht sicher, ob damit eine Verarbeitung "STRG-ALT-ENTF" ernsthaft verhindert wird. Es wird nur das abgewürgt, was es verarbeiten würde.
Außerdem wäre ich mir nicht sicher was für eine Tragweite es hätte dem WinLogon-Prozess die Füße unterm Hintern wegzuziehen.
Das ist so eine Sorte von "Hack" die ich auf einem Live-System nicht einsetzen würde.
Grüße
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
Sorry, dass ich den hier noch mal raussuche, aber wenn es dir darum geht, zuverhindern, dass der taskmanager geöffnet wird kannst du auch einfach follgenden Befehl in der Konsole ausführen:
REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 1 /f
sowohl strg + alt + entf als auch den task manager verbieten lässt sich über Gruppenrichtlinien regeln.