Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Hack: Strg+alt+entf verhindern
Floste
myCSharp.de - Member

Avatar #avatar-2376.jpg


Dabei seit:
Beiträge: 1158
Herkunft: Norddeutschland

Themenstarter:

Hack: Strg+alt+entf verhindern

beantworten | zitieren | melden

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.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Floste am .
Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
pdelvo
myCSharp.de - Member

Avatar #avatar-3354.png


Dabei seit:
Beiträge: 1407

beantworten | zitieren | melden

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

Gruß pdelvo
private Nachricht | Beiträge des Benutzers
jaensen
myCSharp.de - Experte

Avatar #avatar-2657.png


Dabei seit:
Beiträge: 2885
Herkunft: München

beantworten | zitieren | melden

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...
private Nachricht | Beiträge des Benutzers
Sekkiy
myCSharp.de - Member



Dabei seit:
Beiträge: 21

beantworten | zitieren | melden

funktioniert bei mir(xp service pack 3) leider nicht...
private Nachricht | Beiträge des Benutzers
norman_timo
myCSharp.de - Member

Avatar #avatar-1775.jpeg


Dabei seit:
Beiträge: 4591
Herkunft: Wald-Michelbach (Odw)

beantworten | zitieren | melden

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!”
private Nachricht | Beiträge des Benutzers
Theki
myCSharp.de - Member



Dabei seit:
Beiträge: 56

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Sebi
myCSharp.de - Member



Dabei seit:
Beiträge: 169

beantworten | zitieren | melden

sowohl strg + alt + entf als auch den task manager verbieten lässt sich über Gruppenrichtlinien regeln.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Sebi am .
private Nachricht | Beiträge des Benutzers