Mentre la risposta di Forest è globalmente corretta, non ha menzionato un modo importante per migliorare il livello di protezione tra le tue istanze.
In Windows, puoi usare CryptProtectMemory (e CryptProtectData) per crittografare i nostri dati con una chiave che è collegata all'utente corrente (e, nel caso di CryptProtectMemory, la chiave viene cambiata ogni volta che si riavvia la macchina).
Ciò consente di aggiungere un livello di protezione al tuo sistema: puoi usare CryptProtectMemory (specificando il flag CRYPTPROTECTMEMORY_SAME_LOGON) per limitare l'accesso alla chiave di decodifica per elaborare in esecuzione sulla stessa macchina e lo stesso utente come tuo.
Non proteggerà il tuo codice da esecuzione nello stesso contesto del tuo ma, in definitiva, non c'è nulla che ti protegga da questo.
Modifica : desidero sottolineare il fatto che dovresti utilizzare CryptProtectMemory, non CryptProtectData. CryptProtectData è inteso per i dati che devono essere trasmessi in streaming alla memoria (e quindi dovrà essere recuperato e decrittografato da un'altra sessione di windows in blocco).