Laden...

Hack: Strg+alt+entf verhindern

Erstellt von Floste vor 14 Jahren Letzter Beitrag vor 14 Jahren 7.763 Views
Floste Themenstarter:in
1.130 Beiträge seit 2007
vor 14 Jahren
Hack: Strg+alt+entf verhindern

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.

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!

1.820 Beiträge seit 2005
vor 14 Jahren

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 🙁

1.346 Beiträge seit 2008
vor 14 Jahren

Ich denke mal bis der Hack abgestellt ist. Dann werden ja auch die Threads fortgesetzt.

Gruß pdelvo

2.760 Beiträge seit 2006
vor 14 Jahren

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...

S
21 Beiträge seit 2009
vor 14 Jahren

funktioniert bei mir(xp service pack 3) leider nicht...

4.506 Beiträge seit 2004
vor 14 Jahren

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!”

T
55 Beiträge seit 2009
vor 14 Jahren

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
S
167 Beiträge seit 2008
vor 14 Jahren

sowohl strg + alt + entf als auch den task manager verbieten lässt sich über Gruppenrichtlinien regeln.