Bedeuten nicht, dies Zombie, aber ich dachte, ich
einige nützliche Informationen beitragen könnte Wenn Sie eine Anwendung gibt es eine zwei Methoden ausblenden möchten (die ich mir vorstellen kann atm).
Beide haben ihre Höhen und Tiefen
[1] SSDT Tabelle Einhaken - im Grunde Sie die MDL der Tabelle setzen müssen beschreibbar, überschreiben die Adresse NtQuerySystemInformation
(IIRC) mit der Adresse Ihres Funktion und lassen Sie die ursprüngliche Funktion nach dem Filtern der Ergebnisse aufrufen.
Diese Methode eignet sich nicht sehr gut für Ihre Anforderungen, da die Hooking-Funktion immer im Speicher vorhanden sein und einen Kernel-Modus-Treiber schreiben müsste. Es ist eine lustige Sache zu tun, aber das Debuggen ist ein Schmerz, weil eine Ausnahme eine BSOD bedeutet.
[2] Direkt Kernel Object Manipulation (DKOM) - die Liste der Prozesse ist eine doppelt verknüpfte Liste, mit einem Kernel-Mode-Treiber, um die Zeiger der Datensätze über und unter Ihrem Prozess verändern können zu Ihrem Punkt herum. Dies erfordert immer noch die Verwendung eines Kernel-Modus-Treibers, aber es gibt Rootkits wie FU, die einfach heruntergeladen werden können, die eine EXE und den Dienst enthalten. Die EXE könnte von innerhalb Ihrer Anwendung als Kind-Prozess aufgerufen werden (in der freigegebenen Version von FU, zumindest die, die ich gefunden habe, gab es einen Bug, den ich reparieren musste, wenn die versteckte Anwendung den Computer BSOD beenden würde) eine triviale Lösung).
Dies wird zum Glück von fast jedem anständigem Antivirus erwischt werden, so, wenn Sie versuchen, etwas zu tun, hinterhältig werden Sie um diesen zu bekommen lernen müssen (Hinweis: sie eine binäre Signatur verwenden)
Ich habe nicht verwendet Methode 1 überhaupt, aber Methode 2 hat für mich aus einer VB.Net-Anwendung gearbeitet.
Eine dritte mögliche Option ist nur die Anwendung als Windows-Dienst zu erstellen, dies wird standardmäßig im Task-Manager angezeigt, aber ich wette, dass es eine Möglichkeit gibt, es dort seit dort nicht zu zeigen Es gibt viele andere Dienste, die nicht im Task-Manager angezeigt werden.
Ich hoffe, ich half ein wenig, mein Rat ist, dass, wenn Sie sich für diese Art von Sachen interessiert sind, C++ zu lernen.
Warum möchten Sie so etwas tun? –
Ich weiß die Antwort nicht, aber wenn ich es täte, würde ich dazu neigen, nach Ihren Gründen zu fragen, bevor ich Ihnen erklären würde, wie ich das machen soll. –
ja, es gibt: starte es nicht – RaYell