Supponiamo di avere un software che controlla online un server remoto se l'input immesso da un utente (una chiave di licenza) è valido.
Il server invia un socket al client True
o False
se la licenza è corretta o meno.
Nel file binario, viene eseguito un salto ( jz
...) in base al risultato.
Penso che questa implementazione sia comune al software (correggimi se ho sbagliato su questo punto)
Il problema è che nulla può impedire a un utente malintenzionato di patchare il file binario per modificare il "salto" sopra e bypassare la convalida del controllo della chiave di licenza.
Quindi, in che modo lo sviluppatore software previene quella situazione?