In che modo gli sviluppatori di software proteggono il loro codice contro le patch binarie?

1

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?

    
posta Duke Nukem 24.07.2016 - 12:04
fonte

2 risposte

5

Non puoi impedire alle persone di giocare con il tuo exe, se controlli se non è stato temperato allora correggeranno il codice che lo controlla. Una cosa che puoi fare non è distribuire l'intero programma, ma una versione che manca funzionalità di base in exe, quindi quando entrano nella patch della chiave cd che in memoria con i dati scaricati da un url che contiene la chiave cd. Quello o inviare codice crittografato a ciascun client che richiede la chiave corrispondente per decifrare.

    
risposta data 24.07.2016 - 13:35
fonte
4

In the binary, a jump (jz...) is made depending of the result.

Ci sono più complessi e multipli di tali controlli in atto. Tuttavia, si riduce esattamente a ciò che hai scritto.

So how do software developers prevent that situation ?

Assolutamente no. Non possono e qualsiasi tentativo di farlo inciderà pesantemente sull'usabilità.

Quali sono le grandi aziende di software DO: si basano sul fatto che gli utenti medi dei loro software

  • non capisco come funzioni quella protezione e a sua volta:
  • non so come eseguire il debug del codice assemblatore per trovare le 10 - 20 condizionali nel file binario e correggerle
  • non passa attraverso questa seccatura per risparmiare qualche soldo

Di conseguenza, poche persone prendono lo sforzo e pubblicano i loro risultati (noti come "crepe") su Internet che altri possono scaricare e utilizzare. È qui che le grandi aziende di software possono permettersi di intervenire con un carico di avvocati e denunciare tutti coloro che cercano di pubblicare binari patchati. Il successo di questa pratica è "discutibile" almeno.

    
risposta data 24.07.2016 - 13:00
fonte

Leggi altre domande sui tag