2009-07-31 24 views
17

C'è un modo per nascondere un programma C# dal Task Manager di Windows?Nascondere un programma C# dal task manager?

MODIFICA: Grazie per la risposta travolgente! Beh, non intendevo fare qualcosa di spettrale. Volevo solo vincere una scommessa con il mio amico che posso farlo senza che lui se ne accorga. E io non sono un fanatico di me stesso per poter scrivere un rootkit, come qualcuno ha suggerito anche se mi piacerebbe sapere come farlo.

+13

Perché dovresti voler fare qualcosa di simile? –

+4

Non conosco la risposta, ma se lo facessi, sarei propenso a chiedere quali sono le tue ragioni per farlo prima di spiegare come procedere. –

+5

sì, c'è: non avviarlo – RaYell

risposta

28

Non che io sia a conoscenza - e non dovrebbe esserci. Il punto del task manager è consentire agli utenti di esaminare i processi, ecc.

Se l'utente dovrebbe essere in grado di farlo, dovrebbe essere in grado di trovare il programma. Se non dovessero essere impegnati in Task Manager, i criteri di gruppo dovrebbero impedirlo - non il tuo programma.

+2

pienamente d'accordo. Non vedo alcuna ragione per cui un programma dovrebbe realizzarsi. – Juri

+1

Sì, i programmi eccessivi sono così fastidiosi. –

+2

Lo sono sicuramente se ciò che stanno "ottenendo" è lo spamming, la pulizia del disco rigido, ecc. È perfettamente ragionevole mettere delle restrizioni su ciò che i programmi possono fare. –

13

È possibile rendere il programma un servizio e quindi apparire come "svchost". C'è un po 'di più, ma questo dovrebbe darti un suggerimento per andare nella giusta direzione.

6

Non sono a conoscenza di alcun modo per nasconderlo dal task manager, ma si potrebbe semplicemente mascherarlo facendolo apparire come "svchost.exe". Sarà accodato a tutti gli altri (di solito ce ne sono parecchi) e diventerà indistinguibile.

+0

Non proprio: è ancora possibile vedere il percorso dell'eseguibile in Task Manager. – xyz

+1

@frou: Sì, ma se lo chiami svchost.exe e lo fai cadere da qualche parte sotto c:/Windows, la maggior parte delle persone pensa che sia una normale applicazione Windows. –

+1

Blah - semplicemente chiamandolo svchost.exe è una versione più disordinata/meno efficace di ciò che samoz suggerisce :) – xyz

18

non intendo zombie questo, ma pensavo di poter contribuire alcune informazioni utili

Se si desidera nascondere un'applicazione lì a due metodi (che mi viene in mente atm).

Entrambi hanno i loro alti e bassi

[1] SSDT Tabella aggancio - in pratica è necessario impostare la MDL della tabella essere accessibile, sovrascrivere l'indirizzo di NtQuerySystemInformation (IIRC) con l'indirizzo del tuo funzione e chiamare la funzione originale dopo aver filtrato i risultati.

Questo metodo non soddisfa le tue esigenze molto bene perché la funzione di aggancio dovrebbe sempre essere in memoria e comporterebbe la scrittura di un driver in modalità kernel. È una cosa divertente da fare, ma il debug è un dolore perché un'eccezione significa un BSOD.

[2] diretto Kernel Object Manipulation (DKOM) - la lista dei processi è una lista doppiamente collegata, con un driver in modalità kernel è possibile modificare i puntatori dei record sopra e sotto processo per puntare in giro la vostra. Ciò richiede ancora l'uso di un driver in modalità kernel, ma ci sono rootkit come FU che possono essere facilmente scaricati che contengono un exe e il servizio. L'exe potrebbe essere chiamato dall'interno della tua applicazione come un processo figlio (nella versione rilasciata di FU, almeno quella che ho trovato, c'era un bug che dovevo risolvere dove se l'applicazione nascosta usciva dal computer sarebbe BSOD, era una soluzione banale).

Ciò per fortuna essere catturato da quasi qualsiasi antivirus decente quindi se si sta cercando di fare qualcosa di subdolo dovrete imparare ad andare in giro che (suggerimento: usano una firma binario)

Non ho usato metodo 1 mai ma il metodo 2 ha funzionato per me da un'applicazione VB.Net.

Una terza opzione possibile è quella di creare l'applicazione come servizio di Windows, che verrà visualizzata in Task Manager per impostazione predefinita, ma sono disposto a scommettere che c'è un modo per dirlo di non mostrarsi lì da lì ci sono molti altri servizi che non appaiono nel task manager.

Spero di aver contribuito un po ', il mio consiglio è che se siete interessati a questo tipo di cose per imparare il C++.

Problemi correlati