Detesto iniziare una risposta come questa, ma non so se la mia risposta sarà corretta al 100% perché ci sono molti modi in cui questo potrebbe essere fatto. Un modo potrebbe essere quello di agganciare una DLL a processi di sniffing predeterminati come wireshark e quindi apportare modifiche alla memoria del processo per non visualizzare alcun pacchetto inviato a uno specifico indirizzo IP (l'indirizzo IP che sta monitorando il keylogger).
Sono sicuro che ci sono altri modi, ma se stavo tentando di creare un programma anti-wireshark, è da lì che vorrei iniziare quanto a me ha senso fare.
Il programma dovrebbe semplicemente trovare l'indirizzo di memoria statica dove wireshark prepara le informazioni per la visualizzazione, intercettare i pacchetti prima di visualizzarli e quindi utilizzare un'istruzione condizionale per decidere se consentire loro di continuare nel loro modo di essere visualizzati o se impedisci che vengano visualizzati.
Tuttavia, potrebbe essere semplice come trovare il processo wireshark e quindi chiamare il comando console taskkill
per terminare il processo (come hai detto tu).