Semplicemente aggiungendo alle altre risposte perché la crittografia non ti salva da ulteriori crittografie.
Supponiamo che il tuo file contenga solo 4 lettere, "abc4" (o che tu pensi solo come una semplice stringa)
Cifra quel file con una crittografia molto semplice che prende una "password" e quindi aggiunge questo a ogni carattere del tuo file. Prendiamo "3" come password, quindi il nostro metodo di crittografia è simile a questo:
for (int i=0; i<file_length; i++){
file[i]=file[i]+3}
Aggiunge 3 a ogni spazio nel nostro file così "abc4" diventerebbe "def7"
La funzione di decriptazione per questo sarebbe la seguente (attenzione al segno - mentre "ripristiniamo" la crittografia):
for (int i=0; i<file_length; i++){
file[i]=file[i]-3}
risultante nella nostra stringa iniziale "abc4"
Se ora il ransomeware tenta di crittografare il tuo file, non gli importa se è già crittografato o meno. Prendendo il seguente metodo di crittografia per il ransomware:
for (int i=0; i<file_length; i++){
file[i]=file[i]*2}
il tuo file crittografato (def7) diventerebbe "hjl14" (diciamo solo che 10 viene dopo il 9 in quel formato).
Se ora provi a decifrare "hjl14" con il tuo metodo di sottrarre tutto per 3, otterrai "egi11" che sarebbe comunque illeggibile per te.