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++.
Perché dovresti voler fare qualcosa di simile? –
Non conosco la risposta, ma se lo facessi, sarei propenso a chiedere quali sono le tue ragioni per farlo prima di spiegare come procedere. –
sì, c'è: non avviarlo – RaYell