Di quali conoscenze hai bisogno per creare una patch per il tuo gioco o la tua applicazione?

StackOverflow https://stackoverflow.com/questions/237331

  •  04-07-2019
  •  | 
  •  

Domanda

Sono sempre stato sconcertato dal modo in cui i produttori di software possono spedire la loro applicazione o il loro gioco, e in seguito fornire un diverso set di eseguibili che cambiano i comportamenti della build precedente. Come si fa? L'applicazione originale e la patch devono rispettare una sorta di regola? Oppure la patch esegue la scansione nell'eseguibile originale e modifica le informazioni sull'assembly? Ciò richiederebbe la conoscenza del file binario a livello di byte?

È stato utile?

Soluzione

Ci sono due metodi principali che ho visto. Molti programmi sono composti da un numero di parti più piccole che vengono caricate dinamicamente in fase di esecuzione, spesso questi file vengono semplicemente sostituiti con versioni più recenti. Poiché gli aggiornamenti influiscono spesso solo su un numero relativamente piccolo di questi file, la patch può essere un piccolo sottoinsieme dell'intera applicazione. L'altro metodo, che ho visto usato con applicazioni monolitiche più grandi, è in realtà cambiare il codice eseguibile usando una sorta di "binary diff". Uno degli svantaggi di questo approccio è che è più difficile supportare l'aggiornamento a una nuova versione da una versione diverse revisioni senza dover eseguire ogni aggiornamento incrementale.

Altri suggerimenti

Sospetto che la maggior parte delle volte, "patches" sono solo alcuni file sostitutivi.

È tuttavia possibile confrontare due file binari, determinarne le differenze e creare una serie di comandi di modifica che cambieranno l'uno nell'altro. L'utilità Unix "diff" può farlo per i file di testo, ad esempio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top